Le buzzer qui chante
Programme le buzzer pour jouer une mélodie : « Au clair de la lune », « Frère Jacques » ou ta sonnerie préférée. Tu codes la musique note par note.
SunuMake Découverte
Tes premiers pas avec Arduino — 8 composants inclus.
Les étapes
- 1
Matériel
1 buzzer piezo (le petit cylindre noir avec un trou au milieu), 2 fils.
- 2
Câblage minimal
La patte longue (+) du buzzer va sur la broche 8 de l'Arduino. La patte courte (−) va sur GND. C'est tout.
- 3
Téléverse et écoute
Téléverse. Tu devrais entendre les premières notes de « Frère Jacques ». Si tu n'entends rien : vérifie que le buzzer est bien dans le bon sens (les pattes sont parfois étiquetées + et −).
- 4
Écris ta propre mélodie
Dans le tableau `notes[]`, chaque note est suivie de sa durée. Cherche en ligne les fréquences (en Hz) des notes : DO=262, RÉ=294, MI=330, FA=349, SOL=392, LA=440, SI=494, DO aigu=523… Et compose ! Une sonnerie de téléphone, l'hymne sénégalais, ce que tu veux.
Le programme à téléverser
Copie ce code dans l'IDE Arduino, branche ta carte en USB et clique sur le bouton « Téléverser » (la flèche en haut à gauche).
// Le buzzer qui chante — « Frère Jacques »// Buzzer sur la broche 8.const int BUZZER = 8;// Fréquences des notes (en Hertz)const int DO = 262;const int RE = 294;const int MI = 330;const int FA = 349;const int SOL = 392;// Mélodie : note suivie de sa durée en millisecondesint melodie[][2] = { {DO, 400}, {RE, 400}, {MI, 400}, {DO, 400}, {DO, 400}, {RE, 400}, {MI, 400}, {DO, 400}, {MI, 400}, {FA, 400}, {SOL, 800}, {MI, 400}, {FA, 400}, {SOL, 800},};void setup() { pinMode(BUZZER, OUTPUT);}void loop() { for (int i = 0; i < 14; i++) { tone(BUZZER, melodie[i][0], melodie[i][1]); delay(melodie[i][1] + 50); // petite pause entre les notes } noTone(BUZZER); delay(2000); // pause de 2s avant de recommencer}Comment ça marche ?
Un son, c'est juste une vibration de l'air. Plus elle vibre vite, plus le son est aigu ; plus elle vibre lentement, plus il est grave. On mesure cette vitesse en Hertz (Hz) — le nombre de vibrations par seconde.
Le buzzer piezo contient une petite plaque qui se déforme quand on lui envoie un courant. La fonction tone(broche, fréquence, durée) fait osciller la tension à la fréquence demandée, ce qui fait vibrer la plaque, ce qui produit un son à cette hauteur.
Un tableau à deux dimensions (melodie[i][0] et melodie[i][1]) nous permet de stocker la note ET sa durée sur une seule ligne. La boucle for lit chaque ligne et joue la note correspondante. C'est ta première vraie structure de données — bienvenue dans la programmation sérieuse !