Programme

Sciences de l'ingénieur (Spé) — Informatique embarquée

Microcontrôleurs et systèmes embarqués

Architecture Arduino, programmation embarquée, capteurs et actionneurs interfacés

Résumé synthétiqueFiche en 4 sectionsQuiz de 10 questionsGratuit, sans pub

Résumé

L'informatique embarquée désigne les systèmes informatiques intégrés dans des objets techniques pour les piloter. Le microcontrôleur est un petit ordinateur sur une puce contenant un processeur, de la mémoire (Flash pour le programme, RAM pour les données) et des périphériques d'entrée/sortie. La carte Arduino Uno, très utilisée en SI, embarque un microcontrôleur ATmega328P avec 14 broches numériques (dont 6 PWM) et 6 entrées analogiques (CAN 10 bits, résolution de 0 à 1023). Pour interfacer un capteur analogique comme un potentiomètre, on utilise analogRead() qui retourne une valeur entre 0 et 1023. Pour commander un moteur, on utilise une sortie PWM (analogWrite, 0-255) associée à un transistor ou un pont en H. Le programme suit la structure setup() pour l'initialisation et loop() pour la boucle principale. Le système embarqué doit fonctionner en temps réel, avec des contraintes de fiabilité et de consommation énergétique.

S'entraîner

Questions fréquentes

Les points clés à retenir sur Microcontrôleurs et systèmes embarqués, extraits du quiz de révision.

Combien de broches numériques possède l'Arduino Uno ?
Réponse :
14
L'Arduino Uno dispose de 14 broches numériques (D0 à D13), dont 6 capables de générer un signal PWM.
Quelle fonction est exécutée une seule fois au démarrage d'un programme Arduino ?
Réponse :
setup()
La fonction setup() s'exécute une seule fois au démarrage pour initialiser les broches et les communications. Ensuite loop() tourne en boucle.
Quelle est la résolution du CAN de l'Arduino Uno ?
Réponse :
$10$ bits ($0$–$1023$)
Le CAN de l'Uno est sur $10$ bits : analogRead() retourne une valeur entre $0$ et $1023$ ($2^{10} = 1024$ niveaux).
Quelle est la plage de valeurs pour analogWrite() (PWM) ?
Réponse :
$0$ à $255$
analogWrite() accepte une valeur de $0$ (rapport cyclique $0\ \%$) à $255$ (rapport cyclique $100\ \%$), codée sur $8$ bits.