// Programme d'exemples sur la programmation Arduino
// Ce programme illustre les concepts suivants :
// - Instructions et blocs d'instructions
// - Structures de contrôle de flot (if, else if, else; for; while)
// - Déclaration de variables (int, float) et arithmétique de base
// - Déclaration et appel de fonctions simples
// - Utilisation de Serial.print() pour afficher des chaînes de caractères ou des variables
// - Utilisation de millis() et delay() pour la gestion du temps
// Déclaration et initialisation de variables globales
int counter = 0; // Une variable entière
float temperature = 25.5; // Une variable flottante, par exemple une température en °C
// Déclaration de la fonction setup(): exécutée une seule fois au démarrage
void setup() {
// Initialisation de la communication série à 115200 bauds
Serial.begin(115200);
// Affichage d'un message de bienvenue
Serial.println("Programme de démonstration Arduino démarré !");
}
// Déclaration de la fonction loop(), exécutée en boucle indéfiniment
void loop() {
// Affichage de la valeur actuelle de counter
Serial.print("Counter: "); // affiche une chaîne de caractères
Serial.println(counter); // affiche la valeur de la variable
// Affichage de la valeur actuelle de temperature
Serial.print("Temperature: ");
Serial.println(temperature);
// Exemple d'appel de fonction
int result = addNumbers(counter, 5);
Serial.print("Result of adding 5 to counter: ");
Serial.println(result);
// Exemple d'utilisation de la structure de contrôle if, else if, else
if (counter < 10) { // si counter < 10
Serial.println("Counter is less than 10.");
} else if (counter < 20) { // si 10 <= counter < 20
Serial.println("Counter is between 10 and 19.");
} else { // si counter > 20
Serial.println("Counter is 20 or more.");
}
// Utilisation d'une boucle for pour afficher les nombres de 0 à 4
Serial.println("Numbers from 0 to 4:");
for (int i = 0; i < 5; i++) {
Serial.println(i);
}
// Utilisation d'une boucle while pour attendre jusqu'à ce que millis() soit multiple de 1000
Serial.println("Waiting for millis() to be a multiple of 1000...");
while (millis() % 1000 != 0) {
// Rien à faire ici, juste attendre
}
Serial.println("Millis() is now a multiple of 1000!");
// Incrémentation de counter
counter++;
// Simuler une variation de la température
temperature += 0.1;
// Pause de 500 millisecondes
delay(500);
}
// Déclaration d'une fonction simple qui additionne deux nombres
int addNumbers(int a, int b) {
// Retourne la somme de a et b
int res = a + b;
return res;
}