Exercices Corrigés – Arduino
- Renforcer la compréhension des bases Arduino par la pratique.
- Appliquer les notions de variables, conditions, boucles, tableaux et fonctions.
- Manipuler les capteurs, LEDs, boutons et le moniteur série.
Exercice 1 : Manipulation de variables
int temperature = 25; float humidite = 60.5;
Serial.println(temperature); Serial.println(humidite);
temperature = 30; humidite = 55.0;
Serial.println(temperature); Serial.println(humidite); }
void loop() {}
Exercice 2 : Condition simple pour une LED
if (luminosite > 50) { digitalWrite(LED_BUILTIN, HIGH); } else { digitalWrite(LED_BUILTIN, LOW); } }
void loop() {}
Exercice 3 : Boucle pour clignoter une LED
for (int i = 0; i \leq 5; i++) { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } }
void loop() {}
Exercice 4 : Lecture capteur dans un tableau
void setup() { Serial.begin(9600);
for (int i = 0; i < 10; i++) { lectures[i] = analogRead(A0); Serial.print("Lecture "); Serial.print(i); Serial.print(" : "); Serial.println(lectures[i]); delay(500); } }
void loop() {}
Exercice 5 : Calcul de moyenne
void setup() { Serial.begin(9600);
for (int i = 0; i < 10; i++) { lectures[i] = analogRead(A0); delay(500); }
float moyenne = calculerMoyenne(lectures, 10); Serial.print("Moyenne : "); Serial.println(moyenne); }
void loop() {}
float calculerMoyenne(int tableau[], int taille) { int somme = 0; for (int i = 0; i < taille; i++) { somme += tableau[i]; } return (float)somme / taille; }
Exercice 6 : Clignotement avec fonction
void loop() { clignoterLED(500); delay(1000); clignoterLED(100); delay(1000); }
void clignoterLED(int delai) { digitalWrite(LED_BUILTIN, HIGH); delay(delai); digitalWrite(LED_BUILTIN, LOW); delay(delai); }
Exercice 7 : Comparaison entre deux capteurs
void loop() { int a0 = analogRead(A0); int a1 = analogRead(A1);
if (a0 > a1) { digitalWrite(LED_BUILTIN, HIGH); } else { digitalWrite(LED_BUILTIN, LOW); Serial.println("A1 est plus grand"); }
delay(1000); }
Exercice 8 : LED contrôlée par un bouton
void setup() { pinMode(boutonPin, INPUT); pinMode(ledPin, OUTPUT); }
void loop() { if (etatBouton()) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
bool etatBouton() { return digitalRead(boutonPin) == HIGH; }