Bonjour à tous/toutes, je suis très débutant en arduino et je dois réaliser le projet suivant :
Pour l'instant j'essaie de faire l'interruption (je suis censé en utiliser enfin je pense) mais je sèche déjà, quand j'appuie sur le bouton associé à mon interruption, le code que j'ai mit dans la fontion process ne s'exécute pas comme il faut, je pense que j'ai un problème de rebond (j'avais compris comment y remédier avec le code en commentaire) mais je ne sais pas comment l'adapter à mon interruption.. Quelqu'un a une idée ?
Mon code :
const int LED = 5;
const int MEMBTN = 7;
const int TOGGLEBTN = 2;
const int BASCULBTN = 10;
const long DELAY = 1000;
int blinkcnt = 0;
volatile bool calibMode = false;
volatile bool processMode = false;
int memstate;
int togglestate = HIGH;
int lasttogglestate = HIGH;
int basculstate;
int ledState;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
pinMode(MEMBTN, INPUT_PULLUP);
pinMode(TOGGLEBTN, INPUT_PULLUP);
pinMode(BASCULBTN, INPUT);
attachInterrupt(digitalPinToInterrupt(2), process, LOW);
}
void loop() {
memstate = digitalRead(MEMBTN);
togglestate = digitalRead(TOGGLEBTN);
basculstate = digitalRead(BASCULBTN);
/*if (togglestate != lasttogglestate && togglestate == HIGH) {
ledState = (ledState == LOW ? HIGH : LOW);
digitalWrite(LED, ledState);
delay(50);
}
lasttogglestate = togglestate;*/
}
void process() {
digitalWrite(LED, LOW);
for (int i = 0; i < 5; i++) {
digitalWrite(LED, HIGH);
delay(DELAY);
digitalWrite(LED, LOW);
}
digitalWrite(LED, LOW);
}
Merci d'avance.