/** * 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, 2