
[int frequence = 500;] cette ligne sert a : -crée une variable appelée frequence
-stocke la fréquence du son
-démarre à 500 Hz
[bool ancienA0 = LOW;
bool ancienA1 = LOW;
bool ancienA2 = LOW;] cette ligne sert a : -détecter et éviter des répétitions trop rapides
[pinMode(A0, INPUT);] cette ligne sert a : -configure la broche A0
-en entrée (INPUT)
-pour lire le bouton 1
[pinMode(A1, INPUT);] cette ligne sert a : -configure la broche A0
-en entrée (INPUT)
-pour lire le bouton 2
[pinMode(A2, INPUT);] cette ligne sert a : -configure le bouton obstacle
[pinMode(8, OUTPUT);] cette ligne sert a : -configure la pin 8 en sortie
-pour envoyer le son au buzzer
[bool etatA0 = digitalRead(A0);] cette ligne sert a : -lire l’état du bouton A0
[bool etatA1 = digitalRead(A1);] cette ligne sert a : -lire l’état du bouton A1
[bool etatA2 = digitalRead(A2);] cette ligne sert a : -lire l’état du bouton A2
[if (etatA0 == HIGH && ancienA0 == LOW)] Cette condition signifie : -ET il ne l’était pas avant
-le bouton est appuyé maintenant
[frequence = frequence + 100;] cette ligne sert a : -augmente la fréquence de 100 Hz
-le son devient plus aigu
[if (frequence > 2000)] cette ligne sert a : -vérifie si le son devient trop aigu
[frequence = 2000;] cette ligne sert a : -bloque la fréquence maximum à 2000 Hz
[tone(8, frequence, 200);] cette ligne sert a : -Jouer un son
-pendant 200 ms
-sur la pin 8
-avec la fréquence choisie
[frequence = frequence – 100;] cette ligne sert a : -diminue la fréquence
-le son devient plus grave
[if (frequence < 100)] cette ligne sert a : -vérifie si le son est trop grave
[noTone(8);] cette ligne sert a : -arrête complètement le buzzer
[frequence = 100;] cette ligne sert a : -empêche la fréquence de descendre sous 100 Hz
[else] cette ligne sert a : -le son continue normalement
[tone(8, frequence, 200);] cette ligne sert a : -jouer le nouveau son grave
[if (etatA2 == HIGH && ancienA2 == LOW)] cette ligne sert a : -détecté un nouvel appui sur le bouton obstacle
[noTone(8);] cette ligne sert a : -coupé immédiatement le son précédent
[tone(8, 2500, 1000);] cette ligne sert a : -émettre le sons de l’alarme
[ancienA0 = etatA0;
ancienA1 = etatA1;
ancienA2 = etatA2;] cette ligne sert a : -mémorise l’état actuel des boutons
-pour comparer au prochain tour
[delay(10);] cette ligne sert a : -attendre 10 millisecondes
