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

Signaler
Messages postés
2
Date d'inscription
samedi 10 octobre 2020
Statut
Membre
Dernière intervention
15 octobre 2020
-
Messages postés
5432
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
15 octobre 2020
-
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

Messages postés
5432
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
15 octobre 2020
908
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