Retour au blog

Quiz : Systèmes Numériques et Programmation Arduino

L'informatique embarquée commande notre quotidien. Sais-tu comment un microcontrôleur traite l'information et comment le programmer ?

Cet article a été rédigé à des fins pédagogiques. Les informations présentées peuvent évoluer. Nous t’invitons à vérifier auprès de sources officielles.

L'essentiel à connaître

Un système numérique est conçu pour acquérir, traiter et transmettre des informations sous forme binaire. Au cœur de ces dispositifs, on trouve souvent un microcontrôleur. Contrairement à un microprocesseur classique, le microcontrôleur regroupe sur une seule puce le processeur (CPU), la mémoire (RAM et Flash) et des interfaces d'entrée/sortie. C'est le cerveau des objets connectés et des systèmes automatisés.

La plateforme Arduino est l'outil de référence en STI2D pour apprendre la programmation embarquée. Elle utilise un langage proche du C/C++. La structure d'un programme Arduino repose sur deux fonctions obligatoires : setup(), qui s'exécute une seule fois au démarrage pour configurer les broches, et loop(), qui s'exécute en boucle infinie pour gérer les interactions en temps réel.

Définition : Un microcontrôleur est un circuit intégré qui contient tous les éléments d'un ordinateur pour exécuter un programme spécifique de manière autonome.

À retenir : Une entrée numérique ne peut prendre que deux états (0 ou 1), alors qu'une entrée analogique permet de lire une plage de valeurs (ex: de 0 à 1023 sur un Arduino Uno).

Les points clés

La gestion des entrées/sorties est primordiale. Pour lire l'état d'un bouton ou commander une LED, on configure les broches via pinMode(). Une notion souvent délicate est la PWM (Pulse Width Modulation), qui permet de simuler une tension analogique sur une sortie numérique en faisant varier le rapport cyclique d'un signal carré. C'est essentiel pour varier la luminosité d'une LED ou la vitesse d'un moteur.

Le traitement de l'information passe aussi par la conversion analogique-numérique (CAN). Les capteurs (température, luminosité) envoient souvent un signal analogique le microcontrôleur doit convertir en valeur numérique pour pouvoir effectuer des calculs ou prendre des décisions logiques.

Formule : Tension lue = (Valeur numérique / 1023) * Tension de référence (5V)

Piège classique : Oublier le point-virgule à la fin de chaque instruction en C, ce qui empêche la compilation du programme.

Quiz : Teste tes connaissances

Question 1 : Quelle fonction est exécutée une seule fois au lancement d'un programme Arduino ?

A. main()
B. loop()
C. setup()
D. start()

Réponse : C. La fonction setup() sert à initialiser les variables et les modes des broches. Elle ne se répète jamais, contrairement à loop().

Question 2 : Quel composant d'un microcontrôleur stocke le programme de manière permanente ?

A. La mémoire RAM
B. La mémoire Flash
C. L'ALU
D. Le bus de données

Réponse : B. La mémoire Flash est non-volatile, ce qui signifie que le programme reste enregistré même si l'alimentation est coupée. La RAM est effacée à chaque extinction.

Question 3 : Quelle instruction permet de configurer la broche 13 comme une sortie ?

A. digitalWrite(13, OUTPUT);
B. pinSet(13, OUT);
C. setPin(13, OUTPUT);
D. pinMode(13, OUTPUT);

Réponse : D. pinMode est la commande standard pour définir la direction (INPUT ou OUTPUT) d'une broche spécifique.

Question 4 : Sur un Arduino Uno, quelle est la plage de valeurs renvoyée par analogRead() ?

A. De 0 à 1023
B. De 0 à 255
C. De 0 à 5
D. De -127 à 128

Réponse : A. Le convertisseur analogique-numérique est codé sur 10 bits, ce qui donne 2^10 = 1024 valeurs possibles, soit de 0 à 1023.

Question 5 : À quoi sert la fonction delay(1000); ?

A. Elle accélère le programme de 1000ms
B. Elle répète l'action 1000 fois
C. Elle met le programme en pause pendant 1 seconde
D. Elle définit la vitesse de communication série

Réponse : C. L'argument de delay() est en millisecondes. 1000 ms correspondent donc à une pause d'une seconde entière.

Question 6 : Qu'est-ce que la PWM (ou MLI en français) ?

A. Un protocole de communication sans fil
B. Une technique pour simuler une tension analogique variable
C. Un type de mémoire ultra-rapide
D. Un langage de programmation

Réponse : B. En faisant varier le temps pendant lequel le signal est à l'état haut sur une période fixe, on modifie la tension moyenne reçue par le composant.

Question 7 : Quel symbole est utilisé pour les commentaires sur une seule ligne en C/Arduino ?

A. //
B. #
C. --
D. /*

Réponse : A. Le double slash permet d'ajouter des notes ignorées par le compilateur. Le symbole # est utilisé en Python, pas en Arduino.

Question 8 : Pour afficher une valeur sur l'écran de l'ordinateur via l'Arduino, on utilise :

A. print.Screen()
B. console.log()
C. LCD.print()
D. Serial.println()

Réponse : D. La classe Serial gère la communication entre la carte et le PC via le câble USB. L'option C est réservée aux afficheurs physiques externes.

Question 9 : Quelle instruction permet de lire l'état d'un bouton poussoir branché sur la broche 2 ?

A. digitalGet(2);
B. digitalRead(2);
C. analogRead(2);
D. readPin(2);

Réponse : B. Comme un bouton est un capteur "tout ou rien" (0 ou 1), on utilise une lecture numérique (digitalRead).

Question 10 : Quel est le rôle de l'unité arithmétique et logique (ALU) dans le microcontrôleur ?

A. Distribuer l'énergie aux capteurs
B. Stocker les données temporaires
C. Réaliser les calculs et opérations logiques
D. Gérer l'horloge système

Réponse : C. C'est la partie du processeur qui effectue les additions, soustractions et comparaisons (ET, OU, etc.).

Question 11 : Si on utilise analogWrite(9, 127);, quel sera le rapport cyclique du signal ?

A. Environ 50%
B. 12.7%
C. 100%
D. 25%

Réponse : A. analogWrite utilise des valeurs de 0 à 255. 127 étant la moitié de 255, le rapport cyclique est de 50%.

Question 12 : Qu'est-ce qu'une structure "if (condition) { . }" ?

A. Une boucle de répétition
B. Une déclaration de variable
C. Une commande d'affichage
D. Une structure de test conditionnel

Réponse : D. Elle permet d'exécuter un bloc de code uniquement si la condition entre parenthèses est vraie (ex: si bouton pressé, alors allumer LED).

Question 13 : Dans quel menu de l'IDE Arduino choisit-on le modèle de carte utilisé ?

A. Fichier
B. Outils
C. Édition
D. Aide

Réponse : B. Le menu Outils contient les paramètres essentiels : Type de carte, Port série et Programmateur.

Question 14 : Quelle tension délivre généralement une sortie numérique d'un Arduino Uno à l'état HAUT (HIGH) ?

A. 1V
B. 3.3V
C. 5V
D. 12V

Réponse : C. L'Arduino Uno fonctionne en logique 5V. Certaines cartes plus récentes comme l'ESP32 fonctionnent en 3.3V.

Question 15 : Qu'est-ce que le "compilateur" dans l'IDE Arduino ?

A. Un programme qui traduit ton code en langage machine binaire
B. Un outil pour dessiner des schémas électroniques
C. Un simulateur de circuit
D. La puce principale de la carte

Réponse : A. Le microcontrôleur ne comprend pas le texte (C++). Le compilateur transforme tes instructions en 0 et 1 compréhensibles par le processeur.

Comment ORBITECH Peut T'aider

ORBITECH AI Academy met à ta disposition des outils concrets pour réviser plus efficacement et progresser à ton rythme.

Tous ces outils sont disponibles sur ta plateforme ORBITECH. Connecte-toi et explore ceux qui correspondent le mieux à tes besoins !

Contenu en libre diffusion — partage autorisé sous réserve de mentionner ORBITECH AI Academy comme source.

COMMENCE DÈS MAINTENANT

Cours ciblés, exercices pratiques et méthodologie pour ton bac technologique.

Commencer gratuitement
🌍 ORBITECH AI Academy — Free education in 88 languages for 171 countries