//ce code configure les broches A1,A2 et A3 en interruption. //ont utilise la bibliotheque PinChangeInt.h //ont peut egalement le faire avec les broches digitale. #include //appele de la fonction const byte B1 = A1; const byte B2 = A2;//Déclaration des boutons const byte B3 = A3; volatile int led1=2; volatile int led2=3;// Déclaration des LED volatile int led3=4; volatile bool bascule = false;//Cette variable enregistre l'état d'un bouton volatile int i;// Cette variable prmet de savoir si un bouton à été actionner int f1(){ bascule = !bascule; i = 1; if(bascule){ digitalWrite(led1,HIGH); } else{ digitalWrite(led1,LOW); } } int f2(){ bascule = !bascule; i = 1; if(bascule){ digitalWrite(led2,HIGH); } else{ digitalWrite(led2,LOW); } } int f3(){ bascule = !bascule; i = 1; if(bascule){ digitalWrite(led3,HIGH); } else{ digitalWrite(led3,LOW); } } void setup() {// fonction d'initialisation des variables Serial.begin(9600); pinMode(B1,INPUT); pinMode(B2,INPUT); pinMode(B3,INPUT); PCintPort::attachInterrupt(B1,f1,FALLING); PCintPort::attachInterrupt(B2,f2,FALLING); PCintPort::attachInterrupt(B3,f3,FALLING); } void loop() { if(i==1){ delay(5); i=0; }else{i=0} }