đ SĂ©quence SNT â Informatique EmbarquĂ©e et Objets ConnectĂ©s
Guide professeur â Vue d'ensemble
Organisation de la séquence (4 séances)
| Séance | Titre | Notions du programme couvertes | Durée | Outils |
|---|---|---|---|---|
| S01 | Présentation générale | SystÚmes embarqués, capteurs, actionneurs, IHM, IoT, sûreté, sécurité | 1h | Notebook Jupyter |
| S02 | Réaliser une IHM avec micro:bit | IHM, capteur, actionneur, acquisition de données, commande | 2h | Tinkercad + micro:bit (MicroPython) |
| S03 | Projet : concevoir son propre objet connecté | IHM complÚte, algorithme de contrÎle, capteur + actionneur | 2h | Tinkercad + micro:bit (MicroPython) |
| S04 | Ăvaluation | Toutes les notions de la sĂ©quence | 1h | Notebook Jupyter |
Couverture du programme officiel
Contenus et capacités attendues
| Contenu | Capacité attendue | Séance |
|---|---|---|
| SystÚmes informatiques embarqués | Identifier des algorithmes de contrÎle des comportements physiques à travers les données des capteurs, l'IHM et les actions des actionneurs | S01, S02 |
| Interface homme-machine (IHM) | Réaliser une IHM simple d'un objet connecté | S02, S03 |
| Commande d'un actionneur | Ăcrire des programmes simples de commande d'un actionneur | S02, S03 |
| Acquisition de donnĂ©es d'un capteur | Ăcrire des programmes simples d'acquisition de donnĂ©es | S02, S03 |
Toutes les capacités du programme sont couvertes.
Prérequis élÚves
- Bases Python : variables, boucles
foretwhile, conditionsif/elif/else, fonctions simples - Utilisation basique d'un navigateur web (pour Tinkercad)
- Pas de prérequis en électronique : Tinkercad est entiÚrement simulé
Fichiers de la séquence
| Fichier | Type | Destination |
|---|---|---|
S01_presentation_informatique_embarquee.ipynb |
Notebook élÚve | Distribuer en début de S01 |
S01_CORRECTION.ipynb |
Notebook professeur | Usage professeur uniquement |
S02_IHM_microbit_tinkercad.ipynb |
Notebook élÚve | Distribuer en début de S02 |
S02_CORRECTION.ipynb |
Notebook professeur | Usage professeur uniquement |
S03_projet_IHM_autonomie.ipynb |
Notebook élÚve | Distribuer en début de S03 |
S03_CORRECTION.ipynb |
Notebook professeur | Usage professeur uniquement |
S04_evaluation.md |
Ăvaluation Ă©lĂšve | Distribuer en dĂ©but de S04 |
Notes pédagogiques par séance
SĂ©ance 1 â PrĂ©sentation gĂ©nĂ©rale (1h)
Objectif principal : poser le vocabulaire de base et donner du sens à la notion de systÚme embarqué.
Point d'attention : bien distinguer les trois composants fondamentaux : capteur (mesure â numĂ©rique), actionneur (numĂ©rique â action physique), IHM (interaction humaine). La confusion entre capteur et actionneur est trĂšs frĂ©quente chez les Ă©lĂšves â par exemple, croire que le thermomĂštre « chauffe » la piĂšce.
Déroulement suggéré : - 10 min : accroche par une vidéo ou une photo de carte micro:bit / voiture autonome - 20 min : lecture de la partie cours (Parties 1 à 4) avec commentaires oraux - 25 min : questions 1 à 5 en autonomie ou binÎme - 5 min : mise en commun sur la synthÚse finale
DiffĂ©renciation : - La question 3 (voiture autonome) peut ĂȘtre approfondie par les Ă©lĂšves rapides grĂące Ă une recherche documentaire sur les niveaux d'autonomie SAE (0 Ă 5). - La question 5 (attaque Mirai) peut faire l'objet d'une discussion orale collective si le temps manque pour une rĂ©ponse Ă©crite.
Erreurs frĂ©quentes : - Confondre sĂ»retĂ© (safety) et sĂ©curitĂ© (security) â deux mots proches en français mais distincts techniquement - Penser que seuls les ordinateurs et smartphones contiennent des systĂšmes embarquĂ©s - Ne pas trouver d'exemples au-delĂ du smartphone et de la voiture
Questions bonus pour les élÚves avancés : - Un distributeur de billets : quels sont ses capteurs, actionneurs et IHM ? - Cherchez la différence entre un microprocesseur et un microcontrÎleur. - Est-ce que votre téléphone est un systÚme embarqué ? Justifiez.
SĂ©ance 2 â RĂ©aliser une IHM avec Tinkercad (2h)
Objectif principal : passer Ă la pratique â programmer une carte micro:bit simulĂ©e pour crĂ©er une IHM fonctionnelle avec un capteur et un actionneur.
Pré-requis technique : créer un compte Tinkercad est gratuit et ne nécessite pas d'adresse e-mail avec certaines configurations (compte « élÚve » possible). Prévoir 5 min en début de séance pour la connexion.
Déroulement suggéré :
- 5 min : connexion Tinkercad et création du projet
- 20 min : ActivitĂ© 1 â prise en main (display.scroll, display.show)
- 30 min : ActivitĂ© 2 â boutons et compteur (was_pressed, while True)
- 40 min : ActivitĂ© 3 â station mĂ©tĂ©o (capteur tempĂ©rature + IHM complĂšte)
- 15 min : Activité 4 (bonus) + question finale de bilan
- 10 min : mise en commun collective
Point d'attention â erreur piĂšge : dans l'ActivitĂ© 3, le code de dĂ©part Ă©crit temperature = temperature(), ce qui crĂ©e un conflit de nom : Python Ă©crase la fonction temperature() avec la variable du mĂȘme nom. Ă la deuxiĂšme itĂ©ration de la boucle, l'appel de temperature() provoque une erreur TypeError. Insister sur ce point â c'est l'erreur la plus frĂ©quente et la plus dĂ©routante. La solution est de nommer la variable t, temp ou temp_c.
Point d'attention â is_pressed() vs was_pressed() : is_pressed() renvoie True tant que le bouton est maintenu, ce qui fait s'incrĂ©menter un compteur des dizaines de fois par seconde. was_pressed() se dĂ©clenche une seule fois par appui. Ce point mĂ©rite une dĂ©monstration en direct.
Point d'attention â display.scroll() bloquant : par dĂ©faut, display.scroll() bloque l'exĂ©cution du programme jusqu'Ă la fin du dĂ©filement. Si des boutons sont appuyĂ©s pendant ce temps, ils ne sont pas dĂ©tectĂ©s. Montrer le paramĂštre wait=False comme solution.
Tableau des erreurs fréquentes :
| Erreur | Cause | Correction |
|---|---|---|
temperature = temperature() |
Conflit de nom variable/fonction | Renommer : t = temperature() |
is_pressed() dans un compteur |
Incrémentation en boucle rapide | Utiliser was_pressed() |
Oubli de while True |
Programme s'exécute une seule fois | Encapsuler dans while True |
display.scroll() qui bloque |
Comportement bloquant par défaut | Ajouter wait=False |
| Indentation incorrecte | SyntaxError ou comportement inattendu | Vérifier 4 espaces dans while |
Remarque sur la matrice LED : c'est un excellent exemple pĂ©dagogique de composant polyvalent â elle est Ă la fois IHM sortie (communique une info Ă l'utilisateur), actionneur (produit de la lumiĂšre) et mĂȘme capteur (mesure la luminositĂ© ambiante en mode lecture). Utiliser ce cas pour montrer que les catĂ©gories ne sont pas toujours exclusives.
Activité bonus (dé) : utilise les images personnalisées Image("...") et l'indexation de liste. Réservée aux élÚves maßtrisant déjà les listes Python.
SĂ©ance 3 â Projet en autonomie (2h)
Objectif principal : concevoir et programmer un objet connecté complet de A à Z, en autonomie guidée.
DĂ©roulement suggĂ©rĂ© : - 15 min : choix du projet, remplissage de la fiche de projet et du tableau des composants - 20 min : rĂ©daction de l'algorithme en pseudo-code â validation professeur obligatoire avant de coder - 50 min : codage et tests dans Tinkercad - 15 min : remplissage de la grille de test - 10 min : prĂ©paration et prĂ©sentation orale du projet
Point d'attention â valider l'algorithme avant le code : le passage professeur Ă l'Ă©tape 2 est crucial. Un algorithme incorrect mĂšne Ă 30 minutes de dĂ©bogage stĂ©rile. VĂ©rifier que la structure while True / if / elif / else est logiquement cohĂ©rente, que les variables sont initialisĂ©es, et qu'il n'y a pas d'ambiguĂŻtĂ© dans les conditions.
Conseil d'organisation : constituer les binÎmes à l'avance et s'assurer que les projets sont variés dans la classe (éviter que tous choisissent le projet 1).
Complexité des projets :
| Projet | Difficulté | Public cible |
|---|---|---|
| 1 â Alerte canicule | ââ Facile | Tous les Ă©lĂšves |
| 2 â Jeu de rĂ©action | ââ Facile | Tous les Ă©lĂšves |
| 4 â Boussole affichĂ©e | ââ Facile | Tous les Ă©lĂšves |
| 5 â DĂ©tecteur de mouvement | âââ Moyen | ĂlĂšves Ă l'aise |
| 3 â Minuteur de sport | ââââ Difficile | ĂlĂšves avancĂ©s |
| 6 â Mini-jeu de mĂ©moire | ââââ Difficile | ĂlĂšves avancĂ©s |
| 7 â Projet libre | Variable | Sur validation |
Remarque sur le projet 4 (Boussole) : la boussole nécessite un calibrage (compass.calibrate()) et n'est pas simulable dans Tinkercad car elle dépend d'un vrai champ magnétique. Si votre établissement possÚde de vraies cartes micro:bit, ce projet y est mieux adapté. Sinon, orienter les élÚves vers un autre projet.
Questions de passage pour vérifier la compréhension : lors des rondes en classe, poser ces questions oralement plutÎt que de lire le code :
- Montre-moi le capteur dans ton code. Comment la valeur est-elle récupérée ?
- Que se passe-t-il si je change cette valeur dans la simulation ?
- Pourquoi as-tu mis was_pressed() plutĂŽt que is_pressed() ici ?
- Ă quoi sert le sleep() Ă la fin de ta boucle ?
- Qu'est-ce que ton programme ferait si on supprimait la boucle while True ?
PrĂ©sentation orale : mĂȘme courte (2-3 min par binĂŽme), elle a une vraie valeur pĂ©dagogique â reformuler en langage naturel ce que fait le programme est un excellent indicateur de comprĂ©hension rĂ©elle.
SĂ©ance 4 â Ăvaluation (1h)
Structure de l'évaluation :
| Exercice | Contenu | Points |
|---|---|---|
| Ex. 1 â Vocabulaire | Reliage, tableau composants, mots manquants | /6 |
| Ex. 2 â Lecture de programme | Analyse, description, modification de code | /6 |
| Ex. 3 â Ăcriture de programme | Algorithme + code complet (alarme plante) | /8 |
| Ex. 4 â Bonus | RĂ©flexion sur les enjeux sociĂ©taux | /2 |
| Total | /20 |
Consignes Ă rappeler aux Ă©lĂšves : - La documentation micro:bit n'est pas autorisĂ©e - Les exercices sont indĂ©pendants â commencer par celui qu'on maĂźtrise le mieux - Pour l'exercice 3, rĂ©diger l'algorithme avant le code (mĂȘme conseil qu'en S03)
Points de vigilance pour la correction :
- Ex. 1.1 : accepter toute formulation correcte du sens, pas seulement un mot clé exact
- Ex. 2.3 : la matrice LED peut ĂȘtre acceptĂ©e comme « IHM sortie » ou « actionneur » â les deux sont corrects
- Ex. 2.4 : vérifier que la condition
A and Best placée avant les conditions séparées de A et B - Ex. 3 : l'essentiel est la structure
while True+ lecture capteur +if/elif/else+ boutons. Ne pas pénaliser les erreurs mineures de syntaxe si la logique est correcte
Correction de l'exercice 3 (programme complet attendu) :
from microbit import *
while True:
t = temperature()
if button_a.was_pressed():
display.scroll(str(t) + "C", wait=False)
elif button_b.was_pressed():
if t < 10 or t > 30:
display.show(Image.NO)
else:
display.show(Image.YES)
else:
if t < 10:
display.show(Image.SKULL)
display.scroll("GEL !", wait=False)
elif t <= 30:
display.show(Image.HAPPY)
else:
display.show(Image.ANGRY)
display.scroll("CHAUD", wait=False)
sleep(300)
BarĂšme indicatif pour l'exercice 3 :
- Algorithme structuré et lisible : 2 pts
- from microbit import * + while True : 1 pt
- Lecture correcte du capteur (t = temperature()) : 1 pt
- Structure if/elif/else pour les 3 zones de température : 2 pts
- Gestion des boutons A et B : 2 pts
Ăvaluation alternative â Ăvaluation pratique sur machine
Si vous souhaitez une évaluation pratique sur Tinkercad plutÎt qu'écrite, voici une proposition :
Fournir aux Ă©lĂšves un programme incomplet Ă complĂ©ter dans Tinkercad, par exemple un systĂšme de dĂ©tection de chute (accĂ©lĂ©romĂštre) avec un score et un affichage. Les consignes peuvent ĂȘtre rĂ©digĂ©es en Markdown ou dans un notebook Jupyter. Cette approche Ă©value mieux les compĂ©tences de programmation rĂ©elle mais est plus longue Ă corriger.
Ressources complémentaires
- makecode.microbit.org â Ă©diteur officiel micro:bit (blocs + JavaScript + Python)
- microbit.org/fr/ â documentation officielle en français
- tinkercad.com â simulateur en ligne (circuits + micro:bit)
- python.microbit.org â Ă©diteur Python micro:bit en ligne (alternative Ă Tinkercad)
- pixees.fr â ressources pĂ©dagogiques SNT
- education.gouv.fr â programme SNT â programme officiel
Matériel nécessaire
| Séance | Matériel | Remarque |
|---|---|---|
| S01 | Ordinateurs avec Jupyter | 1 par élÚve ou 1 pour 2 |
| S02 | Ordinateurs avec accÚs Tinkercad | 1 par élÚve ou 1 pour 2, compte Tinkercad créé |
| S03 | Ordinateurs avec accĂšs Tinkercad | Idem S02 |
| S04 | Ordinateurs avec Jupyter | 1 par élÚve, évaluation individuelle |
Optionnel : si votre Ă©tablissement possĂšde de vraies cartes micro:bit, la sĂ©ance S02 peut ĂȘtre rĂ©alisĂ©e sur matĂ©riel rĂ©el. Le code MicroPython est identique. L'avantage est de pouvoir tester l'accĂ©lĂ©romĂštre et la boussole rĂ©els.