Objets connectés pour l'algorithmique au lycée
Objets connectés pour l'algorithmique au lycée
l’algorithmique
en lycée professionnel
Groupe InEFLP
de l’IREM*de Marseille
13 mai 2023
2
Niveau intermédiaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3
Niveau intermédiaire - Étalonnage du capteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Niveau expert - Robot autonome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4
À propos de cette publication
En devenant de plus en plus simples, accessibles et facilement utilisables, les objets connectés per-
mettent d’aborder des contenus disciplinaires et de développer des compétences transversales
essentielles pour l’élève.
En travaillant à partir des objets connectés, la situation de départ est plus concrète et l’objectif à
atteindre suffisamment clair pour l’élève. Plus ou moins guidé selon son niveau d’expertise tech-
nique, il est alors libre dans sa démarche. Avec des interfaces de programmation accompagnées
parfois de simulateurs, la démarche par essais et erreurs a ici toute sa place. Par ailleurs, l’élève de-
vra clarifier sa pensée avant de verbaliser ses idées en langage naturel. Il pourra ainsi proposer et
élaborer un modèle acceptable par la machine pour enfin traduire son algorithme en se pliant à la
rigueur du langage de programmation.
Effectuant régulièrement des va-et-vient entre abstraction et réalité, cherchant à valider son algo-
rithme à partir d’un visuel ou d’une exploitation des résultats, l’élève entre progressivement dans la
modélisation.
Les scénarios proposés dans cette brochure permettent tout cela : une approche des mathéma-
tiques et des sciences qui laisse la place à l’expérimentation : manipulation, programmation et
auto-validation.
5
Q UI SOMMES - NOUS ?
Nous sommes des enseignants de maths/sciences regroupés au sein d’un groupe de recherche de
l’IREM de Marseille.
L IENS UTILES
Page du groupe InEFLP
[Link]
IREM de Marseille Site académique de l’IREM de Marseille
[Link]
Portail des IREM Site national des IREM
[Link]
Formation à l’algorithmique LP et SEGPA Padlet de utilisé lors de nos formations académiques
[Link]
Collecte de ressources pour Micro:bit Padlet sur Micro:bit utilisé en formation
[Link]
Brochure sur Micro:bit Publication de la C2i TICE pour une prise en main de Micro:bit
[Link]
Description Micro:bit Fiche sommaire de description de Micro:bit
[Link]
Site IREM dédié à Micro:bit Site de ressources sur Micro:bit du groupe
[Link]
6
À propos de la carte Micro:bit
Micro:bit est un microcontrôleur développé au Royaume-Unis. Par ses caractéristiques techniques
et ses interfaces pédagogiques, cet objet possède un fort potentiel pour l’enseignement de l’algo-
rithmique.
Après un bref rappel historique, nous expliquerons plus en détail les carac-
téristiques propres de cet objet. Nous mettrons ensuite en avant la facilité
de mise en œuvre en formation puis nous poursuivrons en donnant un pre-
mier aperçu de l’intérêt pédagogique de Micro:bit.
Carte Micro:bit
B REF HISTORIQUE
Le développement de Micro:bit s’inscrit dans le cadre d’une politique
volontariste de développement de l’apprentissage de la programma-
tion. L’objectif premier visait à équiper tous les élèves de 11/12 ans du
Royaume-Unis ainsi que leur enseignant. Maintenant que c’est chose
faite, le reste du monde peut en profiter aussi.
La BBC 1 est le moteur de ce projet. 30 ans après sa première distribution d’ordinateurs aux enfants
britanniques 2 , “la Vieille Dame” remet ça aujourd’hui. La BBC utilise ses moyens de diffusions pour
promouvoir et accompagner les utilisateurs, notamment en proposant des émissions de TV dédié à
cet objet sur un mode ludique et divertissant. Sur les 29 3 partenaires de ce projet, se trouvent entre
autres Microsoft 4 pour une partie logiciel et interface de programmation, ARM 5 pour la construc-
tion des processeur et la partie matériel, et Samsung 6 pour un support mobile. C’est donc un projet
qui mobilise des acteurs majeurs du numériques et de la communication, prévu pour durer.
LA CAR TE Micro:bit
Concrètement de quoi s’agit-il ? On parle ici de microcontrôleur, à savoir une carte électronique
programmable pour interagir avec le monde réel. C’est une version accessible de l’électronique
que tout un chacun manipule au quotidien sans se poser de question, par exemple les dispositifs de
domotique qui permettent de gérer à distance le chauffage, la sécurité, l’arrosage du géranium. . .
Ou bien plus simplement la bouilloire programmable au degré ◦ C près, la guirlande du sapin qui
clignote au rythme de Jingle Bells. Ce microcontrôleur permet d’élaborer par exemple un podo-
mètre, un doudou sensoriel, un sismographe rudimentaire. . .
L’interface de programmation est conçue pour être utilisable par un enfant d’une dizaine d’année,
c’est donc la simplicité qui prime. On dispose en première approche d’une application internet uti-
lisant le principe de la programmation par bloc, à savoir sur le principe des Blockly que l’on retrouve
dans Scratch ou StudioCode. En plus d’une programmation accessible, l’interface propose une si-
mulation de la carte. Ceci permet de voir directement les effets du programme dans l’interface.
Pour un usage plus avancé il est notamment possible de programmer avec le langage Python 7 ou
Javascript.
1. Make It Digital - The BBC micro :bit. (s. d.). Consulté 29 mars 2017, à l’adresse [Link]
articles/4hVG2Br1W1LKCmw8nSm9WnQ/the-bbc-micro-bit
2. BBC Micro. (2016, septembre 20). In Wikipédia. Consulté à l’adresse [Link]
Micro&oldid=129763631
3. Partners. (s. d.). Consulté 29 mars 2017, à l’adresse [Link]
4. The BBC micro :bit and Microsoft - Microsoft Research. (s. d.). Consulté 29 mars 2017, à l’adresse [Link]
[Link]/en-us/research/project/the-bbc-microbit-and-microsoft/
5. Ltd, A. R. M. (s. d.). ARM | Innovation Hub - BBC micro :bit. Consulté 29 mars 2017, à l’adresse [Link]
innovation/products/[Link]
6. Code on the go with Samsung & micro :bit. (s. d.). Consulté 29 mars 2017, à l’adresse [Link]
citizenship/[Link]
7. Python editor. (s. d.). Consulté 29 mars 2017, à l’adresse [Link]
7
Détails des entrées/sorties d’une carte Micro:bit
Cartes Micro:bit qui fait de la musique a. Idées | micro :bit. (s. d.). Consulté 29 mars 2017, à
(stage 2018) l’adresse [Link]
R EMARQUE
À partir de chrome par exemple, il est possible de créer un raccourci sur le bureau.
8
Un simulateur !
Le très gros intérêt de cette interface consiste en son simulateur de carte qui permet d’avoir un
aperçu du fonctionnement du programme avant même de le télécharger sur la carte.
R EMARQUE
Le simulateur peut ne pas fonctionner hors ligne.
Compilation et enregistrement
Le téléchargement sur la carte se fait très simplement puiqu’elle est reconnue comme une clé USB.
Il suffit donc de cliquer sur Télécharger et de copier le fichier obtenu (.hex) sur la carte.
R EMARQUE
L’interface propose aussi de programmer en javascript, il suffit juste de cliquer sur un bou-
ton pour changer de type de programmation.
Documentation
— Une page de documentation présente les éléments de base pour la programmation par blocs
[Link]
— Une page de références présentent quelques fonctionnalités propre au microbit
[Link]
9
Une interface en ligne
Il est possible de programmer en python à partir d’un éditeur en ligne [Link]
L’interface est cependant assez pauvre en fonctionnalité et ne dispose pas de l’autocomplétion.
Interface de programmation Mu
Programmation
L’autocomplétion et l’autoindentation est très efficace. L’interface est rapidement utilisable par un
débutant en programmation. Compilation et enregistrement
Le téléchargement sur la carte se fait très simplement puisqu’il suffit de cliquer sur le bouton Flash . Il
est tout de même préférable d’avoir au préalable le réflexe de vérifier le code avec Check .
Communication série
La fonction REPL de Mu permet d’ouvrir une communication via un port série avec le Micro:bit. Il
est ainsi possible d’envoyer et de recevoir des données. Sur les versions bêta il y a même un plotteur
qui permet de visualiser graphiquement les données reçues.
10
Documentation
Il est existe un documentation sur microbit et micropython, qui bien qu’en anglais reste très acces-
sible.
[Link]
11
Mémo : les blocs principaux Micro:bit
Dans cette catégorie, on trouve les deux blocs essentiels qui sont
d’ailleurs présents par défaut à l’ouverture d’un nouveau projet.
— Le bloc "au démarrage" permet d’initialiser un programme, la
séquence d’instruction qui y sera placée ne sera donc exé-
cuté qu’une seule fois.
— Le bloc "toujours" contient la séquence d’instruction qui sera
perpétuellement exécutée par le processeur.
— Outre ces blocs, vous trouverez dans cette catégorie les élé-
ments permettant d’afficher des figures, du texte, d’effacer
l’écran, de faire une pause, etc ...
12
Cette catégorie contient les blocs permettant de faire des boucles
ils sont aux nombres de 4 :
— "répéter", qui est le plus simple et qui convient dans un grand
nombre de cas ;
— "tant que", qui répète la séquence tant que la condition indi-
quée est vraie ;
— "pour" qui répète une séquence en incrémentant une valeur
entière ou un index de liste ;
Dans la catégorie "Logique" nous allons trouver les blocs relatifs aux
instructions conditionnelles, aux tests et au booléens
— Les blocs conditionnels permettent d’exécuter une suite d’ins-
truction si le résultat d’un test donné est [Link] modifie le
nombres de conditions en cliquant sur + ou -.
— Les blocs de test permettent de comparer des nombres, des
chaînes de caractères, des booléens...
— Les blocs booléens permettent d’effectuer des opérations lo-
giques.
Par défaut, cette catégorie est vide tant qu’aucune variable n’a
été définie, ou qu’aucun bloc comprenant une variable par dé-
faut n’a été utiliser.
Une variable peut bien sûr contenir un nombre, un booléen, une
chaîne de caractères, une liste...
— Le bloc "définir" permet d’affecter une valeur à la variable.
— Le bloc "changer par" consisite à incrémenter la valeur de la
variable
Vous trouverez dans cette catégorie tous les blocs pour les opé-
rations classiques, mais aussi les blocs permettant de générer de
l’aléatoire, ou encore de contraindre ou mapper des valeurs.
13
Pour accéder à cette catégorie, il faut dérouler le menu
.
Tout comme pour la catégorie "Variables", il faut définir au préa-
lable une fonction pour voir apparaître le bloc correspondant.
14
Ton premier programme avec Micro:bit
D ESCRIPTION
Objectif
Une minute top chrono !
Il vous faudra un peu plus de temps (mais à peine) pour réaliser ce premier programme,
qui vous permettra de simuler un sablier. Ou alors d’égréner le temps qui passe durant ce
cours interminable.
Voilà de bons prétextes pour découvrir les possibilités offertes par Micro:bit !
Intérêt
découvrir l’interface de programmation et élaborer son premier programme ;
découvrir quelques fonctions pour avoir envie d’en savoir plus ;
programmer un objet très facilement.
Matériel
Pour commencer
— Se munir d’un Micro:bit et de son cable usb ;
— Brancher un Micro:bit sur l’ordinateur ;
— Ouvrir un navigateur internet récent et aller sur la page citée au-dessus.
— Cliquer sur
Prise en main
Lors du démarrage d’un nouveau projet, l’interface place par défaut dans
l’espace de travail les blocs au démarrage et toujours ; or nous n’avons
pas besoin de ce dernier pour notre projet. Pour s’en débarrasser il suffit de
le saisir et le lâcher vers la gauche, au dessus du menu des catégories.
15
Description
Pour construire le programme, il suffira par la suite de sélectionner les blocs
adéquats parmi les catégories et de les enclencher pour créer des sé-
quences d’instructions.
Définition du programme
Nous voulons programmer un Micro:bit qui :
Nous allons trouver les blocs nécessaires dans les catégories suivantes :
Création du programme
Voilà une proposition de programme pour réaliser notre objet :
Il ne vous reste plus qu’à le télécharger. Le fichier sera compilé sous le nom [Link] et se
retrouvera sur votre ordinateur dans votre dossier des téléchargements.
Pour flasher le Micro:bit avec, il suffit de déplacer ce fichier vers la carte, qui doit être reconnue
comme un lecteur USB par votre gestionnaire de fichiers.
R EMARQUE
16
Description
Explication du programme
Dans ce programme, la principale difficulté consiste à éteindre les LED une
par une.
Il faut savoir que les LED sont repérées par leur abscisse (x) et leur ordon-
née (y).
La LED de coordonnées (0,0) est située en haut à gauche et la LED de co-
ordonnées (4,4) est située en bas à droite.
Nous allons donc utiliser ces paramètres dans des boucles "pour" imbriquées. Une boucle va par-
courir les valeurs de x, et l’autre les valeurs de y.
La boucle "pour" utilise une variable (par exemple "i" ou "index") qui est
créée automatiquement lorsqu’on utilise ce bloc.
Nous avons besoin de deux variables : une pour les valeurs de x, l’autre
pour les valeurs de y.
Il faudra donc en créer une nouvelle (par exemple "j") pour parcourir les
valeurs de y.
Puisque la durée est fixée à 1 minutes, c’est à dire 60 000 millisecondes et qu’il y a 25 LED, avant
chaque extinction de LED il faut faire une pause d’une durée de 60000 25 = 2400 millisecondes.
17
Commande de base pour Micro:bit (et
python)
D ESCRIPTION
Objectif
Il est possible de programmer la carte Micro:bit avec Python. Pour cela, il faut utiliser le
module Micro:bit.
Dans cette fiche, vous découvrirez les commandes essentielles de ce module.
Matériel
— 1× Micro:bit
— 1 × IDE programmation python (Mu) : à télécharger/installer en https ://[Link]/
C OMMANDES ESSENTIELLES
Le module microbit
En Python, les entrées/sorties de la carte Micro:bit ne sont pas nativement accessibles. Afin de
pouvoir utiliser les fonctions prévues à cet effet, il faut appeler le module microbit .
Pour appeler ce module, il faut utiliser la commande classique from ... import ...
M ÉTHODE
Astuce
La bibliothèqe microbit est déjà téléchargée et préinstallée avec le logiciel mu-editor. Mais il
faut tout de même l’appeler pour l’utiliser
Le module micropython introduit des classes (avec instances, méthodes et propriétés) et des mo-
dules (avec fonctions et constantes).
18
Commandes essentielles
Exemple de classes : Exemple de modules :
Image pour créer et manipuler les images. Les display pour gérer l’écran de LED
propriétés sont des images déjà enregistrées accelerometer pour interroger l’accéléromètre
(comme les smileys)
compass pour manipuler et interroger la boussole
Button avec deux instances button_a et button_b
pour connaître l’état des boutons. music pour créer et manipuler de la musique
Pin avec différentes instances en fonction du speech pour faire parler le Micro:bit
type de broche (digitale, analogique ou de radio pour communiquer entre Micro:bit via un
contact comme pin0, pin1 et pin2). protocole simple
R EMARQUE
Pour aller plus loin, vous pouvez consulter la page Microbit Module de la documentation
officielle.
R EMARQUE
L’instruction print() permet d’écrire dans le terminal REPL.
M ÉTHODE
Pour utiliser le terminal de la carte Micro:bit :
— Flasher la carte Micro:bit avec micropython.
— Ouvrir le terminal de la carte en cliquant sur REPL
— saisir le code ci-dessous :
> print("Hello, World!")
M ÉTHODE
Le programme ci-dessous affiche 10 fois le même texte dans le terminal :
Afficher un texte
Le module display permet de gérer l’écran de LED de Micro:bit.
19
Commandes essentielles
M ÉTHODE
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Hello, World! et Display
de la documentation officielle.
Des images
La classe Image contient comme propriétés de nombreuses images pré-programmées. Par exemple
l’image du coeur : [Link]
Pour afficher une image, il faut utiliser la fonction [Link]() . La fonction [Link]()
permet d’effacer l’écran.
Pour afficher successivement des images, il faut mettre le Micro:bit en pause. Sinon l’utilisateur n’aura
pas le temps de tout voir. La commande sleep(nombreEntier) arrête donc la carte pendant la
durée (en milliseconde) indiquée.
M ÉTHODE
Le code Python ci-dessous affiche une image pendant une seconde puis affiche une
deuxième image. Une seconde plus tard, l’écran s’efface.
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Images ou Image de la
documentation officielle.
Des animations
Lorsque plusieurs images sont stockées dans un tableau, il est possible de les faire défiler à un rythme
donné. Ceci permet de facilement créer une animation.
Pour faire défiler des images, utiliser l’option delay=nombreEntier de la fonction [Link]() .
20
Commandes essentielles
— Image.ALL_CLOCKS qui affiche la grande aiguille d’une montre sous différentes orientations
— Image.ALL_ARROWS qui affiche des flèches dans toutes les directions.
M ÉTHODE
Le code ci-dessous affiche toutes les 0,200 secondes l’aiguille d’une montre qui tourne :
R EMARQUE
Pour aller plus loin, vous pouvez consulter la page Introduction » Images de la documen-
tation officielle.
Des boutons
Les états des boutons de la carte Micro:bit sont récupérables par le module micropython . Il existe
pour cela deux classes : button_a et button_b .
Ces deux classes possèdent 3 méthodes :
— .get_presses() retourne le nombre de fois que le bouton a été pressé depuis le dernier ap-
pel de cette méthode
— .is_pressed() retourne un booléen qui indique si le bouton est actuellement pressé
— .was_pressed() retourne un booléen qui indique si le bouton a été pressé depuis le dernier
appel de cette méthode.
M ÉTHODE
Le code ci-dessous affiche le nombre de fois que le bouton A a été pressé depuis le dé-
marrage.
Pour programmer un Micro:bit, il est très souvent nécessaire de détecter un évènement comme
par exemple l’appui sur un bouton.
Une méthode simple consiste à créer une boucle infinie while True: contenant un test qui, à
chaque itération de la boucle, vérifie la réalisation de l’évènement attendu.
Lorsque l’événement se réalise, l’instruction break est appelée pour sortir de la boucle.
M ÉTHODE
Le code ci-dessous tourne en boucle.
— Lorsque aucun évènement n’est détecté, c’est l’image triste [Link] qui s’af-
fiche.
— Pendant que le bouton A est pressé, l’image joyeuse [Link] s’affiche.
— Pendant que la broche pin1 est touchée (en même temps que la broche GND),
l’image endormie [Link] s’affiche.
— Lorsque le bouton B est pressé, l’écran s’efface et le programme quitte la boucle.
21
Commandes essentielles
R EMARQUE
Les broches instanciées pin0 , pin1 et pin2 peuvent aussi servir de bouton. La mé-
thode .is_touched() permet de renvoyer un booléen qui devient vrai lorsqu’une per-
sonne en contact avec la masse (broche GND) touche puis relâche la broche en question.
En effet, lorsqu’une instance de ces broches est activée, la carte Micro:bit mesure la
résistance entre cette broche et la masse (broche GND). Lorsque cette dernière varie et
passe d’une valeur quasi infinie à une valeur faible, le test devient vrai. Cet évènement
arrive lorsqu’une personne en contact avec GND touche la broche et la relâche.
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Boutons et Buttons de
la documentation officielle.
Le hasard
Le module random est utilisable avec Micro:bit. Une fois importé, il est très simple de générer des
nombres aléatoires avec les fonctions [Link]() ou [Link](a,b) .
M ÉTHODE
Le programme ci-dessous affiche très rapidement 50 nombres aléatoires tirés entre 1 et 6.
Le dernier nombre tiré est affiché pendant une seconde puis effacé.
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Hasard et Random
Number Generation de la documentation officielle.
Le mouvement
L’accéléromètre du Micro:bit est accessible par le module accelerometer .
22
Commandes essentielles
Il est alors possible de récupérer une des coordonnées du vecteur accélération (avec une fonction
du type accelerometer.get_x() .
M ÉTHODE
Le programme ci-dessous affcihe une flèche en fonction de l’inclinaison du Micro:bit.
Le bouton B permet de quitter cette boucle.
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Mouvement et Accele-
rometer de la documentation officielle.
Les gestes
Le module accelerometer peut aussi détecter des mouvements ou des positions pré-programmés :
les gestes ("up", "down", "left", "right", "face up", "face down", "freefall", "3g", "6g", "8g", "shake").
Il y a alors 3 fonctions qui s’applique sur le module accelerometer :
— accelerometer.get_gestures() retourne un tuple contenant l’historique des gestes. Le dernier
élément du tuple est le geste le plus ré[Link] tuple est réinitialisé à chaque appel de cette
fonction.
— accelerometer.is_gesture("nom") retourne un booléen qui indique si le geste en cours est
"nom" .
— accelerometer.was_pressed("nom") retourne un booléen qui indique si le geste "nom" a été
pressé depuis le dernier appel de cette fonction.
M ÉTHODE
Le programme ci-dessous affiche le nombre "8"
Lorsque le Micro:bit est secoué, il s’affiche une seconde plus tard de manière aléatoire
et équiprobable soit "Oui", soit "Non".
Le jeu recommence sauf si on appui sur le bouton B ce qui fait sortir de la boucle.
23
Commandes essentielles
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Gestes et Accelerome-
ter de la documentation officielle.
La radio
Les cartes Micro:bit peuvent communiquer entres elles au moyen du module radio .
La fonction [Link]("string") permet d’envoyer par radio le texte "string" .
La fonction [Link]() retourne la chaîne de caractère des données reçus par radio. Si rien
n’a été reçu, la chaine vaut None
M ÉTHODE
Le programme est à téléverser sur 2 cartes Micro:bit. Un appui sur les boutons A ou B de
l’un des Micro:bit affiche les texte "A" ou "B" sur l’autre.
button_a.was_pressed()
button_b.was_pressed()
while True:
# émetteur
if button_a.was_pressed():
[Link]("A")
if button_b.was_pressed():
[Link]("B")
# récepteur
incomming = [Link]()
if incomming == "A":
[Link]("A")
if incomming == "B":
[Link]("B")
# sortir de la boucle
if pin0.is_touched():
[Link]()
break
sleep(20)
24
Commandes essentielles
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Radio et Radio de la
documentation officielle.
La boussole
Pour interroger la boussole du Micro:bit, il faut utiliser le module compass .
R EMARQUE
Avant d’utiliser une fonction du module compass , il faut obligatoirement calibrer
Micro:bit.
Pour cela, il est automatiquement demandé à l’utilisateur de bouger la carte dans diffé-
rentes positions. Il faut que le point rouge qui clignote passe par toutes les LED de l’écran.
Pour programmer une calibration de la carte, il est possible d’utiliser la commande
[Link]() .
M ÉTHODE
Le programme ci-dessous fait office de boussole et indique le nord magnétique.
Attention, le capteur est sensible aux objets tels que téléphones, ordinateurs ou aux lieux
tels que ascenseurs ou salle informatique. . .
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Direction et Compass
de la documentation officielle.
25
Des commandes pour aller plus loin
M ÉTHODE
Le programme ci-dessous affiche dans le terminal (ou dans le Graphique si l’outil de l’IDE
est cliqué) des fréquences d’apparitions lors d’une expérience aléatoire.
Le texte "string" permet de décrire, ligne par ligne, la luminosité de chaque pixel de l’écran de
LED. Pour chaque diode, la valeur varie de 0 (éteinte) à 9 (luminosité maximale). Pour séparer les
lignes, il faut utiliser le symbole ":"
M ÉTHODE
Voici une image représentant un bateau avec la coque plus foncée que les 2 mâts :
26
Des commandes pour aller plus loin
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Images ou Image de la
documentation officielle.
M ÉTHODE
Créer un image représentant un tableau et stocker cette image dans la variable
bateau1 :
Créer d’autres images (donnant l’illusion que le bateau s’enfonce) et les stocker dans de
nouvelles variables :
bateau2 = Image("00000:"
"05050:"
"05050:"
"05050:"
"99999")
bateau3 = Image("00000:"
"00000:"
"05050:"
"05050:"
"05050")
bateau4 = Image("00000:"
"00000:"
"00000:"
"05050:"
"05050")
bateau5 = Image("00000:"
"00000:"
"00000:"
"00000:"
"05050")
27
Des commandes pour aller plus loin
bateau6 = Image("00000:"
"00000:"
"00000:"
"00000:"
"00000")
R EMARQUE
Pour aller plus loin, vous pouvez consulter la page Introduction » Images de la documen-
tation officielle.
Le module speech contient les fonctions permettant de gérer la voix de Micro:bit, dont la fonc-
tion [Link]("string") qui fera parler.
M ÉTHODE
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Speech ou Speech de
la documentation officielle.
De la musique
La carte Micro:bit est capable de jouer de la musique. Pour cela, il faut au préalable connecter un
casque audio ou un petit haut-parleur à la carte.
28
Des commandes pour aller plus loin
Le module music contient les fonctions permettant de gérer et de contrôler le son. Parmi elles, la
fonction [Link]() joue une mélodie.
Par ailleurs, le module music contient aussi un grand nombre de mélodies enregistrée (ie. déjà
programmées) comme par exemple :
— [Link],
— [Link] ou encore
— [Link].
M ÉTHODE
Voici comment jouer la musique POWER_UP avec Micro:bit :
La carte Micro:bit peut aussi générer un son en fonction de sa fréquence. Pour cela, il faut utiliser
la fonction [Link](freq, duree) qui va générer pendant duree millisecondes le son de
frequence freq .
M ÉTHODE
Le code ci-dessous génère une sirène qui passe d’un son grave à un son aigu puis qui re-
devient grave.
Chaque fois que le son redevient grave, la boucle teste si le bouton B a été pressé. Si
c’est la cas, le programme quitte la boucle.
M ÉTHODE
Le programme ci-dessous génère un son dépendant de l’inclinaison du Micro:bit.
Le bouton B permet de quitter cette boucle.
29
Des commandes pour aller plus loin
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Musique ou Music de la
documentation officielle.
Les fichiers
La carte Micro:bit peut stocker des fichiers. Ces derniers ne sont pas accessibles par le système
classique de fichiers, mais par l’intermédiaire de l’outil Fichier de l’IDE Mu.
Il est tout à fait possible d’utiliser Python pour lire, créer, modifier ou effacer un fichier.
M ÉTHODE
Pour lister les fichiers présents sur la carte Micro:bit, il faut utiliser le module os .
La fonction [Link]() renvoie alors une liste de chaîne de caractère. Chaque élé-
ment de la liste est un nom de fichier.
import os
listeFichiers = [Link]()
M ÉTHODE
Pour lire le contenu d’un fichier (qui doit exister), il faut :
— créer une instance de fichier en mode lecture 'r'
— utiliser la méthode .read() pour copier le contenu du fichier dans une variable.
L’exemple ci-dessous lit le fichier [Link] , copie son contenu dans la variable txt
et l’afficher dans le terminal :
M ÉTHODE
Pour écrire un texte dans un fichier (qui peut ne pas exister), il faut :
— créer une instance de fichier en mode écriture 'w'
— utiliser la méthode .write("string") pour écrire le texte dans le fichier (attention,
si le fichier existait déjà, cela supprimera tout ce que le fichier contenait).
30
Des commandes pour aller plus loin
L’exemple ci-dessous ouvre le fichier [Link] en écriture puis écrase son contenu
avec le contenu de la variable txt .
txt = "1,2,3\n4,5,6"
with open('[Link]','w') as monFichier:
[Link](txt)
M ÉTHODE
Le programme ci-dessous effectue 50 tirages aléatoires qu’il enregistre dans le fichier
[Link].
# sauvegarder 50 nb aléatoires
from microbit import *
import random
import os
txt = ""
for i in range(50):
nb = [Link](1, 6)
txt = txt + str(nb)
[Link](nb)
sleep(20)
R EMARQUE
Pour aller plus loin, vous pouvez consulter les pages Introduction » Storage ou Local Per-
sistent File System de la documentation officielle.
31
Superviser le travail des élèves sur
Micro:bit
D ESCRIPTION
Objectif
Le suivi individuel des élèves est un critère majeur de réussite d’une activité. L’interface
va permettre de superviser l’avancement de chaque élève, afin de
lui proposer un travail en rapport avec ses capacités.
Intérêt
Micro:bit |classroom est un espace de programmation partagé entre les élèves et leur enseignant.
Cet outil en ligne permet de :
Matériel
R EMARQUE
Le parti pris de l’application est la simplicité avec ses avantages et ses inconvénients.
Avantages : Inconvénients :
— Pas de compte utilisateurs
élève/enseignant à créer. — L’identification des élèves repose sur
la confiance (possibilité d’usurpation
— Fichier unique de sauve-
d’identité lors de la reprise d’une acti-
garde/récupération pour reprendre
vité).
la session plus tard (format .html).
— Compte rendu de la session téléchar- — Pas d’éditeur de texte pour échanger
geable (format texte .docx). avec les élèves.
R EMARQUE
Attention la version présentée ici est la version beta de classroom. Les menus encore en
anglais sont amenés à évoluer (ou pas...)
32
Mode d’emploi de Classroom
M ÉTHODE
Ouvrir le navigateur Chrome et rejoindre le site [Link] Il suffit
de donner le nom de l’activité, le type d’environnement de programmation (bloc ou py-
thon), et c’est parti.
R EMARQUE
Il est possibe de choisir si l’on souhaite autoriser l’application à enregistrer des données lo-
calement (dans le "local storage" du navigateur), à éviter si l’ordinateur est partagé mais
utile si l’on craint de perdre son travail.
Proposer un programme
M ÉTHODE
Dans le bandeau supérieur on trouve le menu de ce qui correspond aux 4 étapes de la
vie d’une session :
1) Création du code dans l’éditeur.
2) Partage de la session.
3) Supervision des travaux.
4) Sauvegarde et clôture d’une session.
33
Mode d’emploi de Classroom
Il faut donc commencer par ouvrir l’éditeur (ici pour la programmation en blocs) et écrire
un programme ou un début de programme (par exemple celui proposé par la fiche "pile
ou face").
Une fois le code terminé, il ne faut pas oublier de le partager en cliquant sur le bouton
"Share code with students".
R EMARQUE
L’éditeur comporte les mêmes fonctionnalités que sur [Link] il est
donc possible de :
— télécharger le code.
— appairer la carte Micro:bit avec le navigateur.
— ouvrir un programme compilé sous la forme d’un fichier .hex en faisant glisser ce fi-
chier dans la fenêtre de classroom.
Le code peut être modifié ultérieurement pour être distribué à toute la classe ou de fa-
çon ciblée, ce qui permet un travail de différenciation.
Partager la session
M ÉTHODE
Pour se connecter à la session, les élèves doivent aller sur le site : [Link]
join renseigner le nom de la classe (l’occasion de réviser son vocabulaire anglais) et ren-
trer le code PIN.
34
Mode d’emploi de Classroom
R EMARQUE
Une fois connectés, les élèves renseigneront leur nom tel qu’il apparaîtra sur votre écran,
mais aussi tel qu’il sera enregistré dans le fichier de sauvegarde et de compte-rendu, at-
tention aux noms fantaisistes.
M ÉTHODE
Dans cette fenêtre, la liste des élèves apparaît à gauche avec l’indication de l’état de
son travail : en cours ou terminé (avec en prime une autoévaluation sous la forme de smi-
ley).
Dans la partie droite apparait le travail de l’élève dont les modifications sont instantanné-
ment reportées. Là encore on retrouve le bouton "Share code with students" qui permet
d’envoyer à tout ou une partie de la classe le code produit par un élève.
R EMARQUE
Pour l’éditeur de programmation par bloc, seul les blocs actifs côté élève apparaitront
dans la fenêtre de supervision.
35
Mode d’emploi de Classroom
M ÉTHODE
Cette dernière étape de la vie d’une session vous permettra de récupérer un fichier html
contenant toutes les informations nécessaires pour reprendre le travail ultérieurement. Le
fait de clôturer la session, rendra inactive la connexion.
Pour reprendre le travail, il suffit d’ouvrir fichier .html dans le navigateur et l’on retrouvera
le dernier programme proposé ainsi que les travaux des élèves. Ils pourront dès lors de
nouveau se connecter, et sélectionner leur nom dans un menu déroulant afin de retrou-
ver leur travail.
R EMARQUE
Attention au paramètrage du navigateur, si celui est trop strict sur la gestion des données
personnelles vous pourriez être dans l’impossibilité de réouvrir correctement une session.
36
Borne de satisfaction avec Micro:bit
D ESCRIPTION
Objectif
Le but de ce projet est de fabriquer une borne de vote
pour un questionnaire de satisfaction. Une question est
posée et la réponse est donnée sur une échelle de trois
valeurs. Par exemple, la question pourra être
— , Très satisfaisant
— Satisfaisant
— / Non satisfaisant
Intérêt
La borne de satisfaction a été présentée et utilisée lors des journées portes ouvertes, dans nos ly-
cées.
Projet concret Les élèves visualisent rapidement le but à atteindre. Ils ont tous déjà vu une borne de
satisfaction et ils imaginent rapidement son utilité.
Motivation La journée portes ouvertes est l’occasion de représenter le lycée auprès de personnes
extérieures. Les élèves sont fiers de montrer leurs créations.
Pluridisciplinarité La création de la borne de satisfaction peut mobiliser de nombreuses disciplines
sur le lycée : maths/sciences pour la conduite du projet, mathématiques pour l’exploitation
des résultats, mode-vêtement et maroquinerie pour la décoration, arts appliqués pour les vi-
suels ou encore bois, plasturgie et métallurgie pour la boite.
Matériel
— 1× Micro:bit
— 1 × accès internet : IDE programmation par bloc [Link]
37
Niveau initiation - Premier modèle
ACTIVITÉ
La Journée Portes Ouvertes aura lieu dans 1 mois !
Nous souhaitons créer une borne de satisfaction.
38
Niveau initiation - Premier modèle
Notes pour l’enseignant
M ÉTHODE
Proposition de résolution :
R EMARQUE
Une proposition de code accessible en ligne [Link]
39
Niveau expert - Cumuler les votes
ACTIVITÉ
Bravo ! Tu as réussi à simuler une borne de vote à 2 choix : satisfaisant
ou non-satisfaisant.
Notre borne finale sera légèrement différente :
— la borne aura 3 choix de votes possibles : non-satisfaisant ; satisfaisant ; très satisfai-
sant
— la borne enregistrera les réponses de chaque vote.
40
Niveau expert - Cumuler les votes
Notes pour l’enseignant
M ÉTHODE
Proposition de résolution :
R EMARQUE
Une proposition de code accessible en ligne [Link]
41
Les fractions avec Micro:bit
D ESCRIPTION
Objectif
Intérêt
Les fractions posent en général des difficultés aux élèves et la majorité font des blocages hérités des
années antérieures. Le risque de démobilisation est grand et l’usage d’un objet connecté permet
de dédramatiser la séance.
Aspect ludique L’usage de l’affichage LED du micro :bit rend l’activité ludique. Les élèves sont pour
la plupart attirés par le côté simple et sympathique de l’écran, ce qui les poussent à réfléchir
et s’investir.
Proportions Afficher une image conforme à une contrainte est un problème concret qui permet
de mieux matérialiser un calcul de proportion, par rapport à un énoncé classique (type statis-
tiques). En évaluation, il y a plus de réponses justes quand la question repose sur un affichage
d’image que sur une situation plus habituelle (point vérifié en classe).
Plusieurs de méthodes de résolutions Il y a de nombreuses façons d’arriver aux solutions. Par exemple
pour éclairer 25 des LED, on peut d’abord faire des paquets de 5, en allumer 2 puis recommen-
cer ; soit éclairer 2 colonnes sur les 5 existantes.
Matériel
— 1× Micro:bit (facultatif car le simulateur peut suffire, même si on perd un peu sur
l’aspect ludique.)
— 1 × accès internet : IDE programmation par bloc [Link]
42
Écrire une fraction
ACTIVITÉ
Écrire la proportion de LED allumée sur chaque micro:bit
R EMARQUE
Prolongement possibles :
— Répondre par une phrase : il y a 5 LED allumées sur un total de 25.
— Pour chaque cas, indiquer la proportion de LED éteintes.
43
Afficher une fraction
ACTIVITÉ
Représenter les fractions suivantes avec les LED du micro:bit
1 32
;
2 100
— Les élèves constatent qu’il n’est pas possible d’afficher un demi, on peut alors leur suggérer
d’afficher la 13ème led en alternance ou de lui réduire la luminosité.
— Les élèves doivent simplifier la deuxième fraction pour afficher, on peut alors faire le lien avec
les pourcentages
44
Somme de fractions
S OMME DE FRACTIONS
Activité élève
ACTIVITÉ
Représenter les fractions suivantes avec les LED du Micro:bit:
2 3 23
+ ;
5 25 25
R EMARQUE
Plusieurs raisonnements sont à construire :
— créer des paquets de 5 et prendre à chaque fois 2 éléments
— diviser le tout en 5 paquets et en prendre 2
45
Dé à 6 faces avec Micro:bit
D ESCRIPTION
Objectif
Intérêt
L’intérêt de cette activité n’est pas seulement de se départir des bruits des dés qui roulent dans la
classe ; l’usage du Micro:bit est ici très pertinent, tant pour les probabilités que pour la programma-
tion.
Simplicité de la situation. La situation est très simple à expliquer et les élèves comprennent le but à
atteindre. L’absence de difficulté mathématique rend cette situation particulièrement simple à
mettre en œuvre.
Motivation des élèves. L’envie de programmer un objet connecté est grande pour les élèves. Cette
façon de programmer, utile, concrète et appliquée, leur correspond parfaitement.
De nombreuses solutions/améliorations possibles. Comme pour bien des projets, il y a plusieurs fa-
çons d’arriver à la solution ; mais par rapport à l’activité Pile ou Face il y aussi plus de possibilité
de faire des erreurs de programmation.
Travail mathématique sur la modélisation. La modélisation d’un dé non truqué est évidente, et
n’apporte pas de difficulté majeure. Par contre l’intérêt majeur du Micro:bit est d’offrir la pos-
sibilité de truquer le dé. On a alors une situation beaucoup plus riche, tant dans la modélisa-
tion que dans les usages du modèle obtenu.
Matériel
46
Niveau simple
N IVEAU SIMPLE
Activité élève
ACTIVITÉ
Mission Utilise Micro:bit pour simuler un dé à 6 faces !
En t’aidant des blocs ci-dessous, programme Micro:bit pour :
1) programmer un événement lorsque l’appareil est secoué ;
2) afficher un nombre entier aléatoire entre 1 et 6.
M ÉTHODE R EMARQUE
Pour résoudre ce problème, il suffit de pro- Plus d’informations sur la page de l’activité :
grammer les instructions de la façon sui- [Link]
vante : latest/decouverte/[Link]
47
Niveau intermédiaire
N IVEAU INTERMÉDIAIRE
Activité élève
ACTIVITÉ
Utilise Micro:bit pour simuler un dé à 6 faces !
En t’aidant des blocs ci-dessous, programme Micro:bit pour :
1) programmer un événement lorsque l’appareil est secoué ;
2) afficher une face de dé selon le résultat d’un tirage aléa-
toire.
Attention tous les blocs ne sont pas représentés et certains blocs
doivent être modifiés.
48
Niveau intermédiaire
Notes pour l’enseignant
Pour arriver au résultat escompté il est nécessaire d’utiliser une variable, ainsi qu’une suite d’instruc-
tion si/sinon si/sinon. Si l’usage d’une variable n’apparaît pas forcément évident pour les élèves,
on peut les laisser programmer sans pour qu’il puisse ainsi constater le bug produit. Il est aussi inté-
ressant de faire remarquer aux élèves que le nombre issue du tirage aléatoire n’a pas forcément à
être celui symbolisé par sortie sur l’écran de DEL.
Le programme à assembler est disponible en suivant ce lien :
[Link]
M ÉTHODE R EMARQUE
Pour résoudre ce problème, il suffit de pro- Il est très simple en partant de cette situa-
grammer les instructions de la façon suivante tion d’envoyer les résultats par radio ver un
(seules les sorties correspondant à 1 et à 6 Micro:bit qui centraliserait alors les issues
ont été incluses, pour raison de place) : de l’ensemble des tirages. Pour cela il suffit
d’ajouter le bloc "envoyer le nombre" qui se
trouve dans la catégorie "Radio".
49
Normal ou truqué ? avec Micro:bit
D ESCRIPTION
Objectif
Intérêt
L’intérêt de cette activité est de pouvoir, en toute liberté, créer des situations équiprobables ou non.
Même s’il est possible d’utiliser de vrais dès truqués, l’utilisation d’une carte Micro:bit permet un
éventail très larges de situations.
Ici le choix a été fait de procéder à un tirage aléatoire (ou non ;) ) d’un nombre entre 0 et 9 (inclus).
Matériel
Progression
L’activité se déroule en 2 temps :
Analyse du programme Dans cette partie, l’élève doit étudier les deux programmes possibles (tru-
qué ou non) puis répondre à une série de questions de probabilités
Expérience aléatoire Ensuite l’élève manipule la carte Micro:bit et effectue un certain nombre
d’expériences aléatoires. Dans cette partie l’analyse des échantillons et la création d’une re-
présentation graphique permettra de conclure sur le type de programme téléversé.
50
Activité
ACTIVITÉ
Activité élève
ACTIVITÉ
Normal ou truqué ?
Sur votre carte est téléversé un des deux programmes de jeu suivant.
Quand le joueur gagne, il a un smiley sourire, sinon il a une croix.
51
Activité
Analyse du programme
5) Jouer des parties par séquence de 25 parties et noter G pour gagner et P pour
perdu, dans votre cahier.
6) En utilisant vos résultats, compléter le tableau ci-dessous. Attention ! Bien prendre son
temps pour compter.
8) Analyser le graphique et conclure sur le programme qui est téléchargé dans votre
carte.
Argumenter avec une ou plusieurs phrases.
R EMARQUE
Le code interactif est accessible en ligne :
Jeu normal [Link]
Jeu truqué [Link]
52
Pile ou face avec Micro:bit
D ESCRIPTION
Objectif
Le but de ce projet est de simuler une expérience aléatoire de lancer de pièce avec une
carte Micro:bit.
À partir d’une situation simple, idéale pour une prise en main de l’interface de program-
mation, il s’agit par la suite d’améliorer le programme pas à pas. L’objectif est d’obtenir
un programme utilisable dans le cadre d’un cours sur les statistiques et les probabilités.
Intérêt
Bien évidemment, travailler avec une carte Micro:bit n’exclut pas de réaliser des expériences aléa-
toires réelles (pièces, dés, etc.). Cependant, il est très intéressant pour l’enseignant d’utiliser des
Micro:bit dans cette partie du programme.
Simplicité de la situation. La situation est très simple à expliquer et les élèves comprennent le but à
atteindre. L’absence de difficulté mathématique rend cette situation particulièrement simple à
mettre en œuvre.
Motivation des élèves. L’envie de programmer un objet connecté est grande pour les élèves. Cette
façon de programmer, utile, concrète et appliquée, leur correspond parfaitement.
De nombreuses solutions/améliorations possibles. Comme pour bien des projets, il y a plusieurs
façons d’arriver à la solution. Par ailleurs, les élèves peuvent apporter ou proposer de nom-
breuses améliorations. La programmation par bloc, exempte de difficulté syntaxique, est parti-
culièrement adaptée à la créativité.
Travail mathématique sur la modélisation. Cette compétence n’est pas facile à mettre en œuvre.
Ici, l’absence de difficulté mathématique rend ce travail beaucoup plus accessible à tous.
Matériel
53
Niveau simple
N IVEAU SIMPLE
Activité élève
ACTIVITÉ
Mission : Utilise Micro:bit pour jouer à Pile ou Face !
En t’aidant des blocs ci-dessous, programme Micro:bit pour :
1) afficher une courte animation ;
2) afficher de façon aléatoire 0 ou 1.
54
Niveau simple
Notes pour l’enseignant
Ce premier niveau permet de se familiariser avec l’interface tout en produisant un premier pro-
gramme fonctionnel et utile.
Le programme à assembler est disponible en suivant ce lien :
[Link]
M ÉTHODE R EMARQUE
Pour résoudre ce problème, il suffit de pro- Plus d’informations sur la page de l’activité :
grammer les instructions de la façon sui- [Link]
vante : latest/decouverte/[Link]
55
Niveau intermédiaire
N IVEAU INTERMÉDIAIRE
Activité élève
ACTIVITÉ
Maintenant, améliore le programme de ton Micro:bit.
Voici deux idées :
— au lieu d’afficher 0 ou 1, affiche plutôt P ou F ;
— utilise une fonction pour gérer ton animation.
56
Niveau intermédiaire
Notes pour l’enseignant
Ce deuxième niveau est l’occasion d’introduire les notions de fonctions et les instructions condition-
nels.
M ÉTHODE
Voici une proposition qui fonctionne :
R EMARQUE
Plus d’informations sur la page de l’activité :
[Link]
57
Niveau expert
N IVEAU EXPER T
Activité élève
ACTIVITÉ
Est ce que Micro:bit peut afficher les tirages obtenus ?
Pour finir, nous souhaitons ajouter une fonctionnalité supplémentaire
à Micro:bit. Il faut maintenant arriver à afficher l’effectif total pour les Piles et pour les
Faces.
Regarde ci-dessous les instructions que tu pourrais ajouter.
58
Niveau expert
Notes pour l’enseignant
Dans ce troisième niveau, nous souhaitons compter les issues obtenues et afficher les totaux. Il faut
introduire la notion de variable informatique.
M ÉTHODE
Le résultat escompté est le suivant :
R EMARQUE
Plus d’informations sur la page de l’activité :
[Link]
59
Fluctuation d’échantillonnage avec
Micro:bit
D ESCRIPTION
Objectif
Le but de ce projet est d’expérimenter la fluctuation d’échantillonnage à partir d’une
situation classique, en établissant tout d’abord un modèle d’expérience aléatoire à partir
des données de la situation, puis en proposant de programmer le tirage d’échantillons
pour une taille n fixée.
Intérêt
L’utilisation de l’interface Micro:bit permet d’obtenir rapidement un programme fonctionnel, mais
aussi d’afficher graphiquement la série de données produites. Cela représente un intérêt non-négligeable
lorsque l’on souhaite traiter la fluctuation d’échantillonnage.
Matériel
60
Description
Progression proposée
M ÉTHODE
On propose ici d’aborder la problématique en trois temps :
61
Niveau prise en main - Vérifier le modèle...
ACTIVITÉ
Ta Mission : Utiliser Micro:bit pour simuler des naissances!
La situation est la suivante : à Ufa, en Russie, 51,2 % des naissances
sont des garçons.
Dans cette ville, une usine agrochimique expose ses employés à des
pesticides contenant de la dioxine.
D’après une étude de l’université de Montréal, parmi les 227 enfants nés d’un parent tra-
vaillant dans cette usine, 91 sont des garçons.
Cette étude cherche à déterminer si l’usine interfère sur les naissances.
Pour simuler les naissances à Ufa, on propose d’utiliser le programme ci-dessous.
Expliquer pourquoi ce programme modélise correctement les naissance à Ufa.
Proposer une façon de l’exploiter afin de vérifier l’influence des produits chimiques sur les
naissances.
M ÉTHODE
Dans cette activité, il s’agit de vérifier que les élèves ont bien compris la problématique
et notamment comment est utilisé la fréquence d’apparition du caractère "garçon".
Bien entendu il faut suggérer aux élèves de tester le programme, afin d’en appréhender
62
Niveau prise en main - Vérifier le modèle...
les limites.
R EMARQUE
Ici l’utilisation de la variable p n’est pas indispensable pour l’algorithme. Son intérêt est
pédagogique : elle permet de mettre en évidence la donnée utilisée ainsi que de de
faire le lien avec le vocabulaire et les notations utilisées dans le cours.
Avant de passer à l’activité 2, il peut être préférable de lister avec les élèves les éléments
manquants qui permettraient de produire et de traiter un échantillon comparable à celui
de l’étude :
— une boucle répéter afin de produire un échantillon de taille 227
— des variables pour dénombrer les naissances de garçons (et de filles ?)
63
Niveau intermédiaire - Générer des échantillons...
ACTIVITÉ
Ta Mission : Utiliser Micro:bit pour simuler des naissances!
Utilise les blocs proposés afin de générer des échantillons de taille
identique à celui de l’étude.
Construire un programme qui affiche le nombre de garçons obtenus
dans un échantillons de 227 naissances.
Utiliser le programme afin de vérifier si la situation de la problématique est vraisemblable.
64
Niveau intermédiaire - Générer des échantillons...
Notes pour l’enseignant
M ÉTHODE
Dans cette activité, il s’agit de vérifier que les élèves se sont bien appropriés la probléma-
tique, notamment par rapport à la taille de l’échantillon.
Bien entendu il faut suggérer aux élèves de tester le programme plusieurs fois.
Le programme attendu peut être celui-ci si l’élève a utilisé tous les blocs proposés (voir
Remarque ci-dessous) :
R EMARQUE
Ici l’utilisation de la variable f n’est pas indispensable pour l’algorithme. Son intérêt est pé-
dagogique : elle permet de faire le lien avec l’activité précédente en conservant le mo-
dèle proposé.
Avant de passer à l’activité 3, il est tout de même préférable de faire s’interroger les
élèves sur la nécessité de l’existence de la variable f.
Enfin, on interrogera les élèves sur le nombre d’échantillons qu’ils jugent nécessaires afin
de valider leurs hypothèses.
65
Niveau avancée - Produire des données...
ACTIVITÉ
Ta Mission : Utiliser Micro:bit pour simuler des naissances et
produire des données!
Utilise les blocs proposés afin de générer 100 échantillons de taille
identique à celui de l’étude.
Construire un programme qui envoie une série de 100 valeurs, cha-
cune correspondant au nombre de garçon dans un échantillon.
Utiliser le programme et la fonctionnalité Afficher la console du simulateur pour visualiser
les données.
Exploiter les données produites pour déterminer si l’usine interfère sur les naissances de
garçons.
66
Niveau avancée - Produire des données...
Notes pour l’enseignant
M ÉTHODE
Dans cette activité, il s’agit de vérifier que les élèves sont bien capable d’interpréter le
graphique obtenu.
Bien entendu il faut suggérer aux élèves de tester le programme plusieurs fois, en prenant
soin d’attendre la fin d’une série avant d’en lancer une deuxième
Le programme attendu peut être celui-ci :
R EMARQUE
On interrogera les élèves sur les minimum et les maximum observés et sur la fréquence
d’apparition d’un effectif inférieur ou égal à 91.
Les données produites sont exportables en .csv et donc exploitables dans un tableur.
67
Chutes et oscillations avec Micro:bit
D ESCRIPTION
Objectif
Le but de ce projet est de programmer un Micro:bit pour récupérer le nombre de chutes
subies afin d’étudier les mouvement oscillants verticaux.
En partant d’une situation simple (compter des chutes), le programme va être étoffé
afin de pouvoir déterminer la période des oscillations. Il faudra tout de même paramé-
trer avec soin le système oscillant et vérifier que la fonction du Micro:bit qui permet de
détecter une chute libre se déclenche effectivement lors des mouvement du système. Il
s’agit notamment de veiller à ce que l’amplitude soit suffisante.
Intérêt
Cette activité permet d’effectuer des mesures physiques de façon simple et efficace tout en de-
mandant un minimum de programmation.
Simplicité de la situation. La situation est très simple à expliquer et les élèves comprennent le but
à atteindre. La problématique liée à l’affichage dans le niveau 1 permet d’aborder des pro-
blèmes de tris classiques en programmation, c’est l’occasion de voir comment des notions
simples de mathématiques (arrondi, modulo) sont utiles dans ce type de situation.
Motivation des élèves. Dans cette activité, l’élève est acteur tout au long de la chaîne de l’expé-
rimentation et utilise un composant électronique que l’on retrouve dans de nombreux objets
(téléphone, manettes de jeux, hoverboard...).
De nombreuses solutions/améliorations possibles. Cette activité propose une solution qui est suf-
fisante pour étudier les oscillations, puisqu’elle ne fait qu’automatiser un traitement qui pou-
vait être fait à la main. Néanmoins il est envisageable par exemple de coupler un deuxième
Micro:bit afin de recueillir et de traiter les données en directes.
Démarche scientifique. Il peut être intéressant de faire évaluer la précision du Micro:bit afin de
vérifier que la fiabilité des mesures. Par exemple une même expérience pourrait faire l’objet
d’une mesure avec le Micro:bit, avec un opérateur manuel et à l’aide de la vidéo. La dé-
tection de la chute libre a été évoquée précédemment, là encore il est intéressant d’étudier
avec les élèves les limites de l’expérience.
Matériel
— 1× Micro:bit
— 1 × accès internet : IDE programmation par bloc [Link]
— ressorts de différentes raideurs
— 1 support vertical
— masses marquées
68
Niveau simple
N IVEAU SIMPLE
Activité élève
ACTIVITÉ
Utilise Micro:bit pour compter et afficher un nombre de chutes !
En t’aidant des blocs ci-dessous, programme Micro:bit pour :
1) programmer un événement lorsque l’appareil est en chute libre ;
2) itérer une variable correspondant au nombre de chutes subies
par le Micro:bit.
3) afficher ce nombre en allumant une nouvelle LED à chaque
chute.
69
Niveau simple
Notes pour l’enseignant
La difficulté de ce niveau tient dans l’affichage, ce qui pourrait facilement être contournée en af-
fichant simplement un nombre plutôt qu’en allumant une nouvelle LED à chaque nouvelle chute.
Néanmoins il est intéressant d’étudier comment ce problème d’affichage peut-être résolu simple-
ment avec les deux opérateurs mathématiques arrondi et modulo.
M ÉTHODE R EMARQUE
Pour résoudre ce problème, il suffit de programmer les La page vers l’interace de pro-
instructions de la façon suivante : grammation avec le code prêt à
télécharger :
[Link]
xxxxxxxxx
70
Niveau intermédiaire
N IVEAU INTERMÉDIAIRE
Activité élève
ACTIVITÉ
Utilise Micro:bit pour déterminer une période moyenne une période
moyenne d’oscillation !
En t’aidant des blocs ci-dessous, programme Micro:bit pour :
1) programmer un événement lorsque l’appareil est en chute libre ;
2) itérer une variable correspondant au nombre de chutes subies par le Micro:bit.
3) utiliser le bloc temps d’exécution pour mesurer la durée d’un nombre d’oscillation
déterminé (10 par exemple)
4) calculer la période moyenne d’oscillation (en ms et afficher le résultat
Attention tous les blocs ne sont pas représentés : certains doivent être doublés et/ou mo-
difiés.
71
Niveau intermédiaire
Notes pour l’enseignant
M ÉTHODE
Pour résoudre ce problème, il suffit de programmer les instructions de la façon suivante :
72
Mémo Mu-Editor pour Micro:bit (et python)
M ÉTHODE (1 ER PROGRAMME )
Réinitialiser le Micro:bit
R EMARQUE
Vous devriez avoir un affichage du type
M ÉTHODE (G RAPHIQUE ) R EMARQUE
Afficher les enregistrements de l’accéléromètre Vous devriez avoir un affichage du type
sous forme de graphique
Réinitialiser le Micro:bit
R EMARQUE
M ÉTHODE (A LÉA )
Activer le module hasard import random
Nombre aléatoire sur [0 ; 1] [Link]()
ex. P [Link](round([Link](),3))
Nombre entier aléatoire sur [a ; b] [Link](a,b)
ex. P [Link]([Link](1,6))
M ÉTHODE (M OUVEMENT )
1 coord. vect. accélération accelerometer.get_x()
accelerometer.get_y()
accelerometer.get_z() Gestes reconnus
ex. P [Link](accelerometer.get_x()) ’up’ ’freefall’
3 coord. vect. (tuple) accelerometer.get_values() ’down’ ’3g’
ex. P print(accelerometer.get_values()) ’left’ ’6g’
Historique gestes (tuple) accelerometer.get_gestures() ’right’ ’8g’
(appeler 2 × la fonction) ex. P print(accelerometer.get_gestures()) ’face up’
’face down’
’shake’
Tester geste actuel accelerometer.is_gesture('...')
Tester geste passé accelerometer.was_gesture('...')
(appeler 2 × la fonction)
M ÉTHODE (R ADIO )
Activer le module radio import radio
Mettre en route la radio [Link]()
Envoyer un message [Link]('...')
ex. P [Link]('pile')
Message reçu (string) (= None si vide) [Link]()
ex. P
if ([Link]()=='pile'): print('Pile')
[Link](channel=..)
Canal perso (⩽ 100
ex. P [Link](channel=21)
[Link](power=..)
Puissance perso (⩽ 7
ex. P [Link](power=7)
M ÉTHODE (B OUSSOLE )
1 coord. vect. champ magnétique compass.get_x()
compass.get_y()
compass.get_z()
ex. P [Link](compass.get_x()) R EMARQUE
Angle (en ◦ ) avec le nord [Link]()
ex.P aiguille=(([Link]())//30)%12
Toujours calibrer la boussole.
D ESCRIPTION
Objectif
Le but de ce projet est de simuler une expérience aléatoire de lancer d’un dé à 6 faces
mais en nous appuyant sur les possibilités offertes par le langage Python.
Ainsi, on ne se contentera pas seulement d’afficher l’issue, mais on montrera comment
stocker et traiter facilement les effectifs obtenus.
Ici, contrairement à l’activité proposée en programmation par blocs, nous suggérons de
commencer par simuler l’affichage tel qu’il apparaît sur un vrai dé. Cela permet de réex-
ploiter les listes d’images introduites avec le projet pile ou face.
Cette activité permettra de couvrir de nombreuses capacités du programme de mathé-
matiques de seconde Bac Pro, tant dans le domaine des statistiques que celui de l’algo-
rithmique.
Intérêt
expérimenter En partant d’une modélisation simple, l’élève va pouvoir observer une expérience
aléatoire, dont il va facilement pouvoir visualiser et traiter les résultats.
programmation événementielle Pour déclencher les tirages et l’affichage, on peut utilise les bou-
tons, mais on peut imaginer utiliser la détection de mouvements.
gestion des listes Même les listes ne font pas partie explicitement des types de données que les
élèves sont sensés maîtrisées, il est difficile de s’en passer en programmation. Cependant, il ne
semble pas insurmontable de les initier aux principes de création, modification et parcours de
listes dans la mesure où l’on retrouve les notions de variables et de boucle for. La majeure diffi-
culté pourrait éventuellement provenir des index.
programmation fonctionnelle le calcul des fréquences peut se faire au travers d’une fonction, ce
qui permet de scinder la production des données et leur traitement.
de multiples déclinaisons possibles Une fois la situation du tirage d’un dé bien établie, il est facile-
ment envisageable d’étendre à d’autres situations : dés non conventionnels, dés multiples.
Matériel
— 1× Micro:bit
— 1 × IDE programmation python (Mu) [Link] ou interface de programmation
ligne [Link]
Remarques
M ÉTHODE
Pour afficher aléatoirement un nombre entier entre 1 et 6, on peut se contenter des 3
lignes ci-dessous.
78
Description
while True:
if button_a.get_presses():
[Link](str(randint(1, 6)))
sleep(800)
Cette solution peut être envisagée afin de simplifier l’approche, mais la création d’image
permet de travailler le repérage et la représentation des nombres, en plus de proposer un
affichage plus attrayant.
79
Niveau initiation
N IVEAU INITIATION
Activité élève
ACTIVITÉ
Ta Mission : Utiliser une carte Micro:bit pour simuler un dé, en
utilisant le langage Python.
Nous utiliserons la bibliothèque random et la fonction randint()
pour tirer un nombre entier aléatoirement entre deux bornes. Il faut donc importer un mo-
dule en plus de microbit :
1) Dans un premier temps nous allons créer les images nécessaires pour afficher les
nombres comme sur un vrai dé.
Par exemple le code ci-dessous permet de créer l’image représentant l’issue "cinq".
cinq = Image("90009:00000:00900:00000:90009")
Chaque nombre correspond à une diode, éclairée de 0 à 9.
2) Ces images sont ensuite enregistrée dans une liste :
i = randint(0, 5)
[Link](issues[i])
80
Niveau initiation
Notes pour l’enseignant
M ÉTHODE
Proposition de résolution : Il faut bien entendu importer les modules nécessaires
un = Image("00000:00000:00900:00000:00000")
deux = Image("00009:00000:00000:00000:90000")
trois = Image("90000:00000:00900:00000:00009")
quatre = Image("90009:00000:00000:00000:90009")
cinq = Image("90009:00000:00900:00000:90009")
six = Image("90009:00000:90009:00000:90009")
if button_a.get_presses():
[Link](str(randint(1, 6)))
sleep(800)
[Link]()
R EMARQUE
Les deux dernières lignes ne sont pas indispensables, mais elles permettent de mieux diffé-
rencier les tirages, surtout lorsque l’on tire le même nombre.
81
Niveau intermédiaire
N IVEAU INTERMÉDIAIRE
Activité élève
ACTIVITÉ
Ta Mission : Utiliser une carte Micro:bit pour simuler un dé, et
dénombrer les issues en utilisant le langage Python.
Comme pour l’activité précédente, nous utiliserons la bibliothèque
random et la fonction randint() , le programme commencera donc aussi par :
Le programme de l’activité précédente devra être complété avec les éléments suivants,
à vous de déterminer quelle doit être leur position dans le programme :
1) Nous allons devoir stocker les effectifs des différentes issues, pour cela il faudra créer
un tableau de données que nous initialiserons avec des "0". Par exemple :
data = [0, 0, 0, 0, 0, 0]
2) Lorsqu’un nombre est tiré, il faudra augmenter l’effectif correspondant de 1. Étant
donné que l’on se sert déjà du nombre tiré aléatoirement pour afficher l’image, il
n’y a qu’une ligne à rajouter. Par exemple si le tableau s’appelle "data" :
data[i] = [data[i]+1
3) Pour déclencher l’affichage des effectifs, on utilisera le bouton B :
button_b.get_presses()
4) Pour parcourir le tableau, il faudra faire une boucle for ... in ... sur le tableau
et afficher chaque élément du tableau avec [Link](...) .
82
Niveau intermédiaire
Notes pour l’enseignant
M ÉTHODE
Proposition de résolution :
Le début du programme est inchangé.
un = Image("00000:00000:00900:00000:00000")
deux = Image("00009:00000:00000:00000:90000")
trois = Image("90000:00000:00900:00000:00009")
quatre = Image("90009:00000:00000:00000:90009")
cinq = Image("90009:00000:00900:00000:90009")
six = Image("90009:00000:90009:00000:90009")
data = [0, 0, 0, 0, 0, 0]
Dans la boucle permettant d’afficher le résultat d’un tirage, il faut inclure l’incrémenta-
tion :
while True:
if button_a.get_presses():
i = randint(0, 5)
[Link](issues[i])
data[i] = data[i] + 1
sleep(1000)
[Link]()
if button_b.get_presses():
for effectif in data :
[Link](str(effectif)+" /")
R EMARQUE
Cette activité étant très guidée, la complexité réside dans le positionnement des instruc-
tions proposées dans le programme et dans la compréhension du fonctionnement des
listes.
Les listes n’étant pas spécifiquement demandées dans le référentiel de seconde, elles
sont à utiliser avec précaution, il est aussi envisageable de créer des variables pour enre-
gistrer l’effectif de chaque issue, mais cela alourdi considérablement le programme.
83
Niveau avancé
N IVEAU AVANCÉ
Activité élève
ACTIVITÉ
Ta Mission : Utiliser une carte Micro:bit pour simuler un dé,
et observer la fluctuaion des fréquences en utilisant le langage
Python.
Comme pour l’activité précédente, nous utiliserons la bibliothèque random et la fonc-
tion randint() , le programme commencera donc aussi par :
Le programme de l’activité précédente devra être complété avec les éléments suivants,
à vous de déterminer quelle doit être leur position dans le programme :
1) Nous allons ajouter une fonction qui nous permettra de calculer les fréquences de
chaque issue.
2) Pour calculer les fréquences, il nous faut connaître l’effectif total des tirages, et donc
pour cela nous devons créer une variable N.
3) Afin d’obtenir rapidement un grand nombre de tirage, nous allons inclure les instruc-
tions liés au tirage dans une boucle de 10 répétitions.
4) Pour déclencher l’affichage des fréquences, on utilisera le bouton B :
button_b.get_presses()
5)
84
Niveau avancé
Notes pour l’enseignant
M ÉTHODE
Proposition de résolution :
Le début du programme est inchangé.
un = Image("00000:00000:00900:00000:00000")
deux = Image("00009:00000:00000:00000:90000")
trois = Image("90000:00000:00900:00000:00009")
quatre = Image("90009:00000:00000:00000:90009")
cinq = Image("90009:00000:00900:00000:90009")
six = Image("90009:00000:90009:00000:90009")
data = [0, 0, 0, 0, 0, 0]
Dans la boucle permettant d’afficher le résultat d’un tirage, il faut inclure l’incrémenta-
tion :
while True:
if button_a.get_presses():
i = randint(0, 5)
[Link](issues[i])
data[i] = data[i] + 1
sleep(1000)
[Link]()
if button_b.get_presses():
for effectif in data :
[Link](str(effectif)+" /")
R EMARQUE
Cette activité étant très guidée, la complexité réside dans le positionnement des instruc-
tions proposées dans le programme et dans la compréhension du fonctionnement des
listes.
Les listes n’étant pas spécifiquement demandées dans le référentiel de seconde, elles
sont à utiliser avec précaution, il est aussi envisageable de créer des variables pour enre-
gistrer l’effectif de chaque issue, mais cela alourdi considérablement le programme.
85
Pile ou face communicant avec
Micro:bit (et python)
D ESCRIPTION
Objectif
Le but de ce projet est de simuler une expérience aléatoire de lancer de pièce truquée
avec une carte Micro:bit. et d’envoyer par radio l’issue afin de centraliser les résultats.
Cette activité permet de prendre en main facilement l’interface de développement en
python
Intérêt
Cette activité, idéale pour découvrir l’interface de programmation, propose d’utiliser python pour
programmer une situation non-équiprobable et d’exploiter le module radio du Micro:bit.
Production et traitement de données Cette situation permet de travailler des notions de probabili-
tés et de statistiques.
Programmation Python Cette activité nécessite que les élèves aient déjà été initié à Python, sans
pour autant demandé une grande maîtrise.
Matériel
— 1× Micro:bit
— 1 × IDE programmation python (Mu) [Link] ou interface de programmation
ligne [Link]
Progression proposée
M ÉTHODE
On propose ici d’aborder la problématique en deux temps :
86
Niveau simple
N IVEAU SIMPLE
Activité élève
ACTIVITÉ
Mission : Programme Micro:bit pour simuler un lancer de Pile ou Face truqué !
On veut que notre pièce virtuelle ait 55% de chance de tomber sur "pile".
Le programme doit débuter avec les instructions ci-dessous afin :
1) d’ importer les bibliothèques nécessaires ;
while True:
if accelerometer.was_gesture('shake'):
3) envoyer la valeur ’P’ ou ’F’ par radio selon l’issue du tirage avec [Link]('')
87
Niveau simple
Notes pour l’enseignant
Ce premier niveau permet de se familiariser avec l’interface de l’IDE en produisant un premier pro-
gramme fonctionnel et utile. Les notions de programmations utilisées sont :
1) l’appel de fonction
2) la boucle while
3) la boucle if
Dans cette première partie l’élève est aussi amené à concevoir une expérience aléatoire avec une
probabilité donnée.
M ÉTHODE
Pour résoudre ce problème, il suffit de programmer les instructions de la façon suivante :
[Link]()
while True:
if accelerometer.was_gesture('shake'):
tirage = [Link](1, 100)
R EMARQUE
La variable tirage n’est pas indispensable, elle permet d’enregistrer le résultat du ti-
rage aléatoire et de rendre le code plus lisible.
L’instruction sleep(10) permet de faire une pause de 10 ms dans le programme.
Afin de distinguer deux tirages successifs, on peut marquer une pause puis effacer l’écran
à l’issue d’un tirage avec [Link]() , mais il peut-être amusant de montrer com-
ment faire une animation simplement à partir d’une succession d’images.
Par exemple la fonction anim() ci-dessous pourra être définie au début du programme
puis appeler avant chaque tirage.
while True:
if accelerometer.was_gesture('shake'):
tirage = [Link](1, 100)
anim()
88
Niveau Expert
N IVEAU E XPER T
Activité élève
ACTIVITÉ
Mission : Réceptionne les données envoyées par les autres Micro:bit et
exploite-les pour tracer un graphique
Dans l’activité précédente nous avons créer une pièce virtuelle qui affiche ’P’ ou ’F’ et
qui envoie cette information par radio. Nous allons programmer le Micro:bit afin de rece-
voir, traiter et afficher les données.
Le programme précédent devra être complété avec les éléments suivants :
1) une déclaration de variables pour dénombrer les ’P’ et les ’F’, comme par exemple
p = 0 , qu’il faut écrire avant la boucle while True:
2) la réception d’un message radio (que l’on pourra enregistrer dans une variable ’is-
sue’) avec la fonction [Link]() ;
3) l’incrémentation des variables décomptant les ’P’ et les ’F’ par exemple p = p + 1
;
4) le calcul de fréquence de ’P’ et de ’F’ (attention il faudra veiller à ne pas diviser par
0) ;
5) l’affichage des fréquences dans le plotter avec print((a,b)) où ’(a,b)’ est le
couple de fréquences de ’P’ et de ’F’ dont on souhaite voir l’évolution au cours du
temps.
89
Niveau Expert
Notes pour l’enseignant
Cette deuxième activité nécessite impérativement l’usage de variables.
La difficulté peut provenir des différents cas de figure à traiter, mais à part l’instruction else: , il n’y
a pas de nouveaux types d’instruction.
Les notions de programmations utilisées sont :
1) la déclaration et l’initialisation de variables
2) la boucle if , complété par else
Dans cette partie l’élève est aussi amené à calculer des fréquences, mais l’exécution de ce calcul
doit être conditionné à la non nullité de la somme des variables.
M ÉTHODE
Pour recevoir et exploiter les données, il est possible de programmer les instructions de la
façon suivante :
[Link]()
f = 0
p = 0
def anim():
tab = [Image.ARROW_N, Image.ARROW_NE, Image.ARROW_E, Image.ARROW_SE,
Image.ARROW_S, Image.ARROW_SW, Image.ARROW_W, Image.ARROW_NW]
[Link](tab, delay=80)
while True:
if accelerometer.was_gesture('shake'):
tirage = [Link](1, 100)
anim()
if tirage <= 55:
[Link]("P")
[Link]('P')
else:
[Link]("F")
[Link]('F')
sleep(10)
issue = [Link]()
if issue == 'P':
p += 1
if issue == 'F':
f += 1
if p+f > 0:
a = p/(p+f)
b = f/(p+f)
else:
a, b = 0, 0
print((a, b))
sleep(10)
90
Robot Maqueen et capteur de distance
D ESCRIPTION
Objectif
Intérêt
Capteur piézoélectrique La mise en œuvre du détecteur permet d’utiliser un capteur piézoélec-
trique de façon concrète.
Propagation du son dans un milieu Une explication théorique du fonctionnement du capteur per-
met de parler de la célérité du son dans l’air et de la notion d’ultrason.
Régression linéaire L’étalonnage permet de mettre en application sur un cas concret la régression
linéaire.
Mouvement du robot La dernière partie permet de relier mouvement et détection, avec une auto-
matisation basique.
Matériel
— 1× Micro:bit
91
Description
Remarques
Le robot Maqueen est un robot pilotable à l’aide d’une carte
Micro:bit.
Ce dernier est équipé de 2 roues motorisées, d’un buzzer, de 2
leds rouges de signalements, de 4 leds Neopixel, de 2 capteurs de
lignes, d’un capteur de télécommande infrarouge et d’un capteur
de distance à ultrason. C’est ce dernier capteur que nous allons uti-
liser, ainsi que les moteurs.
Le détecteur envoie une pulsation sonore de fréquence 40kHz et
mesure le temps que met l’onde pour faire l’aller-retour après ré-
flexion sur un obstacle. Ce temps permet ainsi d’estimer une distance en reliant temps, célérité de
l’onde et distance par la relation : d = c×t
2 avec la distance d en m, la célérité c du son dans l’air en
m/s et t le temps en s.
Pour chaque robot, un étalonnage est obligatoire à chaque séance car :
— la célérité dépend de la température
— l’horloge interne des Micro:bit n’est pas très précises.
M ÉTHODE
Installation de la bibliothèque Maqueen pour Makecode
92
Description
4) Le bloc sensor unit permet de mesurer la distance, Motor à faire tourner les moteurs
(M1 gauche, M2 droit) et Motor stop à les arrêter.
93
Niveau initiation - Utilisation du capteur de distance à ultrasons
ACTIVITÉ
Première programme avec le robot Maqueen.
Ta Mission : Sauras-tu utiliser le programme ci-dessous pour
programmer ton robot Maqueen?
M ÉTHODE
Proposition de résolution :
— Télécharger le programme puis le téléverser sur la carte Micro:bit.
— Insérer la carte dans le robot Maqueen.
— Tester le programme en mesurant la distance (bouton A) à divers objets et chercher
les limites du détecteur (angle de visée, objet non plat. . .)
R EMARQUE
Nous rappelons qu’il est indispensable d’installer l’extension Maqueen sur l’interface Make-
code ([Link]
94
Niveau intermédiaire - Étalonnage du capteur
ACTIVITÉ
Le capteur du robot Maqueen est très précis, mais malheureusement
il donne souvent des valeurs faussées à cause de la chaleur et de la
carte Micro:bit.
Pour corriger cela, il est indispensable de l’étalonner.
Ta Mission : Nous avons besoin de toi pour étalonner le robot Maqueen de la
classe.
Si tu le désires, tu peux utiliser une règle, un obstacle (comme un tableau magnétique) et
t’inspirer des deux indices ci-dessous. . .
M ÉTHODE
95
Niveau intermédiaire - Étalonnage du capteur
96
Niveau expert - Robot autonome
ACTIVITÉ
Ta Mission : Programme le robot Maqueen pour qu’il avance quand
on appuie sur le bouton A puis s’arrête à 20 cm d’un obstacle.
M ÉTHODE R EMARQUE
Proposition de résolution : Les élèves peuvent aussi programmer un ra-
dar de recul en utilisant aussi le haut-parleur
du robot Maqueen.
97
Déterminer une vitesse avec MBot
D ESCRIPTION
Objectif
Le but de ce projet, liées au programme de Maths-Sciences en CAP ou Bac Pro, est d’uti-
liser le robot MBot pour travailler sur le mouvement et la mesure.
Outre la vitesse, qui est au centre du projet, une travail sur l’erreur, l’incertitude et les sta-
tistique est possible.
Intérêt
Détermination de mesures physiques Ces activités proposent d’étudier un questionnement essen-
tiel de physique : comment mesurer une vitesse ? Deux grandeurs sont donc à déterminer le
plus précisément possible : une distance et un temps.
Mouvement uniforme ou accéléré Le robot MBot met un certain temps à démarrer : le mouvement
est donc accéléré puis uniforme.
Travail sur l’incertitude Il est intéressant de déterminer la vitesse lorsque le mouvement est uniforme.
Ainsi il sera obligatoire de lancer le chrono après le départ. Ce qui est intéressant car cela en-
gendre un travail sur l’erreur et permet un calcul d’incertitude.
Étude statistique Un travail statistique pourra découler de ces mesures. Par exemple, il est intéres-
sant de déterminer de moyenne et écart type.
Matériel
— 1× MBot
— 1 × accès internet : IDE programmation par bloc [Link]
Remarques
M ÉTHODE
Dans la réalisation, nous suggérons d’utiliser un seul robot puis de demander aux élèves
de mesurer temps et distance (donner 1 chronomètre par groupe ou utiliser les télé-
phone).
Récupérer ensuite l’ensemble des résultats (une dizaine) puis proposer de les exploiter
afin de déterminer une valeur précise et acceptable de durée et distance. Il sera sans
doute nécessaire de refaire les expériences au besoin.
L’objectif n’est pas d’obtenir des valeurs identiques, mais d’analyser les conditions de l’ex-
périence et de mesures pour en améliorer la précision.
98
Niveau initiation - Programmer le déplacement de MBot
ACTIVITÉ
Dans le cadre de la conduite autonome d’un véhicule le conducteur programme la vi-
tesse à laquelle il souhaite rouler.
Ta Mission : Programmer le déplacement du robot MBot en utilisant le
logiciel MBlock ?
ACTIVITÉ
Ta Mission : Stopper le déplacement du robot MBot si l’on presse la
touche « Espace » du clavier.
M ÉTHODE R EMARQUE
La plupart des élèves ne vont pas prévoir de Concernant la conduite autonome, il est
stopper le robot. possible de montrer la première minute de
cette vidéo.
Il est possible d’utiliser des vitesses différentes
que celles proposées ou encore des vitesse
Ils devront trouver comment modifier leur négatives.
programme.
99
Niveau intermédiaire - Déterminer la vitesse de MBot
ACTIVITÉ
Karim et Julien programment le robot MBot pour qu’il se dé-
place. Julien annonce à Karim :
M ÉTHODE R EMARQUE
En général, les élèves utilisent leur pro- Très peu attendent que le robot ait déjà at-
gramme du fichier « MBot1 », leur téléphone teint une certaine vitesse avant de démarrer
(pour mesurer le temps) et une règle (pour le chronomètre. Cela peut induire une ré-
déterminer une distance). flexion sur le mouvement accéléré puis uni-
La conversion des vitesses m/s et km/h est forme.
au centre de l’activité
100
Vitesse de rotation avec MBot
D ESCRIPTION
Objectif
L’objectif du projet est de mettre en évidence, par l’expérimentation, l’influence du dia-
mètre d’une roue sur la vitesse linéaire d’un véhicule.
Il faut arriver à observer que, pour un même distance, l’augmentation du diamètre des
roues entraîne une diminution du temps de parcours du véhicule.
Autrement dit : la vitesse linéaire augmente lorsque le diamètre des roues augmente
Intérêt
Il est intéressant d’aborder le thème de sciences Comment passer de la vitesse des roues à la vi-
tesse du véhicule avec un robot. En effet :
Expérimentation et démarche scientifique l’élève manipule tout au long de l’activité, fait des hypo-
thèses et doit valider ses choix
Objet attrayant le robot Mbot reste attractif pour les élèves et sa programmation permet de valori-
ser le travail de l’élève
Matériel
— 1× MBot
— 1 × accès internet : IDE programmation par bloc [Link]
Remarques
M ÉTHODE
L’activité propose de mettre en évidence le lien entre variation du diamètre et variation
de vitesse linéaire.
Cette activité peut être prolongée par une vérification de la relation entre vitesse linéaire
(V ), rayon (r) et fréquence de rotation (N ) : V = 2 × π × r × N .
Pour cela il faudra utiliser un tachymètre permettant une mesure de la fréquence de rota-
tion.
101
Niveau initiation
N IVEAU INITIATION
Activité élève
ACTIVITÉ
Hélias veut booster son robot en changeant les roues. Il a trouvé sur
Internet de jolies roues jaunes pouvant s’adapter sur le MBot.
Ces nouvelles roues sont plus grandes et Hélias s’exclame : "En plus,
lorsque je sélectionnerai la vitesse 100, mon robot ira plus vite !".
Ta Mission : Comment vérifier si Hélias a raison, le robot ira-t-il vraiment plus
vite ?
M ÉTHODE R EMARQUE
1) La distance doit être suffisamment Les élèves utilisent leur téléphone (pour me-
grande pour mettre en évidence la va- surer le temps) et une règle (pour déterminer
riation de vitesse et suffisamment petite une distance).
pour éviter une dérive du robot. L’utilisation de la barre d’espace pour arrê-
ter le robot n’est pas indispensable mais est
2) Montrer l’intérêt de faire plusieurs fois la très pratique pour gérer l’arrêt du robot.
même mesure afin de mettre évidence
la variabilité d’une mesure.
3) Proposition de code :
102
Variation de vitesses avec MBot
D ESCRIPTION
Objectif
Intérêt
Il est intéressant d’aborder le thème de sciences Comment peut-on décrire le mouvement d’un
véhicule avec un robot. En effet :
Expérimentation et démarche scientifique l’élève manipule tout au long de l’activité, fait des hypo-
thèses et doit valider ses choix
Analyse et modification d’un algorithme l’algorithme de départ n’étant pas assez simple, l’élève
doit émettre une hypothèse à partir de l’analyse de l’algorithme et ensuite le modifier pour
changer le mouvement du robot
Matériel
— 1× MBot
— 1 × accès internet : IDE programmation par bloc [Link]
Remarques
M ÉTHODE M ÉTHODE
1) Lecture de l’algorithme par les élèves 1) Modification de l’algorithme pour obte-
2) Hypothèses des élèves (individuelle- nir un mouvement décéléré
ment et/ou par groupe) sur la nature 2) Manipulation / Observation
du mouvement 3) Validation / Conclusion
3) Proposition de protocole permettant
de valider l’hypothèse (mesure de vi-
tesse à partir de durée et distance)
4) Manipulation / Observation
5) Validation / Conclusion
103
Niveau initiation - Nature du mouvement
ACTIVITÉ
Un véhicule autonome est apte à avancer sans l’intervention du
conducteur.
Il emploie des algorithmes pour décider de l’action à réaliser sur les
commandes du véhicule.
Le robot MBot se déplace suivant le même principe. Il est aussi équipé d’un émetteur et
d’un récepteur à ultrason qui permet de déterminer la distance du robot par rapport à
un obstacle.
Le code ci-dessous a été envoyé dans le robot.
104
Niveau expert - Mouvement décéléré
ACTIVITÉ
Quand le robot exécute l’algorithme ci-dessous, la distance en cen-
timètre entre l’obstacle et le robot s’affiche en fonction du temps (en
seconde).
Ta Mission : Modifie le code pour que ton robot MBot ait un mouvement décéléré.
Vérifie alors expérimentalement que ton robot obéit !
105
Normal ou truqué ? avec STM32
Éducation
D ESCRIPTION
Objectif
Cette activité propose à l’élève de travailler sur la fluctuation d’échantillonnage.
Sans accéder au code, seulement en manipulant la carte STM32 Éducation, l’élève doit
déterminer si le jeu téléversé est un jeu normal ou truqué. . .
Intérêt
L’intérêt de cette activité est de pouvoir, en toute liberté, créer des situations équiprobables ou non.
Même s’il est possible d’utiliser de vrais dès truqués, l’utilisation d’une carte STM32 Éducation permet
un éventail très larges de situations.
Ici le choix a été fait de procéder à un tirage aléatoire (ou non ;) ) d’un nombre entre 0 et 9 (inclus).
Matériel
Progression
L’activité se déroule en 2 temps :
Analyse du programme Dans cette partie, l’élève doit étudier les deux programmes possibles (tru-
qué ou non) puis répondre à une série de questions de probabilités
Expérience aléatoire Ensuite l’élève manipule la carte STM32 Éducation et effectue un certain nombre
d’expériences aléatoires. Dans cette partie l’analyse des échantillons et la création d’une re-
présentation graphique permettra de conclure sur le type de programme téléversé.
106
Activité
ACTIVITÉ
Activité élève
ACTIVITÉ
Normal ou truqué ?
Sur votre carte est téléversé un des deux programmes de jeu suivant.
Quand le joueur gagne, il a un smiley sourire, sinon il a une croix.
107
Activité
Analyse du programme
5) Jouer des parties par séquence de 25 parties et noter G pour gagner et P pour
perdu, dans votre cahier.
6) En utilisant vos résultats, compléter le tableau ci-dessous. Attention ! Bien prendre son
temps pour compter.
8) Analyser le graphique et conclure sur le programme qui est téléchargé dans votre
carte.
Argumenter avec une ou plusieurs phrases.
R EMARQUE
Le code interactif est accessible en ligne :
108
Pile ou face avec STM32 Éducation
D ESCRIPTION
Objectif
https ://[Link]/8232568565gwgstdqzhjfk Le but de ce projet est de simuler
une expérience aléatoire de lancer de pièce avec une carte STM32 Éducation.
Intérêt
Bien évidemment, travailler avec une carte STM32 Éducation n’exclut pas de réaliser des expériences
aléatoires réelles (pièces, dés, etc.). Cependant, il est très intéressant pour l’enseignant d’utiliser des
STM32 Éducation dans cette partie du programme.
Simplicité de la situation. La situation est très simple à expliquer et les élèves comprennent le but à
atteindre. L’absence de difficulté mathématique rend cette situation particulièrement simple à
mettre en œuvre.
Motivation des élèves. L’envie de programmer un objet connecté est grande pour les élèves. Cette
façon de programmer, utile, concrète et appliquée, leur correspond parfaitement.
De nombreuses solutions/améliorations possibles. Comme pour bien des projets, il y a plusieurs
façons d’arriver à la solution. Par ailleurs, les élèves peuvent apporter ou proposer de nom-
breuses améliorations. La programmation par bloc, exempte de difficulté syntaxique, est parti-
culièrement adaptée à la créativité.
Travail mathématique sur la modélisation. Cette compétence n’est pas facile à mettre en œuvre.
Ici, l’absence de difficultés mathématiques rend ce travail beaucoup plus accessible à tous.
Initiation aux différents capteurs Aux travers cette activité on peut commencer à utiliser l’accéléro-
mètre (en secouant la carte) , le magnétomètre (en approchant un aimant ) etc..
Matériel
109
Progression proposée
P ROGRESSION PROPOSÉE
M ÉTHODE
Voici la progression proposée aux élèves. L’objectif est atteint dès la troisième étape. Les
étapes suivantes, de niveau expert, sont du bonus.
1) Initiation - Premier modèle.
Afficher d’un coup 16 tirages aléatoires. Nous donnons à l’élève une nouvelle fonc-
tion : efface. Elle permet d’effacer l’écran LCD avant chaque tirage (sinon on voit
rien). De plus, le fond d’écran chage de couleur de façon aléatoire (c’est fun !)
4) Expert - Initialisation.
Ajouter la fonction initialisation qui lance 10 fois la fonction efface (ce qui
fait une petite animation de couleurs). Utiliser cette fonction pour initialiser STM32
Éducation au démarrage et lors d’un appui long sur le bouton.
5) Expert - 32 tirages.
110
Niveau initiation - Premier modèle
ACTIVITÉ
Mission : utiliser vos STM32 Éducation pour jouer à Pile ou Face!
R EMARQUE
M ÉTHODE
La proposition de so-
Proposition de résolution :
lution interactive est
accessible en ligne
[Link]
_EMYM0YfT11A6.
111
Niveau intermédiaire - Pile ou Face
ACTIVITÉ
Mission : améliorer votre simulateur
Utiliser les blocs ci-dessous pour remplacer les 0 et les 1 par des p ou
f.
112
Notes pour l’enseignant
M ÉTHODE R EMARQUE
Proposition de résolution : La proposition de solution interactive est
accessible en ligne [Link]
_MysE701XAHpo.
113
Niveau intermédiaire - 16 tirages
ACTIVITÉ
Mission finale : utiliser la puissance de l’électronique pour
effectuer 16 tirages simultanés !
En vous aidant des
instructions proposées,
modifier votre programme
pour afficher
simultanément 16 tirages
sur la première ligne.
N’oubliez d’ajouter la
fonction efface qui permet
d’effacer l’écran LCD de
votre STM32 Éducation.
114
Niveau intermédiaire - 16 tirages
M ÉTHODE R EMARQUE
Proposition de résolution : La proposition
de solution in-
teractive est
accessible en
ligne https:
//[Link]/
_711WJtAupKRX.
115
Niveau expert - Initialisation
ACTIVITÉ
Mission experte 1/3 : initialiser la carte
Afin de préparer
les améliorations
à venir, créez une
nouvelle fonction
initialisation.
Elle doit exécuter
10 fois la fonction
efface, ce qui
fait très jolie avec
l’écran coloré !
Cette fonction
initialisation
sera appelée
au démarrage
de votre STM32
Éducation et aussi
lors d’un appui
long sur le bou-
ton.
116
Niveau expert - Initialisation
M ÉTHODE R EMARQUE
Proposition de résolution : La proposition
de solution in-
teractive est
accessible en
ligne https:
//[Link]/
_c3mKWL3fFX6A.
117
Niveau expert - 32 tirages
ACTIVITÉ
Mission experte 2/3 : Plus de tirages !
Utiliser les instructions ci-dessous pour effectuer les 32 tirages : 16 sur
la première ligne de l’écran et 16 sur la seconde.
118
Niveau expert - 32 tirages
M ÉTHODE R EMARQUE
Proposition de résolution : La proposition
de solution in-
teractive est
accessible en
ligne https:
//[Link]/
_F8MKCVD2jDY8.
119
Niveau expert - Enregistrer les effectifs
ACTIVITÉ
120
Niveau expert - Enregistrer les effectifs
M ÉTHODE
Proposition de résolution :
R EMARQUE
La proposition de solution interactive est accessible en ligne [Link]
_VEy38D1iC07g.
121