Contrôlé par des signaux PWM de différentes fréquences, le buzzer piézo passif peut être utilisé pour générer différents sons.

Affectation des broches

Exemple de code Arduino

Affectation des broches Arduino

Arduino Capteur
Pin 8 Signal
- +V
Masse GND

Il s'agit d'un exemple de programme qui génère un signal d'alarme sur le buzzer au moyen d'une tension rectangulaire.

int buzzer = 8 ; // Déclaration de la broche de sortie vers le buzzer
 
void setup ()
{
  pinMode (buzzer, OUTPUT) ;// Initialisation comme broche de sortie
}
 
 
void loop ()
{
  unsigned char i;
  while (1)
  {
    // Dans ce programme, le buzzer est alimenté en alternance avec deux fréquences différentes.
    // Le signal a la forme d'une tension rectangulaire.
    // Le buzzer émet un son qui correspond alternativement à chaque fréquance.
     
    //Fréquence 1
    for (i = 0; i <80; i++) 
    {
      digitalWrite (buzzer, HIGH) ;
      delay (1) ;
      digitalWrite (buzzer, LOW) ;
      delay (1) ;
    }
    //Fréquence 2
    for (i = 0; i <100; i++) 
    {
      digitalWrite (buzzer, HIGH) ;
      delay (2) ;
      digitalWrite (buzzer, LOW) ;
      delay (2) ;
    }
  }
}

Télécharger l'exemple de programme

KY006-Arduino.zip

Exemple de code Raspberry Pi

Affectation des broches Raspberry Pi

Raspberry Pi Capteur
GPIO 24 [Pin 18] Signal
3,3V [Pin 1] * +V *
Masse [Pin 6] GND

*Pour éviter une chute de la tension d'alimentation, le capteur sur le Raspberry Pi doit également être connecté à +3,3V car l'alimentation via la broche de signal peut ne pas être suffisante.

Exemple de programmation dans le langage de programmation Python.

Le programme d'exemple utilise le logiciel PWM pour créer une tension carrée avec une fréquence définissable sur la broche de sortie.

En l'allumant et en l'éteignant, un son est généré au niveau du buzzer, qui correspond approximativement à la fréquence de la tension rectangulaire.

#!/usr/bin/python
# coding=utf-8
 
# Les modules nécessaires sont importés et mis en place
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
  
  
# Déclaration de la broche de sortie raccordée au buzzer
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.OUT)
  
# Initialisation du module PWM - la fréquence de 500 Hz est prise comme valeur de départ
Frequence = 500 #In Hertz
pwm = GPIO.PWM(GPIO_PIN, Frequence)
pwm.start(50)
  
# Le programme attend l'entrée d'une nouvelle fréquence PWM par l'utilisateur.
# Jusque-là, le buzzer est alimenté par la tension de fréquence précédemment saisie (valeur initiale 500 Hz)
try:
    while(True):
        print "----------------------------------------"
        print "Fréquence actuelle: %d" % Frequence
        Frequence = input("Entrez une nouvelle fréquence (50-5000):")
        pwm.ChangeFrequency(Frequence)
          
# remise en place de tous les GPIO en entrées
except KeyboardInterrupt:
    GPIO.cleanup()

Exemple de téléchargement de programme

KY006-RPi.zip

Pour commencer avec la commande :

sudo python3 KY006.py

Exemple de code Micro:Bit

Affectation des broches Micro:Bit :

Micro:Bit Sensor
Pin 0 Signal
3V +V
Masse GND

Ceci est un exemple MakeCode pour Micro:Bit qui fait essentiellement la même chose que les exemples des deux autres variantes. Cependant, cet exemple est plus proche de celui du Raspberry Pi que de celui de l'Arduino.

Comme ce capteur est contrôlé par PWM, il doit être connecté à la broche 0 du Micro:bit puisque c'est là que se trouve la broche PWM du Micro:bit.

Veuillez noter que le capteur ne doit être connecté qu'à la broche 0 du Micro:Bit.

Téléchargement d'un exemple de programme

microbit-KY-006.zip