Vous êtes sur la page 1sur 3

CORRECTION CONTROLE ARDUINO

EXO 1 :
1. C
2. C
3. A

EXO 4 :
1
Manque 3 resistances reliées en séries avec les leds.
1 Condensateur relié en série avec le bouton

Code complété :

int ledPin[] = {6, 7, 8}; // 6-Rouge | 7-Jaune | 8-Verte


const int portBP = 2;
int k, etatBP, etatBP0;
const int lapse = 250; // ms

//********************** SETUP ********************


void setup() {
for (int i = 0; i < 3; i++) {
pinMode(ledPin[i], OUTPUT);
digitalWrite(ledPin[i], HIGH); // 3 LEDs éteintes
}
pinMode(portBP, INPUT_PULLUP);
etatBP0 = digitalRead(portBP);
k = 0;
} // END SETUP

//********************** LOOP ********************


void loop() {
etatBP = digitalRead(portBP);
if (etatBP == LOW && etatBP0 == HIGH) {
for (int i = 0; i < 3; i++) {
if (k % 3 == 2) {
digitalWrite(ledPin[2], LOW);
digitalWrite(ledPin[0], HIGH);
for (int p = 0; p < 10; p++) {
digitalWrite(ledPin[1], LOW);
delay(lapse); // lapse : constante /durée de temps
digitalWrite(ledPin[1], HIGH);
delay(lapse);
}
digitalWrite(ledPin[0], LOW); // On éteint toutes les LEDs
digitalWrite(ledPin[1], LOW);
digitalWrite(ledPin[2], LOW);
} else if (k % 3 == i) {
digitalWrite(ledPin[i], HIGH); // Allumer la LED correspondante
} else {
digitalWrite(ledPin[i], LOW); // On éteint les autres LEDs
}
}
k++; // On incrémente k d’un pas de 1
}
etatBP0 = digitalRead(portBP);
} // END LOOP

EXO 3 :
Code bon : étudiant 03
Correction autre codes :
Etudiant 01 :
const int port_Led = 12;

Etdudiant 02 :

digitalWrite(12, LOW) ; et const int port_Led = 12

Etudiant 04 :

digitalWrite(portled, LOW) ;

EXO 2 :

Erreur 01 : Les ports sont inversés (potentiomètre sur analogique).

Erreur 02 : Servo moteur sur un digital.

Vous aimerez peut-être aussi