Étape 15 : Laboratoire supplémentaire CIRC-06 b
les nouveaux billets sont eeggeeee, mettre en pause. Le code modifié est ci-dessous. J’ai dû dire que maintenant il y a 9 notes, l’ordre des notes d’État en laissant un espace pour la pause, sur la ligne ci-dessous, que j’avais à dire la longueur de la betterave de chaque note. Puis j’ai dû ralentir la vitesse de la chanson en réduisant le tempo en dernier.
/ * Mélodie* (fente) 2005 D. Cuartielles pour K3
*
* Cet exemple utilise un haut-parleur piézo pour jouer des mélodies. Il envoie
* une onde carrée de la fréquence appropriée à la piezo, générant
* la tonalité correspondante.
*
* Le calcul des tons est fait suite à la mathématique
* opération :
*
* timeHigh = période / 2 = 1 / (2 * toneFrequency)
*
* où les tons différents sont décrits comme dans le tableau :
*
* note fréquence période timeHigh
* c 261 Hz 3830 1915
* d 294 Hz 3400 1700
* e 329 Hz 3038 1519
* f 349 Hz 2864 1432
* g 392 Hz 2550 1275
* un 440 Hz 2272 1136
* b 493 Hz 2028 1014
* C 523 Hz 1912 956
*
* http://www.arduino.cc/en/Tutorial/Melody
*/
int speakerPin = 9 ;
int longueur = 9 ; le nombre de billets
note de char [] = "eeggeeee" ; un espace représente un repos présente est la partie j’ai changé
int bat [] = {2, 2, 1, 1, 2, 2, 1, 1, 1} ; C’EST LA PARTIE QUE J’AI CHANGER
int tempo = 200 ; C’EST RÉDUITE FORMER 300 AFIN QU’ELLE JOUE PLUS LENTEMENT
playTone Sub (ton int, int duration) {}
pour (long j’ai = 0; i < durée * 1000L; i += ton * 2) {
digitalWrite (speakerPin, HIGH) ;
delayMicroseconds(tone) ;
digitalWrite (speakerPin, basse) ;
delayMicroseconds(tone) ;
}
}
void playNote (char Remarque, int duration) {}
char nom [] = {"c",'d ', 'e', 'f', 'g', 'a', 'b', "C"} ;
les tons int [] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956} ;
Jouez le ton correspondant au nom de la note
pour (int i = 0; i < 8; i ++) {}
Si (noms [i] == note) {}
playTone (tons [i], durée) ;
}
}
}
void setup() {}
pinMode (speakerPin, sortie) ;
}
void loop() {}
pour (int i = 0; i < longueur; i ++) {}
Si (les notes [i] == ' ') {}
retard (battements [i] * tempo) ; reste
} else {}
playNote (notes [i], beats [i] * tempo) ;
}
faire une pause entre les notes
Delay(tempo / 2) ;
}
}