Exercice : Code source ARDUINO à comprendre
1
int etat;
2
int oldEtatBP;
3
const int WAIT = 0;
4
const int START = 1;
5
const int STOP = 2;
6
const int pinBP = 3;
7
const int pinLEDR = 4;
8
const int pinLEDV = 5;
9
10
void setup() {
11
pinMode(pinBP, INPUT);
12
pinMode(pinLEDR, OUTPUT);
13
pinMode(pinLEDV, OUTPUT);
14
etat = WAIT;
15
oldEtatBP = LOW;
16
digitalWrite(pinLEDR, LOW);
17
digitalWrite(pinLEDV, LOW);
18
}
19
20
void loop() {
21
int etatBP = digitalRead(pinBP);
22
if (oldEtatBP == LOW && etatBP == HIGH) {
23
if (etat == WAIT || etat == STOP) {
24
etat = START;
25
digitalWrite(pinLEDV, HIGH);
26
digitalWrite(pinLEDR, LOW);
27
}
28
else {
29
etat = STOP;
30
digitalWrite(pinLEDV, LOW);
31
digitalWrite(pinLEDR, HIGH);
32
}
33
}
34
oldEtatBP = etatBP;
35
delay(200);
36
}
int etat; int oldEtatBP; const int WAIT = 0; const int START = 1; const int STOP = 2; const int pinBP = 3; const int pinLEDR = 4; const int pinLEDV = 5; void setup() { pinMode(pinBP, INPUT); pinMode(pinLEDR, OUTPUT); pinMode(pinLEDV, OUTPUT); etat = WAIT; oldEtatBP = LOW; digitalWrite(pinLEDR, LOW); digitalWrite(pinLEDV, LOW); } void loop() { int etatBP = digitalRead(pinBP); if (oldEtatBP == LOW && etatBP == HIGH) { if (etat == WAIT || etat == STOP) { etat = START; digitalWrite(pinLEDV, HIGH); digitalWrite(pinLEDR, LOW); } else { etat = STOP; digitalWrite(pinLEDV, LOW); digitalWrite(pinLEDR, HIGH); } } oldEtatBP = etatBP; delay(200); }
Le code source ci-dessus :