Comme tout papa qui aime faire plaisir à sa fille, je me suis pris un petit moment hier soir pour recréer la musique de la Reine des Neiges avec mon Arduino !
Bon en réalité c'est plus rigolo que ça, je me suis servi d'une commande obsolète de drone pour lui faire jouer la musique ^^
(Il faudra peut être monter le volume à la fin de la vidéo pour entendre la musique)
Matériel
Côté matos il vous faudra pas grand-chose :
Un Arduino
2 fil
1 piezo buzzer
Montage
Et côté montage, on va brancher un fil sur le GND, et un autre sur la pin 7 (pour l'exemple)
Logiciel
Et c'est là que je vais être un peu plus bavard ...
Tout d'abord nous devons définir la pin correspondante à notre Piezo Buzzer
(Ici nous avons fait les branchements sur la 7) :
int MusiquePin = 7;
Je vais créer 2 tableaux de données.
L'un contiendra les temps (en millisecondes) :
void loop() { int i = 0; // Lecture du tableau de note ... lorsque nous lisons un 0 c'est que c'est la fin while (PrincesseDesNeigesNote[i] != 0){ //On joue la note tone(MusiquePin, PrincesseDesNeigesNote[i],PrincesseDesNeigesRytm[i]); //On attend X millisecondes (durée de la note) avant de passer à la suivante delay(PrincesseDesNeigesRytm[i]); //On arrête la lecture de la note noTone(MusiquePin); //On marque une courte pose (entre chaque note, pour les différencer) delay(50); //On passe à la note suivante ++i; } }
Conclusion
Et voilà !!!
Vous allez pouvoir vous aussi vous fabriquer votre petit Tuner Reine des Neiges !!!
Surtout ne jeter pas vos appareils électronique ! Il y a toujours pleins de composant vraiment intéressant à l’intérieur !
Excellente question … alors je ne sais pas pourquoi j’ai fait ça comme ça à l’époque (2016)
Cependant on peut imaginer que c’était pour mieux espacer les notes ;)
il faut que la sortie soit inactive pour que la fonction tone puisse changer le signal or une instruction met quelques ms à s’effectuer donc il faut bloquer avec un delay le déroulement du programme avant de pouvoir passer à la note suivante qui correspond à une nouvelle instruction tone.
bonjour,
Je débute.
Pourquoi on déclare le rythme deux fois
[pastacode lang="c" manual="while%20(PrincesseDesNeigesNote%5Bi%5D%20!%3D%200)%7B%0A%09%20%20%09%2F%2FOn%20joue%20la%20note%0A%09%09tone(MusiquePin%2C%20PrincesseDesNeigesNote%5Bi%5D%2CPrincesseDesNeigesRytm%5Bi%5D)%3B%0A%09%20%20%20%20%20%20%09%2F%2FOn%20attend%20X%20millisecondes%20(dur%C3%A9e%20de%20la%20note)%20avant%20de%20passer%20%C3%A0%20la%20suivante%0A%09%09delay(PrincesseDesNeigesRytm%5Bi%5D)%3B%0A%09%20%20%09%2F%2FOn%20arr%C3%AAte%20la%20lecture%20de%20la%20note" message="" highlight="" provider="manual"/]
Coucou Paul,
Excellente question … alors je ne sais pas pourquoi j’ai fait ça comme ça à l’époque (2016)
Cependant on peut imaginer que c’était pour mieux espacer les notes ;)
Dyrk
Bonjour,
il faut que la sortie soit inactive pour que la fonction tone puisse changer le signal or une instruction met quelques ms à s’effectuer donc il faut bloquer avec un delay le déroulement du programme avant de pouvoir passer à la note suivante qui correspond à une nouvelle instruction tone.
merci pour le partage du code!
SAlut je suis fan de la reine des neiges. merci beaucoup hhhhhhhhhh. Au fais pourrais vous faire une version rap des CP?
MErci beaucoup, Jean EDward
Bonsoir
merci, Éloïse est très contente de la musique que j’ai rajouté sur mon horloge Arduino.
Bonne continuation.
Benoit
Bonjour Monsieur,
Merci infiniment, ma fille va être ravie de son nouveau réveil matin.
Cordialement
Un père soulagé