Auteur/autrice : louane DUROS

  • 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