boutons poussoirs – buzzer

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

2. Variables des anciens états