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
- Déclarez une variable
temperaturede typeintet une variablehumiditede typefloat. - Affichez leurs valeurs dans le moniteur série.
- Modifiez-les, puis affichez à nouveau leurs valeurs.
void setup() {
Serial.begin(9600);
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 pour allumer une LED si une valeur est supérieure à 50.void setup() {
pinMode(LED_BUILTIN, OUTPUT);
int luminosite = 30;
if (luminosite > 50) {
digitalWrite(LED_BUILTIN, HIGH);
} else {
digitalWrite(LED_BUILTIN, LOW);
}
}
void loop() {}
Exercice 3 : Boucle pour clignoter une LED
for pour faire clignoter la LED 5 fois.void setup() {
pinMode(LED_BUILTIN, OUTPUT);
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
int lectures[10];
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
int lectures[10];
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
clignoterLED prenant un délai comme paramètre.void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
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
A0 et A1, comparer les deux, et agir selon le résultat.void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
}
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
etatBouton() pour allumer une LED si le bouton est pressé.const int boutonPin = 2;
const int ledPin = LED_BUILTIN;
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;
}
