On peut avoir besoin d’un bipeur pour différents usages : signaler la présence du robot, faire de la musique, etc...
Plutôt qu’un afficheur textuel LCD, utiliser de simples bips en faisant varier leur nombre ou leur hauteur est un très bon moyen de déboguer son robot, surtout lorsqu’il file à toute allure sur une table de plusieurs mètres carrés.
Avec Arduino, l’utilisation d’un buzzer piezo à fréquence variable est très simple grâce à la fonction "tone" qui va générer la note de la fréquence souhaitée et grâce à un timer intégré au microcontrôleur, tenir la note pendant la durée souhaitée.
/**
* Démonstration de l’utilisation d’un buzzer piezo avec une Arduino
*
* (c) Julien Holtzer pour Pobot
*
*/
// déclaration de la patte (digital) sur laquelle le buzzer est connecté
// (via une résistance d’1k)
int pin = 4 ;
// la fréquence variable de la note qui sera jouée par le buzzer
int freq = 0 ;
/**
* Initialisation
*/
void setup()
// rien de particulier
void loop()
// on utilise une bibliothèque fournie avec la carte Arduino
// qui a l’avantage d’être non bloquante (on peut continuer et gérer autre chose)
// 3 paramètres : la patte de sortie, la fréquence et la durée du son à jouer
tone(pin, freq, 50) ;
// on doit ajouter un délai car l’appel précédent n’est pas bloquant
// donc sinon on changerait de fréquence avant d’avoir entendu le son demandé
// (on choisit un temps supérieur à la durée du son pour calmer nos oreilles)
delay(250) ;
// et on change la fréquence, par exemple en demandant une génération aléatoire
freq = random(20,400) ;
Retrouvez ce code et bien d’autres sur le Playground Pobot.
Vos commentaires
# Le 7 mai 2015 à 21:52, par Lilyan En réponse à : Buzzer ou bipeur
Des semaines que je cherche un tuto pour m’aider à faire fonctionner mon buzzer... Merci !
Répondre à ce message