// Détection du front montant. Commande type télérupteur.
#define led 23
#define bp 2
boolean ledetat = LOW;
boolean bpmem = LOW;
boolean bpetat = LOW;
void setup()
{
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(led, OUTPUT);
pinMode(bp, INPUT_PULLUP);
}
void loop()
{
// lit l'état actuel du bouton poussoir actif à zéro
bpetat = !digitalRead(bp);
// compare l'état actuel du bouton poussoir à l'état précédent mémorisé
if (bpetat != bpmem)
{
// si l'état du bouton poussoir a changé
// on mémorise l'état courant du bouton poussoir pour les prochains passages dans la boucle loop
bpmem = bpetat;
// si ce nouvel état est passé à 1, on a donc un front montant.
if (bpetat ==HIGH )
{
//On change l'état de la variable de la led de 1 à 0 ou de 0 à 1
ledetat = !ledetat;
}
}
if (ledetat)
{
digitalWrite(led,HIGH);
}
else
{
digitalWrite(led,LOW);
}
delay(10);
}