/**
* Code d'exemple d'utilisation d'un bouton et d'un buzzer sur une même broche.
* Joue le thème musical de Tetris en Arduino avec tone() tant que le bouton est appuyé.
* N.B. Ce code nécessite un montage spécial pour fonctionner.
*/
/** La broche pour le bouton et le buzzer */
const byte PIN_BUZZING_BUTTON = 2;
/** Fonction setup() */
void setup() {
// Rien à faire ici
}
/** Fonction permettant de faire biper le buzzer tant que le bouton apppuyé */
void beepMelody(unsigned int frequency, unsigned long duration, unsigned long delay_duration) {
// Met le broche en entrée (sans pullup)
pinMode(PIN_BUZZING_BUTTON, INPUT);
// Attend que le bouton soit apppuyé
while (digitalRead(PIN_BUZZING_BUTTON) == HIGH);
// Génére un bip sur la broche du buzzer
// N.B. La broche est automatiquement configurée en sortie.
tone(PIN_BUZZING_BUTTON, frequency, duration);
// Attend la fin du bip
delay(delay_duration);
}
/** Fonction loop() */
void loop() {
beepMelody(2637, 200, 400);
beepMelody(1975, 200, 200);
beepMelody(2093, 200, 200);
beepMelody(2349, 200, 400);
beepMelody(2093, 200, 200);
beepMelody(1975, 200, 200);
beepMelody(1760, 200, 400);
beepMelody(1760, 200, 200);
beepMelody(2093, 200, 200);
beepMelody(2637, 200, 400);
beepMelody(2349, 200, 200);
beepMelody(2093, 200, 200);
beepMelody(1975, 200, 400);
beepMelody(1975, 200, 200);
beepMelody(2093, 200, 200);
beepMelody(2349, 200, 400);
beepMelody(2637, 200, 400);
beepMelody(2093, 200, 400);
beepMelody(1760, 200, 400);
beepMelody(1760, 200, 800);
beepMelody(1760, 200, 400);
beepMelody(2349, 200, 200);
beepMelody(2794, 200, 200);
beepMelody(3520, 200, 400);
beepMelody(3136, 200, 200);
beepMelody(2794, 200, 200);
beepMelody(2637, 200, 600);
beepMelody(2093, 200, 200);
beepMelody(2637, 200, 400);
beepMelody(2349, 200, 200);
beepMelody(2093, 200, 200);
beepMelody(1975, 200, 400);
beepMelody(1975, 200, 200);
beepMelody(2093, 200, 200);
beepMelody(2349, 200, 400);
beepMelody(2637, 200, 400);
beepMelody(2093, 200, 400);
beepMelody(1760, 200, 400);
beepMelody(1760, 200, 800);
}