Thématiques
Participants 8
Durée 2h
Public 11-14 ans
Prérequis Aucun
Matériel
Présenter le(s) animateur(s), le lieu, le déroulé de l’atelier.
L’objectif du jour : contrôler un robot. Les robots dont on dispose sont assez bêtes, ils ne comprennent que des instructions très simples. On va devoir les programmer, leur donner un algorithme à suivre.
Qu’est-ce qu’un algorithme ? Nous allons le voir tout de suite.
Préparer la pièce en faisant un parcours simple sans trop d’obstacles, avec les chaises et les tables, avec une entrée et une sortie. Présenter le but du jeu : mimer un robot marchant de l’entrée à la sortie du labyrinthe. Un volontaire fera le robot, et aura les yeux bandés. Il suivra les instructions que donneront les autres participants. Il y a uniquement trois instructions possibles :
Par mesure de sécurité, le robot avance avec les bras devant, et s’il détecte un obstacle, n’avance plus, sans rien dire. L’animateur vérifie qu’il ne se fasse pas mal.
Première traversée : instructions. Applaudir le robot lorsqu’il arrive à la sortie.
Deuxième traversée : écrire un algorithme. Modifier le labyrinthe. Demander à un participant de noter, sur le tableau, toutes les instructions qui sont données, dans l’ordre. Un « A » pour avancer, un « G » pour tourner à gauche, un « D » pour tourner à droite.
Troisième traversée : exécuter un algorithme. Sans modifier le labyrinthe, en ne faisant que répéter les mêmes instructions. La longueur variable des pas peut provoquer de petites erreurs, l’animateur pourra les corriger.
Quatrième traversée : mémoire & variable. Modifier le labyrinthe. Demander aux participants de dessiner une carte du labyrinthe sur le tableau. Ensuite, ils devront se tourner, faire dos au robot, et ne le guider qu’en utilisant cette représentation abstraite de l’environnement. Rajouter une nouvelle instruction au robot : « Recommencer », pour demander au robot, avec l’aide de l’animateur, de revenir au point de départ, à utiliser lors la confusion devient trop complexe.
Cinquième traversée : conditions. Demander aux participants de se tourner dos au robot. Modifier le labyrinthe : personne n’a connaissance du nouveau plan. Les participants ont une nouvelle instruction disponible : poser la question « Obstacle ? » au robot, qui peut répondre par « Oui » ou « Non ». Donner un indice aux participants : dessiner le plan au fur et à mesure, en notant la position du robot.
Débriefer avec les participants. Au bout d’un moment, un motif semble se répéter : on demande au robot s’il y a un obstacle devant lui. S’il n’y a rien, il peut avancer. Sinon, il faut tourner, à gauche ou à droite, en fonction du plan. Il s’agit-là d’une condition : si, alors, sinon. La condition peut être exprimée de la façon suivante : « un obstacle est présent devant le robot ».
Sixième traversée : boucles. Dernière traversée, cette fois-ci le robot est autonome : les participants donnent toutes les instructions en amont, avant même de savoir quel sera le labyrinthe. Une nouvelle instruction est disponible : « Tant que
Proposer une solution : tant que le robot n’est pas arrivé, vérifier s’il y a un obstacle. Si oui, tourner à droite. Sinon, avancer. Ce n’est pas parfait, cela ne fonctionnera pas avec tous les algorithmes. Déjà, la technique de la main droite ne fonctionne pas dans les labyrinthes avec des boucles. Et notre technique est encore moins bonne, certaines configurations bloquent le robot dans un va-et-vient perpétuel. Malgré tout, ça devrait marcher dans beaucoup de cas.
Essayer avec un labyrinthe sans boucle utilisant uniquement des virages à droite ou des intersections en T. Tous les participants regardent le robot appliquer l’algorithme, et le guident s’il est perdu.
Les participants récupèrent chacun une carte Micro:bit et un câble USB, et s’installent sur les postes. Guider les participants pour brancher la carte en USB. Faire une première manipulation pour lier le site et la carte : cliquer sur « Télécharger.hex » et copier-coller le fichier ainsi téléchargé sur la carte.
Afficher une icône. Présenter le premier composant de la carte, la matrice de LEDs, en faisant deviner les participants. Les enfants connaîtront sûrement les rubans de LEDs, que l’on peut montrer également. Pour les contrôler, il faut donner l’instruction à la carte, comme ce que l’on a fait pour le robot et le labyrinthe. Montrer le bloc d’instruction « Afficher l’icône » dans l’onglet « Affichage ». Le placer dans « Au démarrage ». Il faut enfin envoyer ce code à la carte, en cliquant sur téléverser. Tester en affichant différentes icônes.
Faire clignoter une icône. Basculer le bloc dans « Répéter indéfiniment » et présenter le bloc « Attendre N seconde.s » dans l’onglet « Entrées/Sorties ». L’objectif est de changer automatiquement d’icône toutes les secondes. Expliquer le fonctionnement en boucle très rapide de la carte pour justifier la nécessité d’attendre.
Utiliser les boutons. Présenter un nouveau composant : les boutons A et B, toujours en faisant deviner les participants. Une nouvelle possibilité s’offre alors à nous : afficher une icône différente selon si on appuie sur le bouton A, ou le bouton B. Montrer le bloc d’instruction « Si le bouton X est appuyé alors » dans l’onglet « Entrées/Sorties ».
Utiliser la radio. Présenter un nouveau composant : l’antenne. Regrouper les participants en paires. Les animateurs peuvent s’inclure pour finir la dernière paire. L’objectif est de faire de la carte de la première personne une télécommande, qui va contrôler l’icône sur la deuxième carte. Pour cela :
La télécommande est déjà prête, mais pas chez tous les participants. Demander à tous de configurer leur carte en télécommande, en envoyant les commandes « A », « B », « A+B » et « LOGO », en présentant également la possibilité d’appuyer sur le bloc « Si LOGO est touché alors ». Chaque participant se voit également assigner un groupe différent. Astuce : ajouter un bloc « Attendre 1 seconde.s » après avoir envoyé le message « A+B », pour éviter les confusions.
Les participants vont chercher une seconde carte, ainsi que des piles et un robot. Ils branchent la nouvelle carte sur leur poste, réinitialisent leur code sur Vittascience, et refont la manipulation de télécharger et copier-coller le premier fichier.hex.
Décrire le fonctionnement des roues du robot : chacune est contrôlée par un moteur. Pour aller en avant, il faut faire tourner les deux moteurs vers l’avant. Montrer le bloc « [Maqueen] contrôler le moteur X direction Y vitesse Z », dans l’onglet « Robots », et répondre à la touche du logo par deux instructions :
Toucher « A+B » stoppe le robot : bloc « [Maqueen] arrêter le robot » dans l’onglet « Robots ».
Mais comment tourner ? Il faut faire tourner un moteur dans un sens, et l’autre dans le sens inverse. Pour tourner à gauche, avec le bouton A :
Pour tourner à droite, avec le bouton B :
Finir le robot télécommandé, et laisser les participants s’amuser avec.
S’il reste du temps, expliquer le principe de fonctionnement du capteur à ultrasons, en faisant deviner son utilité (autre que de faire les yeux du robot). Les ultrasons rebondissent, et en chronométrant le temps qu’ils mettent pour faire un aller-retour, on peut deviner la distance avec l’obstacle devant nous. Dans l’air, le son se déplace à environ 340 m/s.
Rajouter un bloc « Si … alors » avec la condition « [Maqueen] distance (cm) » inférieure à 3, et faire la démonstration du robot s’arrêtant lorsqu’il rencontre un obstacle.