
code :
int buzzer = 8;
int boutonPlus = A0;
int boutonMoins = A1;
int boutonAlarme = A2;
int frequence = 400;
bool ancienEtatPlus = LOW;
bool ancienEtatMoins = LOW;
bool ancienEtatAlarme = LOW;
void setup()
{
pinMode(buzzer, OUTPUT);
pinMode(boutonPlus, INPUT);
pinMode(boutonMoins, INPUT);
pinMode(boutonAlarme, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
bool etatPlus = digitalRead(boutonPlus);
bool etatMoins = digitalRead(boutonMoins);
bool etatAlarme = digitalRead(boutonAlarme);
// ===== BOUTON 1 =====
// son plus aigue
if (etatPlus == HIGH && ancienEtatPlus == LOW)
{
frequence = frequence + 100;
if (frequence > 2000)
{
frequence = 2000;
}
tone(buzzer, frequence, 200);
digitalWrite(LED_BUILTIN, HIGH);
delay(50);
digitalWrite(LED_BUILTIN, LOW);
}
// ===== BOUTON 2 =====
// son plus grave
if (etatMoins == HIGH && ancienEtatMoins == LOW)
{
frequence = frequence - 100;
if (frequence < 100)
{
frequence = 100;
}
tone(buzzer, frequence, 200);
digitalWrite(LED_BUILTIN, HIGH);
delay(50);
digitalWrite(LED_BUILTIN, LOW);
}
// ===== BOUTON 3 =====
// alarme
if (etatAlarme == HIGH && ancienEtatAlarme == LOW)
{
for (int i = 0; i < 5; i++)
{
tone(buzzer, frequence, 1000);
digitalWrite(LED_BUILTIN, HIGH);
delay(150);
tone(buzzer, frequence, 400);
digitalWrite(LED_BUILTIN, LOW);
delay(50);
}
noTone(buzzer);
}
ancienEtatPlus = etatPlus;
ancienEtatMoins = etatMoins;
ancienEtatAlarme = etatAlarme;
delay(50);
}
1. Déclaration des variables
int buzzer = 8;
Cette ligne indique que le buzzer est connecté à la broche numérique 8 de l’arduino.
int boutonPlus = A0;
int boutonMoins = A1;
int boutonAlarme = A2;
Ces lignes définissent les broches utilisées pour les trois boutons poussoirs :
- A0 = bouton pour augmenter le son
- A1 = bouton pour diminuer le son
- A2 = bouton pour activer l’alarme
int frequence = 400;
La variable fréquence contient la fréquence du son du buzzer en Hertz (Hz);
Au départ, elle vaut 400 Hz
