Remarque : pour ce programme, un buzzer actif est nécessaire (explication plus tard), il faut faire attention à la polarité. Aucune résistance en série n'est nécessaire pour le buzzer (haut-parleur).
Dans ce blog, nous voulons faire s'allumer ou sonner un buzzer et une LED à l'aide d'un microcontrôleur Raspberry Pi. Ce programme est souvent utilisé dans les écoles pour montrer comment des signaux de sortie simples peuvent être exploités avec des composants simples en utilisant un Raspberry Pi.
Avant d'aborder la question de la différence entre un haut-parleur actif et un haut-parleur passif, nous allons d'abord regarder le schéma et le code du programme.
Le schéma de câblage : Connecter le buzzer et la LED au Raspberry Pi
Le code source : Connecter le buzzer et la LED au Raspberry Pi
# Cette fois-ci, nous utilisons aussi la première section du programme. C'est ici que les variables sont inscrites. Cela signifie que derrière une lettre ou un mot se cache un chiffre. Dans notre cas, la LED est connectée à la broche 23 et le haut-parleur piézo à la broche 4. Pour ne pas confondre les deux broches par la suite, nous renommerons simplement la broche 23 et la broche 24.
# Nous commençons par importer les modules du programme
import RPI.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM) # Nous réglons le mode sur BCM
LED=23; # Le mot "LED" représente maintenant le nombre "23".
Pieps=24 # Le mot "Pieps" représente maintenant le nombre "24".
GPIO.setup(LED,GPIO.OUT) # La broche "LED" (broche 23) est une sortie.
GPIO.setup(Pieps,GPIO.OUT) # La broche "Pieps" (broche 24) est une sortie
# Ici commence la boucle
try:
while True: # Boucle While pour que le programme fonctionne en continu
GPIO.output(LED,GPIO.HIGH) # Allume la LED.
GPIO.output(Pieps,GPIO.HIGH) # Allume le haut-parleur piézo.
time.sleep(1) # Attendre 1 seconde
GPIO.output(LED,GPIO.LOW) # Eteint la LED.
GPIO.output(Pieps,GPIO.LOW) # Eteint le haut-parleur piézo.
time.sleep(1)
# Ici, à la fin, le programme saute au début de la boucle while. Il va donc bientôt recommencer à biper et à briller. Si tu réduis ou augmentes la pause (time.sleep),il bipe et s'allume plus rapidement ou plus lentement.
except KeyboardInterrupt : # Avec CTRL+C, nous interrompons le programme
print ("Terminé") # Ecris "Terminé" dans la fenêtre du shell
GPIO.cleanup() # Terminer le programme
Différence entre buzzers actifs et passifs
Le buzzer actif a un circuit électronique oscillant intégré (oscillateur) qui produit un son de buzz (en anglais to buzz, bourdonnement) lorsqu'il est soumis à une tension de 3,3V ou 5V. De par sa conception, il faut donc faire attention à la polarité du buzzer. A la livraison, ces buzzers ont généralement un petit autocollant avec le signe plus et l'autocollant "REMOVE SEAL AFTER WASHING". Sur le boîtier du composant lui-même, on trouve également un plus + à nouveau. Pour voir la jambe la plus longue, il faut y regarder à deux fois. Ou alors, tu peux utiliser un petit panneau de montage, les contacts sont marqués S (pour signal) et - (moins, terre).
Tu peux essayer le buzzer avec un programme simple comme pour la LED clignotante, en commutant la broche (presque) quelconque une seconde sur HIGH et une seconde sur LOW.
Le buzzer passif n'a pas d'oscillateur intégré, c'est pourquoi le Raspberry Pi doit prendre en charge cette fonction. Si l'on essaie le programme ci-dessus sur un buzzer passif, on entend un léger "clic" toutes les secondes.
Mais si l'on réduit extrêmement le temps de pause (sleep(0.001) ou sleep(0.002)) et que l'on répète l'allumage et l'extinction pendant une certaine durée, on peut entendre un son dont nous pouvons facilement calculer la fréquence : chaque milliseconde HIGH ou LOW signifie (en négligeant le temps d'exécution des autres commandes) environ 500 cycles on/off par seconde, soit environ 500Hz.
Si l'on souhaite émettre un court son d'avertissement, il faut utiliser un buzzer actif qui s'allume et s'éteint comme une LED. Il faut faire attention à la polarité.
Si tu veux programmer une sirène à deux tons (que l'on entend plus clairement) ou une courte mélodie de reconnaissance (jingle), tu devrais utiliser un buzzer passif ou un petit haut-parleur.