Piano Arduino avec manuel et 7 morceaux présélectionnés: 7 étapes

Piano Arduino avec manuel et 7 morceaux présélectionnés: 7 étapes

Table des matières:

Anonim

Le clavier Arduino Piano s'interfaçant avec l'écran LCD dispose de 2 modes.

Le mode manuel et le mode préréglage. J'ai utilisé le bouton 7 pour un piano à 7 touches et 1 bouton pour le mode Configuration pour passer à 7 morceaux présélectionnés.

. Chansons en mode prédéfini: Cliquez d'abord sur le bouton du mode de configuration.

  1. super mario étape 1
  2. super mario étape 2
  3. Pour Élise
  4. despacito
  5. joie au monde
  6. vive le vent
  7. guerres des étoiles

Provisions:

Étape 1: matériaux

Matériaux:

  • Arduino UNO (j'en ai utilisé un clone)
  • Planche à pain (long)
  • 1 LED (n'importe quelle couleur que vous voulez. J'ai utilisé du bleu)
  • 8 - résistance 10k ohms
  • 2 - résistance 220 ohms
  • 1 sonnerie piézo
  • 8- bouton tactile
  • Fils de connexion (mâle à mâle) - au moins 40pcs
  • 1 écran LCD 16x2 avec broches d’entête (j’ai utilisé un écran lcd avec rétroéclairage)
  • Potentiomètre

Étape 2: Connexions par bouton-poussoir

Bouton poussoir a 4 broches. Par défaut (le bouton n'est pas enfoncé), A et B sont connectés, C et D sont également connectés. Donc, si le bouton est enfoncé, ABCD sont tous connectés.

1.) Connectez la broche D du bouton-poussoir avec une résistance de 10 kilo ohms (peu importe la jambe qui cause la résistance n’a pas de polarité). L'autre jambe de la résistance est connectée à la terre (GND) de l'Arduino.

2.) Connectez la broche B du bouton-poussoir à 5 volts (5V) de l’Arduino.

3.) Connectez la broche C du bouton-poussoir aux broches de l’Arduino (2,3,4,5,6,7, A0, A1).

Étape 3: Connexions des voyants

La diode électroluminescente (LED) a une polarité, la jambe de l'anode qui est le positif et la jambe de la cathode qui est le négatif. La luminosité de la LED dépend de la résistance que vous utilisez. J'ai utilisé 220 ohms.

1.) Connectez la jambe de l'anode ou la jambe la plus longue de la LED à une résistance de 220 ohms.

2.) Connectez l’autre jambe de la résistance aux broches de l’Arduino (A5).

3.) Connectez la jambe de cathode de la LED à la terre (GND).

Étape 4: Connexions Piezobuzzer

La sonnerie a deux jambes. Recherchez la marque + et c’est la jambe positive.

  • Connectez le bras positif à la broche A2 Arduino.
  • Connectez l'autre jambe à la terre.

Étape 5: Connexions de l’affichage à cristaux liquides et du potentiomètre

Connexions LCD à Arduino

  1. VSS -> GND
  2. VDD -> 5v
  3. VO (goupille de contraste d'affichage) -> jambe médiane du potentiomètre
  4. RS (Register Select) -> Arduino D8
  5. R / W (lecture / écriture) -> GND
  6. E (Activer) -> Arduino D9
  7. D0 -> non connecté
  8. D1 -> non connecté
  9. D2 -> non connecté
  10. D3 -> non connecté
  11. D4 -> Arduino D10
  12. D5 -> Arduino D11
  13. D6 -> Arduino D12
  14. D7 -> Arduino D13
  15. A -> 200 ohms de résistance à 5v
  16. K -> GND

Étape 6: Schéma

Étape 7: Code du programme:)

lien:

#define NOTE_C 262

#define NOTE_D 294 #define NOTE_E 330 #define NOTE_F 349 #define NOTE_G 392 #define NOTE_A 440 #define NOTE_B 493

#comprendre

const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; Liquid Crystal Crystal (rs, en, d4, d5, d6, d7);

////// despacito ////

int noteDuration; int pauseBetweenNotes = 0; int negra; //////////////////// STAR WARS ////////// const int c = 261; const int d = 294; const int e = 329; const int f = 349; const int g = 391; const int gS = 415; const int a = 440; const int aS = 455; const int b = 466; const int cH = 523; const int cSH = 554; const int dH = 587; const int dSH = 622; const int eH = 659; const int fH = 698; const int fSH = 740; const int gH = 784; const int gSH = 830; const int aH = 880; int counter = 0; //////////////////////////////////// #define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 58 #define NOTE_B1 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_G2 NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3185 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 440 #define NOTE_AS4 466 #def Dans le même ordre d'idées, il 987 #define NOTE_C6 1047 #define définissez NOTE_C7 2093 #define NOTE 4186 #define NOTE_CS8 4435 #define NOTE_D8 4699 #define NOTE_DS8 4978

///////////////////////// MARIO ///////////////////////// #define melodyPin PIEZO // Mélodie thème principal Mario int mélodie = {NOTE_E7, NOTE_E7, 0, NOTE_E7, 0, NOTE_C7, NOTE_E7, 0, NOTE_G7, 0, 0, 0, NOTE_G6, 0, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, NOTE_E7, NOTE_E7, NOTE_E7, NOTE_E7, NOTE_E7, NOTE_B6, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_G7, NOTE_A7, NOTE_A7, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 0, 0}; // Mario main them tempo int tempo = {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,}; // Underworld melody underworld_melody = {NOTE_C4, NOTE_C5, NOTE_A3, NOTE_A4, NOTE_AS3, NOTE_AS4, 0, 0, NOTE_C4, NOTE_A3, NOTE_A4, NOTE_AS3, NOTE_AS3, NOTE_F3, NOTE_DS3, NOTE_DS4, 0, 0, NOTE_F3, NOTE_F4, NOTE_D3, NOTE_D4, NOTE_DS3, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_G NOTE_AS4, NOTE_A4, NOTE_GS4, NOTE_DS4, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_GS3, 0, 0, 0}; // Underworld Tempo Int Underworld_Tempo = {12, 12, 12, 12, 12, 12, 6, 3, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 3, 12, 12, 12, 12, 12, 12, 6, 6, 6, 18, 18, 18, 18, 6, 6, 6, 6, 6, 6, 6, 18, 18, 18, 18, 18, 18, 10, 10, 10, 10, 10, 10, 3, 3, 3}; /////////////////////////////////POUR ÉLISE/////////////// // // Fur Elise -> Melody int melody1 = {NOTE_E5, NOTE_DS5, NOTE_E5, NOTE_DS5, NOTE_E5, NOTE_B4, NOTE_B5, NOTE_C5, NOTE_A4, NOTE_C4, NOTE_E4, NOTE_A4, NOTE_A4, NOTE_B4, NOTE_E4, NOTE_G4, NOTE_E4, NOTE_Emportement NOTE_d NOTE_C5, NOTE_A4, NOTE_C4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_E4, NOTE_GS4, NOTE_B4, NOTE_C4, NOTE_E4, NOTE_E5, NOTE_DS5, NOTE_E5, NOTE_DS5, NOTE_E5, NOTE_B4, NOTE_D5, NOTE_C5, NOTE_A4, NOTE_C4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_E4, NOTE_C5, NOTE_B4, NOTE_A4, NOTE_A4, 0,};

// tempo principal de 'Fur Elise' int tempo1 = {9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 3, 9, 9, 9, 3, 9, 9, 9, 3, 9, 9, 9, 3, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 3, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 3, 8, 8, 8, 1, 9,}; ////////////////////////////////////////// const int BUTTON_C = 2; const int BUTTON_D = 3; const int BUTTON_E = 4; const int BUTTON_F = 5; const int BUTTON_G = 6; const int BUTTON_A = 7; const int BUTTON_B = A0; const int PB = A1; const int LEDBLUE = A5; int buttonStateC = 0; // variable permettant de lire l'état du bouton poussoir int buttonStateD = 0; // variable permettant de lire l'état du bouton poussoir int buttonStateE = 0; // variable permettant de lire l'état du bouton poussoir int buttonStateF = 0; // variable permettant de lire l'état du bouton poussoir int buttonStateG = 0; // variable permettant de lire l'état du bouton poussoir int buttonStateA = 0; // variable permettant de lire l'état du bouton poussoir int buttonStateB = 0; // variable pour lire l'état du bouton

int var1 = 0; int var2 = 0; int var3 = 0; int var4 = 0; int var5 = 0; int var6 = 0; int var7 = 0; int VAR1 = 0; const int PIEZO = A2; void setup () {pinMode (BUTTON_C, INPUT); pinMode (BUTTON_D, INPUT); pinMode (BUTTON_E, INPUT); pinMode (BUTTON_F, INPUT); pinMode (BUTTON_G, INPUT); pinMode (BUTTON_A, INPUT); pinMode (BUTTON_B, INPUT); pinMode (PB, INPUT); pinMode (LEDBLUE, OUTPUT); lcd.begin (16, 2); pinMode (PIEZO, OUTPUT); // signal sonore négatif = 640; }

boucle vide () {int push = digitalRead (PB);

if (push == HIGH) {lcd.setCursor (0, 0); lcd.print ("1SM 2SM 3ELI 4DES"); lcd.setCursor (0, 1); lcd.print ("5JOY 6JING 7S TAR"); VAR1 = VAR1 + 1; délai (300); }

if (VAR1 == 1) {presets (); digitalWrite (LEDBLUE, HIGH); } else {manualpiano (); digitalWrite (LEDBLUE, LOW); VAR1 = 0; }}

void manualpiano () {buttonStateC = digitalRead (BUTTON_C); buttonStateD = digitalRead (BUTTON_D); buttonStateE = digitalRead (BUTTON_E); buttonStateF = digitalRead (BUTTON_F); buttonStateG = digitalRead (BUTTON_G); buttonStateA = digitalRead (BUTTON_A); buttonStateB = digitalRead (BUTTON_B);

lcd.setCursor (0, 0); lcd.print ("Piano ManualMode"); if (buttonStateC == HIGH) {tone (PIEZO, NOTE_C); lcd.setCursor (0, 1); lcd.print ("DO"); lcd.setCursor (15, 1); lcd.print ("C"); lcd.setCursor (7, 1); lcd.print ("1"); } else if (buttonStateD == HIGH) {tone (PIEZO, NOTE_D); lcd.setCursor (7, 1); lcd.print ("2"); lcd.setCursor (0, 1); lcd.print ("RE"); lcd.setCursor (15, 1); lcd.print ("D"); }

else if (buttonStateE == HIGH) {tone (PIEZO, NOTE_E); lcd.setCursor (7, 1); lcd.print ("3"); lcd.setCursor (0, 1); lcd.print ("MI"); lcd.setCursor (15, 1); lcd.print ("E"); }

else if (buttonStateF == HIGH) {tone (PIEZO, NOTE_F); lcd.setCursor (7, 1); lcd.print ("4"); lcd.setCursor (0, 1); lcd.print ("FA"); lcd.setCursor (15, 1); lcd.print ("F"); }

else if (buttonStateG == HIGH) {tone (PIEZO, NOTE_G); lcd.setCursor (7, 1); lcd.print ("5"); lcd.setCursor (0, 1); lcd.print ("SO"); lcd.setCursor (15, 1); lcd.print ("G"); }

else if (buttonStateA == HIGH) {tone (PIEZO, NOTE_A); lcd.setCursor (7, 1); lcd.print ("6"); lcd.setCursor (0, 1); lcd.print ("LA"); lcd.setCursor (15, 1); lcd.print ("A"); }

else if (buttonStateB == HIGH) {tone (PIEZO, NOTE_B); lcd.setCursor (7, 1); lcd.print ("7"); lcd.setCursor (0, 1); lcd.print ("TI"); lcd.setCursor (15, 1); lcd.print ("B"); } else {noTone (PIEZO); }}

void presets () {buttonStateC = digitalRead (BUTTON_C); buttonStateD = digitalRead (BUTTON_D); buttonStateE = digitalRead (BUTTON_E); buttonStateF = digitalRead (BUTTON_F); buttonStateG = digitalRead (BUTTON_G); buttonStateA = digitalRead (BUTTON_A); buttonStateB = digitalRead (BUTTON_B);

if (buttonStateC == HIGH) {var1 = 1; var2 = 0; var3 = 0; var4 = 0; var5 = 0; var6 = 0; var7 = 0; } if (buttonStateD == HIGH) {var1 = 0; var2 = 1; var3 = 0; var4 = 0; var5 = 0; var6 = 0; var7 = 0; } if (buttonStateE == HIGH) {var1 = 0; var2 = 0; var3 = 1; var4 = 0; var5 = 0; var6 = 0; var7 = 0; } if (buttonStateF == HIGH) {var1 = 0; var2 = 0; var3 = 0; var4 = 1; var5 = 0; var6 = 0; var7 = 0; } if (buttonStateG == HIGH) {var1 = 0; var2 = 0; var3 = 0; var4 = 0; var5 = 1; var6 = 0; var7 = 0; } if (buttonStateA == HIGH) {var1 = 0; var2 = 0; var3 = 0; var4 = 0; var5 = 0; var6 = 1; var7 = 0; } if (buttonStateB == HIGH) {var1 = 0; var2 = 0; var3 = 0; var4 = 0; var5 = 0; var6 = 0; var7 = 1; }

if (var1 == 1) {pour (var1 = 0; var1> = var1; var1 ++) {lcd.setCursor (0, 0); lcd.print ("Now Playing !!!!!"); lcd.setCursor (0, 1); lcd.print ("Super Mario !!!!"); chanter (1); var1 = 0; if (var1 == 0) {noTone (PIEZO); délai (100); Pause; }}} else if (var2 == 1) {pour (var2 = 0; var2> = var2; var2 ++) {lcd.setCursor (0, 0); lcd.print ("Now Playing !!!!!"); lcd.setCursor (0, 1); lcd.print ("SuperMario2 !!!!"); chanter (2); var2 = 0; if (var2 == 0) {noTone (PIEZO); délai (100); Pause; }}} else if (var3 == 1) {pour (var3 = 0; var3> = var3; var3 ++) {lcd.setCursor (0, 0); lcd.print ("Now Playing !!!!!"); lcd.setCursor (0, 1); lcd.print ("Elise !!!!!!!"); elise (1); var3 = 0; if (var3 == 0) {noTone (PIEZO); délai (100); Pause; }}} else if (var4 == 1) {pour (var4 = 0; var4> = var4; var4 ++) {lcd.setCursor (0, 0); lcd.print ("Now Playing !!!!!"); lcd.setCursor (0, 1); lcd.print ("Despacito !!!!!"); despacito (); var4 = 0; if (var4 == 0) {noTone (PIEZO); délai (100); Pause; }}}

else if (var5 == 1) {pour (var5 = 0; var5> = var5; var5 ++) {lcd.setCursor (0, 0); lcd.print ("Now Playing !!!!!"); lcd.setCursor (0, 1); lcd.print ("Joy_to_the_World!"); Joie au monde(); var5 = 0; if (var5 == 0) {noTone (PIEZO); délai (100); Pause; }}} else if (var6 == 1) {pour (var6 = 0; var6> = var6; var6 ++) {lcd.setCursor (0, 0); lcd.print ("Now Playing !!!!!"); lcd.setCursor (0, 1); lcd.print ("Jingle_Bells !!!"); Vive le vent(); var6 = 0; if (var6 == 0) {noTone (PIEZO); délai (100); Pause; }}} else if (var7 == 1) {pour (var7 = 0; var7> = var7; var7 ++) {lcd.setCursor (0, 0); lcd.print ("Now Playing !!!!"); lcd.setCursor (0, 1); lcd.print ("starwars !!!!!"); guerres des étoiles(); var7 = 0; if (var7 == 0) {noTone (PIEZO); délai (100); Pause; }}} else {noTone (PIEZO); }}

///////////////////////// MARIO ////////////////////////// int song = 0; void sing (int s) {// itère sur les notes de la mélodie: song = s; if (song == 2) {Serial.println ("'Underworld Theme'"); int size = sizeof (underworld_melody) / sizeof (int); for (int thisNote = 0; thisNote <taille; thisNote ++) {// pour calculer la durée de la note, prenez une seconde // divisée par le type de note. //par exemple. quart de note = 1000/4, croche = 1000/8, etc. int noteDurée = 1000 / underworld_tempo thisNote; buzz (melodyPin, underworld_melody thisNote, noteDurée); // pour distinguer les notes, définissez un délai minimal entre elles. // la durée de la note + 30% semble bien fonctionner: int pauseBetweenNotes = noteDuration * 1.30; délai (pauseBetweenNotes); // arrête la lecture du son: buzz (melodyPin, 0, noteDuration); }} else {Serial.println ("'Mario Theme'"); int size = sizeof (mélodie) / sizeof (int); for (int thisNote = 0; thisNote <taille; thisNote ++) {// pour calculer la durée de la note, prenez une seconde // divisée par le type de note. //par exemple. quart de note = 1000/4, croche = 1000/8, etc. int noteDurée = 1000 / tempo thisNote; buzz (melodyPin, melody thisNote, noteDuration); // pour distinguer les notes, définissez un délai minimal entre elles. // la durée de la note + 30% semble bien fonctionner: int pauseBetweenNotes = noteDuration * 1.30; délai (pauseBetweenNotes); // arrête la lecture du son: buzz (melodyPin, 0, noteDuration); }}} /////////////////////// FUR ELISE ///////////////// int fur = 0; void elise (int s) {fur = s; if (fur == 1) {Serial.println ("'Fur Elise'"); int size = sizeof (mélodie) / sizeof (int); for (int thisNote = 0; thisNote <taille; thisNote ++) {int noteDurée = 1000 / tempo1 thisNote; buzz (melodyPin, melody1 thisNote, noteDuration); int pauseBetweenNotes = noteDurée * 1.30; délai (pauseBetweenNotes); buzz (melodyPin, 0, noteDuration); }}} ////////////////////// FUR ELISE /////////////// void buzz (int targetPin, longue fréquence, longue durée) {long delayValue = 1000000 / fréquence / 2; // calcule la valeur de délai entre les transitions //// 1 seconde de microsecondes, divisée par la fréquence, puis divisée en deux car //// il y a deux phases à chaque cycle long numCycles = frequency * length / 1000; // calcule le nombre de cycles pour une synchronisation correcte //// multiplie la fréquence, qui est en réalité des cycles par seconde, par le nombre de secondes pour //// obtenir le nombre total de cycles à produire pour (long i = 0; i <numCycles; i ++) {// pour la durée calculée … digitalWrite (targetPin, HIGH); // écrit la broche supérieure du signal sonore pour extraire le diaphram delayMicroseconds (delayValue); // attend la valeur de délai calculée digitalWrite (targetPin, LOW); // écrit la broche buzzer sur le niveau bas pour extraire le diaphram delayMicroseconds (delayValue); // attend à nouveau ou la valeur de délai calculée}}

////////////// DESPACITO /////// void despacito () {notars (negra, NOTE_D5); notars (negra, NOTE_CS5); // (1) notars (negra / 2, NOTE_B4); notars (negra / 4, NOTE_FS4); // (2) delay (negra / 4); // (3) notars (negra / 4, NOTE_FS4); notars (negra / 4, NOTE_FS4); // (4) notars (negra / 4, NOTE_FS4); notars (negra / 4, NOTE_FS4); // (1) notars (negra / 4, NOTE_FS4);

notars (negra / 4, NOTE_B4); notars (negra / 4, NOTE_B4); // (2) notars (negra / 4, NOTE_B4); // (3) notars (negra / 2, NOTE_B4); // (4)

notars (negra / 4, NOTE_A4); notars (negra / 4, NOTE_B4); // (1) delay (negra / 4); délai (negra / 4); notars (negra / 4, NOTE_G4); // (2) delay (negra / 4); // (3) // …… notars (negra / 4, NOTE_G4); notars (negra / 4, NOTE_G4); // (4) notars (negra / 4, NOTE_G4); notars (negra / 4, NOTE_G4); // (1) notars (negra / 4, NOTE_G4);

notars (negra / 4, NOTE_B4); notars (negra / 4, NOTE_B4); // (2) notars (negra / 4, NOTE_B4); // (3) notars (negra / 2, NOTE_B4); // (4) notars (negra / 4, NOTE_CS5); notars (negra / 4, NOTE_D5); // (1) delay (negra / 4); délai (negra / 4); notars (negra / 4, NOTE_A4); // (2) delay (negra / 4); // (3) notars (negra / 4, NOTE_A4); notars (negra / 4, NOTE_A4); // (4) notars (negra / 4, NOTE_A4); notars (negra / 4, NOTE_A4); // (1) notars (negra / 4, NOTE_D5); notars (negra / 4, NOTE_CS5); notars (negra / 4, NOTE_D5); // (2) notars (negra / 4, NOTE_CS5); // (3) notars (negra / 2, NOTE_D5); // (4) // notars (negra / 4, NOTE_E5); notars_jai (negra / 2, NOTE_E5, negra / 4); // (1) // notars (negra / 2, NOTE_E5);

//----------------------------------------------- Ton (PIEZO, NOTE_CS5, negra * 3/4); //----------------------------------------------- retard (negra / 4); délai (negra / 4); // (2) delay (negra / 4); // (3) noTone (PIEZO); délai (negra / 4); // -------------- delay (negra / 4); // (4)

délai (negra / 4); délai (negra / 4); } void notars (int noteDuration, int LaNota) {

// noteDurée = negra / 4; tonalité (PIEZO, LaNota, noteDurée * 0,9); // pauseBetweenNotes = noteDuration * 1.30; pauseBetweenNotes = noteDurée * 1.1; délai (pauseBetweenNotes); noTone (PIEZO);

} void notars_jai (int noteDurée, int LaNota, int Desfase) {

// noteDurée = negra / 4; tonalité (PIEZO, LaNota, noteDurée * 0,9); // pauseBetweenNotes = noteDuration * 1.30; pauseBetweenNotes = noteDurée * 1.1; délai (Desfase); délai (pauseBetweenNotes-Desfase); noTone (PIEZO);

} ////////////////////////////////// STAR WARS /////////// Annuler le bip (int note, int durée) {// Reproduction de la tonalité PIEZO (PIEZO, note, durée); // Lecture de différentes DEL en fonction de la valeur de 'compteur' if (compteur% 2 == 0) {digitalWrite (LED1, HIGH); digitalWrite (LED2, HIGH); digitalWrite (LED3, HIGH); digitalWrite (LED4, HIGH); délai (durée); digitalWrite (LED1, FAIBLE); digitalWrite (LED2, BAS); digitalWrite (LED3, BAS); digitalWrite (LED4, BAS); } else {digitalWrite (LED5, HIGH); digitalWrite (LED6, HIGH); digitalWrite (LED7, HIGH); délai (durée); digitalWrite (LED5, BAS); digitalWrite (LED6, BAS); digitalWrite (LED7, BAS); } // Arrêter la tonalité sur PIEZO noTone (PIEZO); retarder (50); // Increment counter counter ++; } void firstSection () {bip (a, 500); bip (a, 500); bip (a, 500); bip (f, 350); bip (cH, 150); bip (a, 500); bip (f, 350); bip (cH, 150); bip (a, 650); retard (500); bip (eH, 500); bip (eH, 500); bip (eH, 500); bip (fH, 350); bip (cH, 150); bip (gS, 500); bip (f, 350); bip (cH, 150); bip (a, 650); retard (500); } void secondSection () {beep (aH, 500); bip (a, 300); bip (a, 150); bip (aH, 500); bip (gSH, 325); bip (GH, 175); bip (fSH, 125); bip (fH, 125); bip (fSH, 250); retard (325); bip (aS, 250); bip (dSH, 500); bip (dH, 325); bip (cSH, 175); bip (cH, 125); bip (b, 125); bip (cH, 250); délai (350); } ////////////////////////////////////////////// JINGLE BELL ///// void Jingle_Bells () {

le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 293, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 391, 187,5); retarder (208,333333333); ton (PIEZO, 293, 562,5); retard (625,0); ton (PIEZO, 293, 93,75); délai (104.166666667); ton (PIEZO, 293, 93,75); délai (104.166666667); le ton (PIEZO, 293, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 391, 187,5); retarder (208,333333333); ton (PIEZO, 329, 750,0); retard (833,333333333); le ton (PIEZO, 329, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); ton (PIEZO, 369, 750,0); retard (833,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); ton (PIEZO, 493, 750,0); retard (833,333333333); le ton (PIEZO, 293, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 391, 187,5); retarder (208,333333333); ton (PIEZO, 293, 750,0); retard (833,333333333); le ton (PIEZO, 293, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 391, 187,5); retarder (208,333333333); ton (PIEZO, 329, 656,25); retard (729.166666667); ton (PIEZO, 329, 93,75); délai (104.166666667); le ton (PIEZO, 329, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 659, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); ton (PIEZO, 391, 375,0); retard (416,666666667); ton (PIEZO, 587, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); ton (PIEZO, 391, 281,25); retard (312,5); ton (PIEZO, 440, 93,75); délai (104.166666667); ton (PIEZO, 493, 750,0); retard (833,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); ton (PIEZO, 523, 281,25); retard (312,5); ton (PIEZO, 523, 93,75); délai (104.166666667); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 93,75); délai (104.166666667); ton (PIEZO, 493, 93,75); délai (104.166666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 440, 375,0); retard (416,666666667); ton (PIEZO, 587, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); ton (PIEZO, 391, 281,25); retard (312,5); ton (PIEZO, 440, 93,75); délai (104.166666667); ton (PIEZO, 493, 750,0); retard (833,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); ton (PIEZO, 523, 281,25); retard (312,5); ton (PIEZO, 523, 93,75); délai (104.166666667); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 93,75); délai (104.166666667); ton (PIEZO, 493, 93,75); délai (104.166666667); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); ton (PIEZO, 391, 375,0); retard (416,666666667); le ton (PIEZO, 783, 187,5); retarder (208,333333333); retarder (208,333333333); le ton (PIEZO, 293, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 391, 187,5); retarder (208,333333333); ton (PIEZO, 293, 562,5); retard (625,0); ton (PIEZO, 293, 93,75); délai (104.166666667); ton (PIEZO, 293, 93,75); délai (104.166666667); le ton (PIEZO, 293, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 391, 187,5); retarder (208,333333333); ton (PIEZO, 329, 750,0); retard (833,333333333); le ton (PIEZO, 329, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); ton (PIEZO, 369, 750,0); retard (833,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); ton (PIEZO, 493, 750,0); retard (833,333333333); le ton (PIEZO, 293, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 391, 187,5); retarder (208,333333333); ton (PIEZO, 293, 750,0); retard (833,333333333); le ton (PIEZO, 293, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 391, 187,5); retarder (208,333333333); ton (PIEZO, 329, 656,25); retard (729.166666667); ton (PIEZO, 329, 93,75); délai (104.166666667); le ton (PIEZO, 329, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); ton (PIEZO, 587,187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 659, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); ton (PIEZO, 391, 375,0); retard (416,666666667); ton (PIEZO, 587, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); ton (PIEZO, 391, 281,25); retard (312,5); ton (PIEZO, 440, 93,75); délai (104.166666667); ton (PIEZO, 493, 750,0); retard (833,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); ton (PIEZO, 523, 281,25); retard (312,5); ton (PIEZO, 523, 93,75); délai (104.166666667); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 93,75); délai (104.166666667); ton (PIEZO, 493, 93,75); délai (104.166666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 440, 375,0); retard (416,666666667); ton (PIEZO, 587, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 375,0); retard (416,666666667); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); ton (PIEZO, 391, 281,25); retard (312,5); ton (PIEZO, 440, 93,75); délai (104.166666667); ton (PIEZO, 493, 750,0); retard (833,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); ton (PIEZO, 523, 281,25); retard (312,5); ton (PIEZO, 523, 93,75); délai (104.166666667); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); le ton (PIEZO, 493, 187,5); retarder (208,333333333); ton (PIEZO, 493, 93,75); délai (104.166666667); ton (PIEZO, 493, 93,75); délai (104.166666667); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 587, 187,5); retarder (208,333333333); le ton (PIEZO, 523, 187,5); retarder (208,333333333); le ton (PIEZO, 440, 187,5); retarder (208,333333333); ton (PIEZO, 391, 375,0); retard (416,666666667); le ton (PIEZO, 783, 187,5); retarder (208,333333333); } ////////////////////// LA JOIE AU MONDE ////////////// annuler la joie Joy_to_the_World () {

// tone (PIEZO, 587, 450.0); retard (500,0); ton (PIEZO, 554, 337,5); retard (375,0); // tone (PIEZO, 493, 112.5); retard (125,0);

ton (PIEZO, 440, 675,0); retard (750,0); // // tone (PIEZO, 391, 225.0); retard (250,0); ton (PIEZO, 369, 450,0); retard (500,0); // // tone (PIEZO, 329, 450.0); retard (500,0); ton (PIEZO, 293, 675,0); retard (750,0); // tone (PIEZO, 440, 225.0); retard (250,0); // tone (PIEZO, 493, 670.3125); retarder (744.791666667); retard (5,20833333333); // // tone (PIEZO, 493, 225.0); retard (250,0); ton (PIEZO, 554, 670, 3125); retarder (744.791666667); retard (5,20833333333); // // tone (PIEZO, 554, 225.0); retard (250,0); ton (PIEZO, 587, 670, 3125); retarder (744.791666667); retard (5,20833333333); // // tone (PIEZO, 587, 220.3125); retard (244,791666667); retard (5,20833333333); ton (PIEZO, 587, 225,0); retard (250,0); // // tone (PIEZO, 554, 225.0); retard (250,0); ton (PIEZO, 493, 225,0); retard (250,0); // // tone (PIEZO, 440, 220.3125); retard (244,791666667); retard (5,20833333333); ton (PIEZO, 440, 337,5); retard (375,0); // // tone (PIEZO, 391, 112.5); retard (125,0); ton (PIEZO, 369, 225,0); retard (250,0); ton (PIEZO, 587, 220,3125); retard (244,791666667); retard (5,20833333333); // // tone (PIEZO, 587, 225.0); retard (250,0); ton (PIEZO, 554, 225,0); retard (250,0); // // tone (PIEZO, 493, 225.0); retard (250,0); ton (PIEZO, 440, 220,3125); retard (244,791666667); retard (5,20833333333); // // tone (PIEZO, 440, 337.5); // delay (375.0); // tone (PIEZO, 391, 112.5); retard (125,0); ton (PIEZO, 369, 220,3125); retard (244,791666667); retard (5,20833333333); // // tone (PIEZO, 369, 220.3125); retard (244,791666667); retard (5,20833333333); ton (PIEZO, 369, 220,3125); retard (244,791666667); retard (5,20833333333); // // tone (PIEZO, 369, 220.3125); retard (244,791666667); retard (5,20833333333); ton (PIEZO, 369, 220,3125); retard (244,791666667); retard (5,20833333333); // // tone (PIEZO, 369, 112.5); retard (125,0); ton (PIEZO, 391, 112,5); retard (125,0); // // tone (PIEZO, 440, 675.0); // delay (750.0); // tone (PIEZO, 391, 112.5); retard (125,0); ton (PIEZO, 369, 112,5); retard (125,0); ton (PIEZO, 329, 220,3125); retard (244,791666667); retard (5,20833333333); // // tone (PIEZO, 329, 220.3125); retard (244,791666667); retard (5,20833333333); ton (PIEZO, 329, 220,3125); retard (244,791666667); retard (5,20833333333); ton (PIEZO, 329, 112,5); retard (125,0); ton (PIEZO, 369, 112,5); retard (125,0); // // tone (PIEZO, 391, 675.0); // delay (750.0); // tone (PIEZO, 369, 112.5); retard (125,0); ton (PIEZO, 329, 112,5); retard (125,0); ton (PIEZO, 293, 225,0); retard (250,0); // // tone (PIEZO, 587, 450.0); retard (500,0); ton (PIEZO, 493, 225,0); retard (250,0); // // tone (PIEZO, 440, 337.5); retard (375,0); ton (PIEZO, 391, 112,5); retard (125,0); // // tone (PIEZO, 369, 225.0); retard (250,0); ton (PIEZO, 391, 225,0); retard (250,0); // // tone (PIEZO, 369, 450.0); retard (500,0); // // tone (PIEZO, 329, 450.0); // delay (500.0); noTone (PIEZO); } ///////////// starwars ////// void starwars () {firstSection (); // Joue la deuxième section secondSection (); // Variante 1 bip (f, 250); bip (gS, 500); bip (f, 350); bip (a, 125); bip (cH, 500); bip (a, 375); bip (cH, 125); bip (eH, 650); retard (500); // Répète la deuxième section secondSection (); // Variante 2 bip (f, 250); bip (gS, 500); bip (f, 375); bip (cH, 125); bip (a, 500); bip (f, 375); bip (cH, 125); bip (a, 650); délai (650); }