int bpPin = 3;
int ledPin = 2;
int bp1 = 0; // variable pour l'état actuel du bouton poussoir
int bp1Mem = 0; // variable pour l'état précédent du bouton poussoir
int ledOn = 0; // variable pour l'état de la led
void setup()
{
pinMode(ledPin,OUTPUT);
pinMode(bpPin,INPUT);
}
void loop() {
// lit l'état actuel du bouton poussoir
bp1 = digitalRead(bpPin);
// compare l'état actuel du bouton poussoir à l'état précédent mémorisé
if (bp1 != bp1Mem){
// 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
bp1Mem = bp1;
// si ce nouvel état est passé à 1, on a donc un front montant.
if (bp1 == 1) {
//On change l'état de la variable de la led de 1 à 0 ou de 0 à 1
ledOn = !ledOn;
}
}
if (ledOn == 1) {
digitalWrite(ledPin,HIGH);
}
else {
digitalWrite(ledPin,LOW);
}
}