SOMMAIRE ►
Projet sur Arduino Uno – piano avec boutons-poussoirs et buzzer. Le projet nécessite un nombre minimum de composants, qui sont disponibles dans n’importe quel kit de démarrage. L’article présente un schéma de l’assemblage du piano sur une planche à pain et un programme de travail pour Arduino. Vous pouvez utiliser les cartes Arduino Nano et Mega 2560 en plus de l’Uno pour construire le circuit, le programme restera inchangé.
Ce dont vous aurez besoin
- Arduino Uno / Arduino Nano / Arduino Mega
- boutons-poussoirs
- passif ou actif buzzer
- breadboard
- fils de connexion
Matériel supplémentaire sur ce sujet:
Piano Arduino avec boutons et haut-parleur piézo

Le schéma de montage peut sembler compliqué à première vue, mais il ne l’est pas du tout. Les boutons de l’horloge sont placés au centre de la planche à pain, la broche GND est connectée au contact inférieur du bouton, et le contact supérieur du bouton est connecté à la broche numérique du microcontrôleur. Le buzzer est connecté par deux contacts à la broche GND et à la pin 12. La variante présentée utilise également la LED intégrée sur la pin 13.
Programme Arduino pour Piano avec boutons et piézo
#define PIEZO 12 #define LED 13 #define BUTTON_C 10 #define BUTTON_D 9 #define BUTTON_E 8 #define BUTTON_F 7 #define BUTTON_G 6 #define BUTTON_A 5 #define BUTTON_B 4 #define BUTTON_C2 3 #define MUSICA 2 void setup() { for (byte i = 2; i <= 10; i++) { pinMode(i, INPUT_PULLUP); } pinMode(LED, OUTPUT); pinMode(PIEZO, OUTPUT); } void loop() { while (digitalRead(BUTTON_C) == LOW) { tone(PIEZO, 262, 100); digitalWrite(LED, HIGH); } while (digitalRead(BUTTON_D) == LOW) { tone(PIEZO, 294, 100); digitalWrite(LED, HIGH); } while (digitalRead(BUTTON_E) == LOW) { tone(PIEZO, 330, 100); digitalWrite(LED, HIGH); } while (digitalRead(BUTTON_F) == LOW) { tone(PIEZO, 349, 100); digitalWrite(LED, HIGH); } while (digitalRead(BUTTON_G) == LOW) { tone(PIEZO, 392, 100); digitalWrite(LED, HIGH); } while (digitalRead(BUTTON_A) == LOW) { tone(PIEZO, 440, 100); digitalWrite(LED, HIGH); } while (digitalRead(BUTTON_B) == LOW) { tone(PIEZO, 494, 100); digitalWrite(LED, HIGH); } while (digitalRead(BUTTON_C2) == LOW) { tone(PIEZO, 523, 100); digitalWrite(LED, HIGH); } if (digitalRead(MUSICA) == LOW) { midi(); } noTone(PIEZO); digitalWrite(LED, LOW); } void midi() { tone(PIEZO, 146, 706.188118812); delay(784.653465347); delay(264.851485149); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 130, 236.881188119); delay(263.201320132); delay(0.825082508251); tone(PIEZO, 130, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 130, 593.316831683); delay(659.240924092); delay(0.825082508251); tone(PIEZO, 130, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 130, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 130, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 130, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 138, 236.881188119); delay(263.201320132); delay(0.825082508251); tone(PIEZO, 138, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 138, 593.316831683); delay(659.240924092); delay(0.825082508251); tone(PIEZO, 138, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 138, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 138, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 138, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 138, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 130, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 130, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 130, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 130, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 130, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 130, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 130, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 130, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 130, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 130, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 130, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 146, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 146, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 155, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 195, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 261, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 293, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 311, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 349, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 207, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 233, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 261, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 277, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 261, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 277, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 277, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 261, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 233, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 277, 236.881188119); delay(263.201320132); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 184, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 236.881188119); delay(263.201320132); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 184, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 184, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(297.854785479); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 207, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 184, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(297.854785479); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 184, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(297.854785479); tone(PIEZO, 155, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 184, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 195, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 220, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 261, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 220, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 130, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 146, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 146, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 155, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 195, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 261, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 293, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 311, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 349, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 207, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 233, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 261, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 277, 1068.56435644); delay(1187.29372937); delay(0.825082508251); tone(PIEZO, 311, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 261, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 261, 712.128712871); delay(791.254125413); delay(0.825082508251); tone(PIEZO, 220, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 246, 1068.56435644); delay(1187.29372937); delay(0.825082508251); tone(PIEZO, 311, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 261, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 220, 712.128712871); delay(791.254125413); delay(0.825082508251); tone(PIEZO, 220, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 246, 1068.56435644); delay(1187.29372937); delay(0.825082508251); tone(PIEZO, 311, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 261, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 220, 712.128712871); delay(791.254125413); delay(0.825082508251); tone(PIEZO, 220, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 246, 1068.56435644); delay(1187.29372937); delay(0.825082508251); tone(PIEZO, 311, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 233, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 233, 712.128712871); delay(791.254125413); delay(0.825082508251); tone(PIEZO, 174, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 155, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 155, 88.3663366337); delay(98.1848184818); delay(297.854785479); tone(PIEZO, 164, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 195, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 195, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 220, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 261, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 220, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 130, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 146, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 146, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 155, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 195, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 261, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 293, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 311, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 349, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 207, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 233, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 261, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 277, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 261, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 277, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 277, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 261, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 233, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 277, 236.881188119); delay(263.201320132); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 184, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 236.881188119); delay(263.201320132); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 184, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 184, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(297.854785479); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 207, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 184, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(297.854785479); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 184, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 184, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(297.854785479); tone(PIEZO, 155, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 184, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 195, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 220, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 261, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 220, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 174, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 130, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 146, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 146, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 146, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 155, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 195, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 207, 266.584158416); delay(296.204620462); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 261, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 293, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 311, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 349, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 207, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 207, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 233, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 261, 118.069306931); delay(131.188118812); delay(0.825082508251); tone(PIEZO, 277, 1068.56435644); delay(1187.29372937); delay(0.825082508251); tone(PIEZO, 311, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 261, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 261, 712.128712871); delay(791.254125413); delay(0.825082508251); tone(PIEZO, 220, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 246, 1068.56435644); delay(1187.29372937); delay(0.825082508251); tone(PIEZO, 311, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 261, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 220, 712.128712871); delay(791.254125413); delay(0.825082508251); tone(PIEZO, 220, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 246, 1068.56435644); delay(1187.29372937); delay(0.825082508251); tone(PIEZO, 311, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 261, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 220, 712.128712871); delay(791.254125413); delay(0.825082508251); tone(PIEZO, 220, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 246, 1068.56435644); delay(1187.29372937); delay(0.825082508251); tone(PIEZO, 311, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 233, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 233, 712.128712871); delay(791.254125413); delay(0.825082508251); tone(PIEZO, 174, 355.693069307); delay(395.214521452); delay(0.825082508251); tone(PIEZO, 155, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 155, 88.3663366337); delay(98.1848184818); delay(297.854785479); tone(PIEZO, 164, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 174, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 195, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 195, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 220, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 233, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 261, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 220, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 88.3663366337); delay(98.1848184818); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 110, 177.475247525); delay(197.194719472); delay(0.825082508251); tone(PIEZO, 146, 1425.0); delay(1583.33333333); }
Explication du code pour piano avec boutons et buzzer:
- les broches pour la connexion des boutons sont configurées en mode INPUT_PULLUP à l’intérieur de la boucle for();
- lorsque le bouton est pressé, la LED intégrée doit s’allumer.
Conclusion. Le buzzer (haut-parleur piézo) est contrôlé par le microcontrôleur Arduino à l’aide des commandes tone et noTone. Les buzzers actifs et passifs peuvent être utilisés dans le projet. La fonction void midi() contient une mélodie de démonstration sur le piano, que vous pouvez remplacer par votre propre mélodie. Nous espérons que notre projet sera intéressant et utile pour vous dans le processus d’apprentissage du langage Arduino.








Plus comprendre et pouvoir le réaliser
Enregistrement Local
// Fonction pour enregistrer localement le contenu de l’input
function enregistrerNom() {
var nom = document.getElementById(« nom »).value;
localStorage.setItem(« nom », nom);
document.getElementById(« nomSauvegarde »).innerText = « Bonjour, » + nom + « ! »;
}
// Vérifie s’il y a un nom enregistré localement et l’affiche
window.onload = function() {
var nom = localStorage.getItem(« nom »);
if (nom) {
document.getElementById(« nomSauvegarde »).innerText = « Bonjour, » + nom + « ! »;
}
}
Entrez votre nom :
Enregistrer