Information numérique et programmation embarquée
Microcontrôleur et carte de développement, entrées-sorties logiques et analogiques, signal MLI (PWM) et rapport cyclique, structure d'un programme embarqué (initialisation, boucle), algorigrammes, liaisons série et bus de communication.
1. Le microcontrôleur
Définition
Un microcontrôleur réunit sur une puce un processeur, de la mémoire et des interfaces d'entrées-sorties. Monté sur une carte (Arduino, micro:bit, ESP32), il lit des capteurs et commande des actionneurs selon un programme stocké en mémoire.
Propriété · Entrées et sorties
Entrées logiques : bouton, fin de course (digitalRead, $0$ ou $1$). Entrées analogiques : tension convertie par le CAN (analogRead). Sorties logiques : LED, relais (digitalWrite). Sorties MLI : variation de vitesse d'un moteur, de luminosité d'une LED (analogWrite).
2. Le signal MLI (PWM)
Propriété · Rapport cyclique
Un signal MLI alterne état haut et état bas à fréquence fixe. Le rapport cyclique $\alpha = \dfrac{t_H}{T}$ fixe la valeur moyenne $U_\text{moy} = \alpha \times U_\text{max}$. Sur Arduino, analogWrite(broche, v) avec $v$ de $0$ à $255$ donne $\alpha = \dfrac{v}{255}$.
3. Structure d'un programme embarqué
Exemple · Allumer une lampe quand il fait sombre
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
int lum = analogRead(A0);
if (lum < 300) {
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
delay(100);
}setup s'exécute une fois (initialisation) ; loop se répète indéfiniment. Le même programme peut s'écrire en MicroPython avec une boucle while True.
Méthode · Algorigramme
Avant de coder, on représente l'algorithme par un algorigramme (début, actions dans des rectangles, tests dans des losanges, flèches) ou un diagramme d'états.
4. Communiquer
Propriété · Liaisons
Liaison série (UART) : les bits sont envoyés un par un sur un fil, à un débit en bauds (par exemple $9\,600$ bits/s) ; utile pour dialoguer avec un ordinateur. Bus I2C : deux fils (données SDA, horloge SCL), un maître et plusieurs esclaves identifiés par une adresse. Liaisons sans fil : Bluetooth, Wi-Fi, LoRa.
Activité · Varier la vitesse d'un ventilateur
analogWrite(9, analogRead(A0) / 4); dans loop : la vitesse suit la position du potentiomètre.S'entraîner
Exercices corrigés
🎓 20 exercices corrigés et un quiz vous attendent dans ce chapitre.
Créez votre compte gratuit pour voir les corrections, faire les quiz et suivre votre progression.
Composition
★☆☆Que contient un microcontrôleur ?
Entrée ou sortie
★☆☆Classer : bouton, LED, capteur de lumière, moteur, buzzer.
Fonction digitalRead
★☆☆Que renvoie digitalRead ?
Rapport cyclique
★☆☆Un signal MLI a une période de $10$ ms et reste $4$ ms à l'état haut. Rapport cyclique ?
Tension moyenne
★☆☆Suite : tension moyenne si l'état haut vaut $12$ V ?
analogWrite
★★☆Quelle valeur passer à analogWrite pour un rapport cyclique de $50\,\%$ ?
Lecture de la figure
★☆☆D'après la figure du cours, calculer la tension moyenne du signal.
Fréquence MLI
★★☆Quelle est la fréquence du signal de la figure ?
setup et loop
★☆☆Quelle différence entre setup et loop ?
Seuil d'éclairement
★★☆Dans le programme du cours, que se passe-t-il si analogRead(A0) renvoie $450$ ?
Hystérésis
★★★Près du seuil, la lampe clignote. Proposer une amélioration.
Mise à l'échelle
★★☆Pourquoi divise-t-on par $4$ dans l'activité ?
Fonction map
★★☆Que fait map(x, 0, 1023, 0, 180) en Arduino ?
Algorigramme
★★☆Décrire l'algorigramme d'une alarme : si la porte s'ouvre alors que l'alarme est armée, déclencher la sirène.
Liaison série
★★☆Combien de temps pour transmettre $1\,000$ octets à $9\,600$ bauds (environ $10$ bits par octet avec les bits de contrôle) ?
Bus I2C
★★☆Combien de fils utilise le bus I2C ? Comment le maître choisit-il l'esclave ?
Sans fil
★☆☆Citer deux technologies de communication sans fil utilisées par les objets connectés.
MicroPython
★★★Traduire la boucle du cours en MicroPython (fonctions lire() et lampe(etat) supposées).
Résistance de pull-down
★★★Pourquoi une entrée reliée à un bouton a-t-elle besoin d'une résistance de rappel ?
Vrai ou faux
★★☆a) La MLI fait varier la fréquence. b) loop s'exécute une fois. c) Le rapport cyclique est compris entre $0$ et $1$.
Vérifier
Avez-vous bien compris ?
Répondez au quiz : la correction s'affiche immédiatement.