Amélioration d'un code pour allumé une lampe en tapent dans les mains

Fermé
Princesse_69200 Messages postés 2 Date d'inscription samedi 10 octobre 2020 Statut Membre Dernière intervention 15 octobre 2020 - Modifié le 10 oct. 2020 à 16:17
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 10 oct. 2020 à 22:34
Bonjour
Je début dans l'informatique et je voudrais savoir si il est possible d'améliorer de code pour allumé une lampe en tapent dans les main avec une Ardnoino nano, et si oui comment.

int capteur_clap = 3;
int relais = 2;
int powerPin = A0;
int gndPin = A1;


int clap = 0;
long debut_plage_detection = 0;
long plage_detection = 0;
boolean etat_lampe = false;
 
void setup(){
  pinMode(capteur_clap, INPUT);
  pinMode(relais, OUTPUT);
  pinMode(powerPin, OUTPUT);
  pinMode(gndPin, OUTPUT);
  digitalWrite(gndPin,LOW);
  digitalWrite(powerPin,HIGH);
  Serial.begin(9600);
}
 
void loop(){
  
  int etat_capteur_clap = digitalRead(capteur_clap);
  
  if (etat_capteur_clap == 1)
  {
      if (clap == 0)
      {
        debut_plage_detection = plage_detection = millis();
        clap++;
      }
      else if (clap > 0 && millis()- plage_detection >= 50)
      {
        plage_detection = millis();
        clap++;
      }
  }
  
  if (millis()- debut_plage_detection >= 400)
  {
      if (clap == 2)
      {
          if (!etat_lampe)
            {
              etat_lampe = true;
              digitalWrite(relais, HIGH);
              Serial.println(1);
            }
          else if (etat_lampe)
            {
              etat_lampe = false;
              digitalWrite(relais, LOW);
            }
      }
      clap = 0;
  }
}

1 réponse

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 10 oct. 2020 à 22:34
Salut Princesse_69200,

Peut-être que ce code où j'avais proposé une implémentation sous la forme d'une machine à états te sera utile ou pourra t'inspirer : https://forums.commentcamarche.net/forum/affich-36679801-projet-sur-arduino-allumer-une-led-en-tapant-2-fois-dans-les-mains#14

Dal
1