Title: Sequence 04 - La programmation Arduino

Q: Définition d’un algorithme ?
A: Un algorithme est une suite finie d'instructions permettant de résoudre un problème ou d'obtenir un résultat.

Q: Définition d’un programme ?
A: Un programme est la traduction d’un algorithme dans un langage compréhensible par une machine.

Q: Structure d’un programme Arduino ?
A: Un programme Arduino se compose de trois parties : la déclaration des variables, la fonction setup() exécutée une fois et la fonction loop() exécutée en boucle.

Q: Rôle de la fonction setup() ?
A: La fonction setup() initialise les broches du microcontrôleur et s’exécute une seule fois au démarrage.

Q: Rôle de la fonction loop() ?
A: La fonction loop() contient l’algorithme principal et s’exécute en boucle continue.

Q: Syntaxe d’une instruction ?
A: Une instruction est une ligne de code terminée par un point-virgule qui donne un ordre au programme.

Q: Rôle des accolades en programmation ?
A: Les accolades délimitent les blocs de code à exécuter dans les fonctions, les boucles ou les conditions.

Q: Syntaxe d’un commentaire sur une ligne ?
A: Un commentaire sur une ligne commence par // et est ignoré par le compilateur.

Q: Syntaxe d’un commentaire sur plusieurs lignes ?
A: Un commentaire sur plusieurs lignes débute par /* et se termine par */.

Q: Définition d’une variable ?
A: Une variable est une zone mémoire nommée qui permet de stocker une valeur modifiable pendant l'exécution du programme.

Q: Formule de définition d’une variable entière ?
A: Exemple : \( \text{int x = 4;} \)

Q: Types de variables numériques ?
A: Les types comprennent int, long, char, float, double, chacun ayant des plages de valeurs et une taille spécifiques.

Q: Types de variables non signées ?
A: Les types non signés incluent unsigned char, unsigned int et unsigned long, qui ne représentent que des valeurs positives avec une plage étendue.

Q: Types spécifiques au langage Arduino ?
A: Arduino utilise également des types spécifiques comme byte, word et boolean, adaptés aux besoins du microcontrôleur.

Q: Définition d’une variable booléenne ?
A: Une variable booléenne ne peut prendre que deux valeurs : TRUE ou FALSE.

Q: Opérateur d’incrémentation ?
A: \( \text{var++} \) équivaut à \( \text{var = var + 1} \)

Q: Opérateur de décrémentation ?
A: \( \text{var--} \) équivaut à \( \text{var = var - 1} \)

Q: Opérateur de bascule ?
A: \( \text{x = 1 - x} \) ou \( \text{x = !x} \) inverse la valeur booléenne de \( x \)

Q: Symbole de test d’égalité ?
A: \( == \) permet de vérifier si deux valeurs sont égales.

Q: Symbole de différence ?
A: \( != \) permet de vérifier si deux valeurs sont différentes.

Q: Structure if...else ?
A: Elle permet d’exécuter certaines instructions si une condition est vraie, sinon d’en exécuter d’autres.

Q: Opérateur logique ET ?
A: \( \text{&&} \) permet de vérifier que deux conditions sont vraies simultanément.

Q: Opérateur logique OU ?
A: \( || \) permet de vérifier qu'au moins une des conditions est vraie.

Q: Opérateur logique NON ?
A: \( ! \) inverse la valeur logique d’une condition.

Q: Définition d’une boucle ?
A: Une boucle permet de répéter un bloc d’instructions tant qu’une condition est remplie ou pour un nombre fixe d’itérations.

Q: Structure de la boucle while ?
A: \( \text{while(condition)} \{ \text{instructions} \} \)

Q: Structure de la boucle do...while ?
A: \( \text{do \{ instructions \} while(condition);} \)

Q: Structure de la boucle for ?
A: \( \text{for(initialisation; condition; incrément)} \{ \text{instructions} \} \)

Q: Syntaxe de pinMode ?
A: \( \text{pinMode(broche, mode)} \) configure une broche en entrée ou en sortie.

Q: Syntaxe de digitalWrite ?
A: \( \text{digitalWrite(broche, valeur)} \) envoie un niveau logique (HIGH ou LOW) sur une broche numérique.

Q: Syntaxe de digitalRead ?
A: \( \text{val = digitalRead(broche)} \) lit l’état logique (HIGH ou LOW) d’une broche numérique.

Q: Syntaxe de analogRead ?
A: \( \text{val = analogRead(broche)} \) lit une tension analogique et retourne une valeur entre 0 et 1023.

Q: Syntaxe de analogWrite ?
A: \( \text{analogWrite(broche, valeur)} \) génère une impulsion PWM dont la valeur varie de 0 à 255.

Q: Fonction pour allumer une LED ?
A: Par exemple, pour allumer une LED sur la broche 4 : \( \text{digitalWrite(4, HIGH);} \)

Q: Fonction pour lire un capteur numérique ?
A: Utilisez \( \text{digitalRead(broche);} \)

Q: Fonction pour lire un capteur analogique ?
A: Utilisez \( \text{analogRead(broche);} \)

Q: Utilité d’une breadboard ?
A: Une breadboard permet de réaliser des montages électroniques sans soudure, facilitant ainsi le prototypage.