/* un peu de mémoire */ int ledpin=13; int bouton=2; int etat=0; //passe de 0 à 1 quand le bouton est pousse. int prev_etat=0; //stocke l’état du bouton lors de la loop precedente void setup(){ pinMode(ledpin,OUTPUT); pinMode(bouton,INPUT); } void loop(){ int val=digitalRead(bouton); if((val==HIGH) && (prev_etat==LOW)){ etat= 1 - etat; delay(10); //permettent de traiter des mauvais contacts } prev_etat=val; if(etat==0){ digitalWrite(ledpin,HIGH); } else { digitalWrite(ledpin,LOW); } }