Le Robot télécommandé

Thématiques

  • Algorithmie
  • Scratch
  • Micro:bits

Participants 8

Durée 2h

Public 11-14 ans

Prérequis Aucun

Matériel

  • Vidéoprojecteur
  • Salle avec chaises et tables
  • Tableau blanc ou paperboard
  • Foulard pour bander les yeux
  • 8 postes informatiques
  • 16 cartes Micro:bits, avec leur câble USB et le boîter à piles
  • 8 robots Maqueen
  • 40 piles AAA (24 pour les robots, 16 pour les cartes). Possibilité de laisser les cartes branchées sur l’ordinateur, pour réduire le nombre de piles.

Préparation

  • Initialiser toutes les cartes micro:bits
  • Monter les robots Maqueen

Installation

  • Charger les piles
  • Démarrer les postes des participants
  • Connecter les postes des participants sur le site Vittascience sur le navigateur Chrome ou Edge (la fonctionnalité de téléversement rapide ne fonctionne pas encore sur Firefox)
  • Présenter les robots sur une petite table

Déroulé

Introduction (5 min)

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.

Jeu du robot idiot (45 min)

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 :

  • « Avance » d’un pas
  • « Tourne à gauche » d’un quart de tour
  • « Tourne à droite » d’un quart de tour

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  », ainsi qu’une nouvelle condition : « le robot se trouve à l’arrivée ». Réfléchir ensemble aux instructions du robot, les noter au tableau. Indices :

  • On va réutiliser le motif dégagé lors de l’étape précédente.
  • Tant que le robot n’est pas arrivé, vérifier s’il y a un obstacle. Si oui tourner. Si non avancer. La question qui reste, on tourne dans quelle direction ?
  • S’inspirer de la méthode pour sortir du labyrinthe : toujours garder sa main droite en contact avec le mur. On va peut-être explorer tout le labyrinthe, mais on va finir par tomber sur la sortie.

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.

Prise en main des cartes Micro:bits (30 min)

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 première personne utilise le bloc « [Radio] envoyer la chaîne » dans l’onglet « Communication » dans ses blocs « Si le bouton X est appuyé alors ». On peut envoyer « A » quand le bouton A est pressé, et « B » quand le bouton B est pressé.
  • La seconde utilise le bloc « [Radio] si une chaîne est reçue dans stringData alors » dans l’onglet « Communication » et un bloc « Si … alors … sinon … » dans l’onglet « Logique » à la place des blocs des boutons. On introduit la notion de variable. Attention, pour comparer des textes, il faut utiliser le bloc guillemets dans l’onglet « Texte ».
  • Les deux personnes utilisent le bloc « [Radio] configurer Canal X Puissance Y … » dans l’onglet « Communication », avec des groupes différents, pour éviter les confusions.

Fabrication du robot télécommandé (20 min)

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 :

  • Moteur gauche direction ⭮ vitesse 200
  • Moteur droit direction ⭮ vitesse 200

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 :

  • Moteur gauche direction ⭯ vitesse 100
  • Moteur droit direction ⭮ vitesse 100

Pour tourner à droite, avec le bouton B :

  • Moteur gauche direction ⭮ vitesse 100
  • Moteur droit direction ⭯ vitesse 100

Finir le robot télécommandé, et laisser les participants s’amuser avec.

Conclusion (10 min)

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.

Ressources