Aller au contenu principal

Né d'hier : initiation robotique

Sciences et technologieMathématiquesSciences humainesActivité débranchée rebranchée
ProjetDuréeDifficultéÂge
Robots Meet Arts3 hAvancé8-12 ans

Matériel

  • Grille 6x6 (version géante au sol ou version papier A3/A4)
  • Fiches de mémorisation (une par équipe)
  • Récompenses (bonbons, pompons, jetons ou points) pour simuler le renforcement
  • Ordinateur/tablette avec accès à BioLearningGame : https://steamcity.github.io/BioLearningGame/
  • Vidéoprojecteur pour démonstration collective
  • Robots pour la partie programmation (Cubetto, Sphero Indi, robot micro:bit ou un seul type)
Ressources imprimables incluses dans le PDF.
  • Fiche de mémorisation
  • Exemples de grilles 6x6
Télécharger en PDF
Né d'hier : initiation robotique

Points du programme abordés

« Découvrir le monde du numérique » : sciences et technologie, Cycle 3. Cette séquence permet aux élèves de découvrir les principes fondamentaux de l'apprentissage automatique en vivant eux-mêmes l'expérience d'un algorithme qui apprend par essai-erreur. En combinant une phase débranchée immersive, l'observation d'une IA qui apprend, et une phase de programmation robotique, les élèves comprennent comment les machines peuvent « apprendre » à résoudre des problèmes sans être explicitement programmées pour chaque situation.

Les compétences mobilisées sont les suivantes :

  • Pratiquer des démarches scientifiques et technologiques : Les élèves formulent des hypothèses sur les « bonnes routes », les vérifient par l'expérimentation, et découvrent le principe d'apprentissage par renforcement
  • Concevoir et produire un objet technique : Programmation de robots pour réaliser un parcours en utilisant les connaissances acquises lors des phases précédentes
  • S'approprier des outils et des méthodes : Création de « cartes mentales » du parcours, observation d'outils de simulation IA, travail collaboratif
  • Pratiquer des langages : Expression des stratégies d'exploration, verbalisation des algorithmes découverts, comparaison humain/machine

Liens avec d'autres domaines du programme :

  • Mathématiques : Travail sur le repérage dans un quadrillage, les coordonnées, la logique conditionnelle (si... alors...). Notion intuitive de probabilité lors des choix d'exploration.
  • Géographie : Le contexte de navigation permet d'aborder les thèmes de repérage spatial et de cartographie.
  • EMC (Enseignement Moral et Civique) : Discussion sur l'éthique de l'IA : comment les voitures autonomes apprennent-elles ? Peut-on faire confiance à une machine qui apprend ?
  • Français : Expression orale lors des phases de réflexion, argumentation pour justifier les choix stratégiques.

Adaptations aux contraintes matérielles

  • Avec 1 seul robot : L'activité fonctionne parfaitement avec un seul type de robot. Choisissez celui qui correspond à votre budget et vos objectifs.
  • Avec 2 robots : Vous pouvez comparer deux logiques de programmation différentes, ce qui est déjà très riche pédagogiquement.
  • Pas de robot ? Rapprochez-vous des associations de médiation scientifique de votre territoire (Petits Débrouillards, fablabs, maisons pour la science, médiathèques, CANOPE...).

Liens utiles


Introduction

Cette séquence constitue une activité introductive idéale à l'univers « Robots Meet Arts » (Rencontre Robots et Humanités). Elle permet de démystifier la programmation robotique de manière ludique, en montrant que programmer un robot n'est pas réservé aux experts : c'est accessible, créatif, et profondément connecté à ce que nous sommes en tant qu'êtres humains.

Le point de départ : Imaginez un robot qui doit apprendre à naviguer dans un environnement inconnu pour atteindre un objectif. Personne ne lui a donné de carte : il doit découvrir par lui-même quels chemins sont sûrs et lesquels sont bloqués par des obstacles. Comment peut-il apprendre sans se perdre définitivement ?

Dans cette séquence, les élèves vont d'abord jouer le rôle de ce robot explorateur, puis observer comment une véritable IA résout le même problème, et enfin programmer leurs propres robots pour réaliser un parcours sans faute. Ils découvriront qu'en explorant méthodiquement, en mémorisant ce qui fonctionne et ce qui ne fonctionne pas, ils construisent une « carte mentale » efficace du territoire : exactement comme le font les algorithmes d'apprentissage automatique quand ils construisent leur modèle.

L'originalité de cette activité réside dans son approche transdisciplinaire :

DisciplineSciences du numériqueSciences du vivantSciences humaines
Concepts clésProgrammation robotique, algorithmes, IAModèles bio-inspirés, modèle d'apprentissage des êtres biologiquesPsychologie de l'apprentissage, cognition humaine
Questions exploréesComment programme-t-on un robot ?Comment les êtres vivants apprennent-ils ?Comment apprenons-nous en tant qu'être humain ?

L'apprentissage bio-inspiré - Quand les machines imitent le vivant

L'apprentissage est l'un des processus fondamentaux que partagent les humains et les machines, même si les mécanismes peuvent être très différents. Quand un enfant touche une plaque chaude et apprend à l'éviter, quand il découvre par essais successifs le meilleur chemin pour rentrer de l'école : il pratique l'apprentissage par renforcement. C'est exactement ce que font les algorithmes d'IA les plus puissants d'aujourd'hui.

L'objectif de cette activité est de fournir aux élèves une compréhension intuitive des modèles d'apprentissage bio-inspirés et de la façon dont les machines, à l'instar des organismes vivants, utilisent la méthode des essais et des erreurs pour s'adapter et trouver des solutions.

Une entrée ludique dans la robotique

La robotique n'est pas qu'une affaire de code et de circuits. C'est aussi une invitation à questionner notre humanité : qu'est-ce qu'apprendre ? Qu'est-ce qui différencie l'intelligence humaine de l'intelligence artificielle ? Les robots peuvent-ils vraiment « comprendre » ou ne font-ils que calculer ? Ces questions philosophiques émergent naturellement de l'activité.

Cette activité a été conçue comme porte d'entrée accessible vers la programmation robotique. En commençant par une phase « débranchée » où les élèves sont eux-mêmes le robot, on lève les appréhensions : programmer, c'est simplement donner des instructions claires, comme celles qu'ils ont suivies pendant le jeu. Le passage aux vrais robots devient alors naturel et non intimidant.

Trois robots sont proposés (Cubetto, Sphero Indi, micro:bit), chacun avec une logique de programmation différente. L'idéal est de faire découvrir les trois en ateliers tournants, mais l'activité fonctionne très bien avec un seul robot selon vos moyens. L'essentiel est de vivre l'expérience de donner des instructions à une machine et de voir sa création prendre vie.


Séquence 1 - Mise en route (Warm-up)

Notes pour l'enseignant·e
  • Installer les grilles (2-3 selon effectif) : au sol ou sur tables
  • Préparer les récompenses pour le renforcement (bonbons, jetons, pompons...)
  • Imprimer et plastifier les fiches de mémorisation
  • Avoir sous les yeux le plan de chaque grille (pour donner les retours)
  • Prévoir un pion par groupe (figurine, robot éteint, ou élève-pion)

Objectif : Comprendre l'apprentissage par essais et erreurs, et construire son propre modèle d'apprentissage par renforcement.

Formez 2 ou 3 groupes selon l'effectif (idéalement 10-12 élèves par grille). Chaque groupe travaillera autour de sa propre grille. Si possible, créez les grilles au sol, car elles seront utiles lors des phases suivantes.

Règles du jeu

Chaque groupe dispose d'une grille 6x6 et d'un pion (figurine, robot éteint, ou un élève qui se déplace). Le groupe décide collectivement des mouvements (haut, bas, gauche, droite - interdiction de se déplacer en diagonale), qui sont obligatoirement limités à une case par tour.

Pour matérialiser l'apprentissage par renforcement, utilisez des jetons (ou bonbons, pions de couleur, haricots...). L'enseignant (ou un élève « maître du jeu ») donne un retour après chaque mouvement :

  • Déplacement valide : gain d'une récompense dans la cagnotte collective = renforcement positif
  • Déplacement interdit : l'enseignant retire la totalité de la cagnotte gagnée jusqu'alors et les élèves repartent du point de départ = renforcement négatif
Exemple de challenge à résoudre sur la grille
Exemple de challenge à résoudre sur la grille

Organisation du jeu

Rassemblez chaque groupe autour de sa grille. Annoncez le contexte sans révéler l'objectif :

« Vous êtes un robot qui doit naviguer dans cette grille. Votre mission : trouver un point précis. Le problème ? Vous ne savez pas où il est ! Vous devrez apprendre par vous-mêmes en explorant. »

Ne donnez aucune information sur l'objectif ou la disposition des obstacles. Les élèves doivent découvrir par eux-mêmes, exactement comme une machine qui apprend sans connaissances préalables.

Chaque élève reçoit une fiche de mémorisation vierge (grille vide ou feuille blanche). L'enseignant peut expliquer :

« Vous pouvez utiliser cette fiche pour noter ce que vous découvrez. C'est votre fiche personnelle, vous pouvez la remplir comme vous le voulez. Attention : cette fiche sera votre seule aide pour programmer votre robot dans la suite de l'activité ! »

Fiche de mémorisation - Base activité robotique

L'exploration est collective (le groupe décide ensemble des mouvements), mais chaque élève remplit sa propre fiche de mémorisation individuelle. Cela permet d'observer la diversité des représentations mentales pour une même expérience vécue.

Point pédagogique : NE PAS GUIDER !

Ne donnez AUCUNE consigne sur comment remplir la fiche. Pas de modèle, pas d'exemple, pas de suggestion. L'objectif est d'observer comment chaque élève construit spontanément son propre système de représentation : certains dessineront des flèches pour indiquer le chemin, d'autres mettront des croix ou des X sur les obstacles, d'autres utiliseront des couleurs (vert = sûr, rouge = danger)... Cette diversité EST l'apprentissage.

Bilan de la phase

Une fois que les groupes ont trouvé le chemin, comptez les jetons ! Introduisez le vocabulaire scientifique. Le jeton gagné correspond au renforcement positif. Le jeton perdu correspond au renforcement négatif. Leur fiche de mémorisation correspond à un modèle mental. Ce type d'apprentissage s'appelle l'apprentissage par renforcement : c'est comme ça qu'on entraîne les voitures autonomes, les robots, et même les IA qui jouent aux jeux vidéo.

Chaque élève garde sa fiche de mémorisation. L'enseignant peut annoncer la transition vers la phase suivante en expliquant que les élèves vont maintenant apprendre à programmer un robot, et que plus tard, ils devront le programmer pour qu'il suive le chemin découvert, en s'appuyant uniquement sur leur fiche de mémorisation.


Séquence 2 - Approfondissement (Build-up)

Notes pour l'enseignant·e
  • Vérifier que les robots sont chargés et fonctionnels
  • Préparer l'espace de travail (zone dégagée au sol)
  • Imprimer les fiches missions correspondant au(x) robot(s) utilisé(s)
  • Avoir lu le tutoriel enseignant du/des robot(s)
  • Si la phase 1 de warm-up a été réalisée sur des grilles papier, créer une version plus grande de la grille au sol (scotch, 30-40 cm/case)

Objectif : Maîtriser les bases de la programmation robotique à travers des missions progressives.

Cette étape est une phase de découverte technique volontairement déconnectée du défi principal. Les élèves apprennent à manipuler le robot sans pression, à travers des missions progressives qui n'ont rien à voir avec la grille du Warm-up. Cette séparation est intentionnelle :

  • Éviter la surcharge cognitive : apprendre un nouvel outil ET résoudre un problème complexe en même temps serait trop difficile
  • Construire la confiance : les élèves arrivent à la phase finale en maîtrisant déjà leur robot
  • Permettre l'erreur : pendant cette étape, se tromper n'a pas de conséquence sur le défi final

Quel que soit le robot utilisé, les missions progressives permettent de découvrir :

  1. Le principe de base : comment donner une instruction au robot
  2. Les déplacements : avancer, tourner
  3. L'enchaînement : combiner plusieurs instructions en séquence
  4. Les contraintes : chaque robot a ses limites et sa logique propre

Les élèves découvrent également qu'un robot n'interprète pas les intentions : il exécute exactement ce qu'on lui dit. Si le robot fait quelque chose d'inattendu, c'est que l'instruction n'était pas celle qu'on pensait donner. Cette prise de conscience est fondamentale pour la suite.

RobotProgrammationContraintes
CubettoBlocs physiques en bois à placer sur un panneau : programmation tangibleNombre de blocs limité (12 max), oblige à planifier et optimiser
Sphero IndiTuiles colorées posées au sol : programmation visuelle par couleursDépend des tuiles disponibles, comportements prédéfinis par couleur
Robot micro:bitBlocs sur écran (MakeCode) puis téléchargement : programmation par blocsCalibrage des durées et distances
Robot - étape 1Robot - étape 2Robot - étape 3Robot - étape 4
Notes pour l'enseignant·e

Pendant que les élèves réalisent les missions, tournez entre les groupes et valorisez les erreurs : « Ton robot a tourné dans le mauvais sens ? Super, tu viens d'apprendre quelque chose ! ». Observez les stratégies : qui planifie ? qui teste directement ? qui collabore ?


Séquence 3 - Mise en pratique (Rehearsal)

Notes pour l'enseignant·e

Nous vous conseillons de réaliser cette phase en parallèle de la phase 2. Le mieux est de proposer cette étape comme mission finale dans la continuité des fiches missions de l'étape précédente.

Objectif : Utiliser sa fiche de mémorisation pour programmer le robot à suivre le chemin découvert pendant le Warm-up.

Afin de conclure l'activité, les élèves doivent programmer leur robot pour qu'il suive le chemin qu'ils ont découvert pendant le Warm-up.

La règle d'or : Ils ont UNIQUEMENT leur fiche de mémorisation. Ils ne peuvent pas voir la grille complète avec ses obstacles avant d'avoir programmé !

Les élèves étudient leur fiche de mémorisation et planifient leur programme :

  • Quel chemin avaient-ils trouvé ?
  • Quelles instructions donner au robot ?
  • Dans quel ordre ?

C'est ici que la qualité de la fiche de mémorisation se révèle ! Certains élèves auront noté clairement le chemin, d'autres devront « décoder » leurs propres notes.

Les élèves programment leur robot en se basant uniquement sur leur fiche. Ils n'auront pas le droit de toucher à leur robot une fois leur programme lancé, il faut donc qu'il parcourt la grille de manière autonome.

RobotComment programmer le chemin
CubettoPlacer les blocs dans l'ordre du chemin mémorisé (sur le tapis 6x6 fourni)
Sphero IndiDisposer les tuiles pour créer le parcours mémorisé
micro:bitCoder la séquence de mouvements dans MakeCode

Pour valider leur programme, le groupe pose son robot sur le départ de la grille, lance le programme et la classe observe si leur agent suit le bon chemin et atteint l'objectif. Si le robot échoue, laissez le groupe corriger son programme et tester à nouveau.

En programmant le même chemin avec différents robots, les élèves réalisent que la même logique (leur fiche) s'exprime différemment selon l'outil et que certains robots sont plus adaptés à certains parcours. Leur fiche de mémorisation doit être suffisamment claire pour être « traduite » dans n'importe quel langage.


Réflexion autour de la séquence

C'est le moment de partager et comparer les différents modèles créés pendant l'activité et de comprendre nos modes d'apprentissage en les comparant à ceux d'une machine.

Affichez les fiches (ou faites circuler) et animez une discussion :

  • « Quels systèmes de notation avez-vous inventés ? »
  • « Lesquels ont bien fonctionné pour programmer le robot ? Pourquoi ? »
  • « Y a-t-il eu des difficultés à relire vos propres notes ? »
  • « Si vous deviez refaire l'activité, que changeriez-vous sur votre fiche ? »

Maintenant que les élèves ont vécu l'expérience d'apprendre un chemin et de le mémoriser, montrez-leur comment une intelligence artificielle résout exactement le même problème. Projetez BioLearningGame (https://steamcity.github.io/BioLearningGame/), spécifiquement l'onglet appelé « AI Part ».

BioLearningGame - AI Part

Les élèves observent qu'au début, l'IA se déplace au hasard, comme eux au début de la première phase. Elle fait beaucoup plus d'erreurs que les humains : elle sort de la grille, retourne en arrière, tourne en rond. Elle teste la grille comme un labyrinthe : pour elle, une case peut être un obstacle si on y entre par la gauche, mais pas si on y entre par le haut ! Petit à petit, elle évite les obstacles qu'elle a rencontrés, et finit par trouver le chemin optimal.

Les chiffres surprennent : l'IA peut mettre jusqu'à 700 essais pour trouver le chemin optimal, mais elle fait ces 700 essais en moins d'une minute. Les élèves, eux, ont trouvé en quelques essais... mais ça leur a pris beaucoup plus de temps. L'IA compense son ignorance de l'environnement par sa vitesse.

Pendant l'observation, posez des questions :

  • Comment l'IA se déplace-t-elle au début ? (Au hasard, elle sort même de la grille !)
  • Pourquoi fait-elle autant d'erreurs ? (Elle n'a pas d'intuition, elle teste TOUT)
  • Combien de tentatives lui faut-il ? (Des centaines !)
  • Pourquoi continue-t-elle après avoir trouvé un chemin ? (Elle cherche le chemin optimal, le plus court)

Discussion comparative

Animez ensuite une discussion comparative :

  • Les élèves ont trouvé le chemin en quelques essais, l'IA en 700.
  • Les élèves ont mis plusieurs minutes, l'IA moins d'une minute.
  • Les élèves réfléchissent avant d'agir, l'IA essaie tout sans réfléchir.
  • Les élèves restent dans la grille (logique !), l'IA sort de la grille et teste tout.
  • Les élèves utilisent leur intuition, l'IA n'a que des calculs.
  • Les élèves cherchent « un chemin qui marche », l'IA cherche « le chemin optimal ».
  • Les élèves peuvent expliquer leur stratégie, l'IA ne peut pas.
  • Les élèves s'adaptent facilement à un nouveau problème, l'IA doit tout réapprendre depuis zéro.

Posez les questions de discussion :

  • Qui a appris plus vite, vous ou l'IA ? (Ça dépend comment on compte ! Moins d'essais pour vous, moins de temps pour l'IA)
  • Quels sont les avantages de l'IA ? (Ne se fatigue pas, très rapide, trouve la solution optimale, ne se décourage pas)
  • Quels sont VOS avantages ? (Intuition, peu d'erreurs, capacité à expliquer, à s'adapter, à comprendre)
  • Dans quels cas l'IA serait-elle meilleure ? Et vous ?

Concluez sur la richesse de ce qu'ils ont vécu :

« Aujourd'hui, vous avez fait bien plus que programmer un robot. Vous avez découvert comment VOUS apprenez, vous avez inventé votre propre système de notation, et vous avez compris comment les machines s'inspirent de l'apprentissage du vivant. »

Ouvrez sur des questions plus larges :

  • Où retrouve-t-on ce type d'apprentissage dans la vie quotidienne ? (GPS, jeux vidéo, robots aspirateurs...)
  • Les robots peuvent-ils vraiment « comprendre » ou ne font-ils que calculer ?

Pour la trace écrite, créez ensemble une affiche ou un document récapitulatif avec les différents systèmes de notation inventés par la classe, les mots-clés (apprentissage par renforcement, modèle mental, essai-erreur), un schéma comparatif humain/machine, et les réflexions des élèves.


Annexe : Tutoriel Cubetto

Source : https://primotoys.com/cubetto-user-manual/

Introduction

Cubetto est une interface de programmation tangible conçue pour initier les enfants de 3 à 6 ans à la pensée computationnelle et à la logique de programmation. Il permet de programmer un petit robot en bois à l'aide de blocs colorés. Les enfants manipulent la « file d'instructions », l'un des concepts fondamentaux de la programmation, sans avoir besoin de savoir lire ni d'utiliser d'écran.

Le kit Cubetto

Le robot : Cubetto est un robot cubique en bois avec un sourire gravé sur sa face avant. Il se déplace sur deux roues avec deux supports plastiques fixes (appelés « roulettes ») pour assurer sa stabilité. Caractéristiques principales :

  • Avance de 15 cm exactement par instruction
  • Effectue une rotation de 90° exactement lors des virages
  • Joue une mélodie unique pour chaque type de commande
  • Joue une mélodie plus longue lorsqu'une séquence est terminée

Le tableau d'interface : Le tableau d'interface est l'endroit où les enfants créent leurs programmes en insérant des blocs d'instructions dans des emplacements. On distingue :

  • Séquence principale (emplacements 1 à 12) : reliés par une ligne gravée, ces emplacements accueillent le programme principal
  • Ligne de fonction (emplacements F1 à F4) : dans une zone séparée, utilisée pour créer des sous-programmes réutilisables

Les blocs d'instructions : Quatre types de blocs en bois colorés, chacun représentant une commande spécifique :

BlocCouleurFormeAction
AvantVertFlèche vers le hautCubetto avance de 15 cm
GaucheJauneFlèche vers la gaucheCubetto pivote de 90° dans le sens antihoraire
DroiteRougeFlèche vers la droiteCubetto pivote de 90° dans le sens horaire
FonctionBleuLigne onduléeCubetto exécute la ligne de fonction

Tous les blocs ont une base en forme de D qui s'insère dans les fentes du tableau, garantissant qu'ils ne peuvent être insérés que dans un seul sens.

Le tapis de jeu : Un tapis de jeu de 1 m x 1 m représentant « Le monde de Cubetto » : une grille de 6x6 cases de 15 cm x 15 cm. Chaque case correspond exactement à un mouvement avant de Cubetto.

Mise en route

Étape 1 : Insérer les piles - Cubetto et le tableau d'interface nécessitent chacun 3 piles AA.

Étape 2 : Mise sous tension

  1. Trouver l'interrupteur coulissant sous chaque appareil
  2. Le faire glisser sur la position ON
  3. Cubetto : joue une mélodie d'accueil à la mise sous tension
  4. Tableau d'interface : toutes les LED de retour clignotent trois fois à la mise sous tension

Étape 3 : Appairer les appareils - Cubetto et le tableau d'interface communiquent sans fil et doivent être appairés avant utilisation.

  1. Allumer d'abord le tableau d'interface, puis Cubetto
  2. Insérer n'importe quel bloc de direction (vert, jaune ou rouge, pas bleu) dans le premier emplacement
  3. Appuyer sur le bouton d'action
  4. Cubetto devrait exécuter l'instruction
  5. Les appareils sont maintenant appairés !

Note : L'appairage s'effectue automatiquement en arrière-plan. La portée sans fil en intérieur est d'environ 10 mètres. Plusieurs kits Cubetto peuvent être utilisés à proximité sans interférence.

En cas d'échec de l'appairage : Éteindre les deux appareils, attendre quelques secondes, puis répéter la procédure.

Programmer Cubetto

  1. Planifier l'itinéraire : Observer le tapis et décider où faire aller Cubetto
  2. Choisir les blocs : Sélectionner les blocs d'instructions nécessaires
  3. Construire la séquence : Insérer les blocs dans le tableau d'interface, en commençant par l'emplacement 1
  4. Vérifier les LED : Chaque bloc correctement inséré allume sa LED de retour
  5. Appuyer sur GO ! : Appuyer sur le bouton d'action pour envoyer le programme à Cubetto
  6. Observer et apprendre : Cubetto exécute chaque instruction dans l'ordre

Règles importantes :

  • Les séquences commencent à l'emplacement 1 et suivent la ligne gravée sur le tableau
  • Pas de trous : Les blocs insérés après un emplacement vide ne seront pas reconnus
  • Un programme à la fois : Modifier les blocs pendant l'exécution n'a aucun effet, attendre que Cubetto ait terminé
  • Les LED de retour clignotent pour indiquer quelle instruction est en cours d'exécution
  • Mélodies uniques : Cubetto joue un son différent pour chaque type de commande, aidant les enfants à suivre

Utiliser le bloc fonction

Le bloc fonction bleu est un outil puissant qui permet aux enfants de regrouper plusieurs instructions dans un seul bloc. Cela introduit le concept de fonctions (ou sous-programmes), une idée fondamentale en programmation.

Comment fonctionnent les fonctions :

  1. Créer une fonction : Insérer une séquence de blocs dans la ligne de fonction (les quatre emplacements en bas du tableau)
  2. Appeler la fonction : Placer le bloc fonction bleu n'importe où dans la séquence principale
  3. Exécution : Lorsque Cubetto rencontre le bloc bleu, il exécute toutes les instructions de la ligne de fonction, puis continue avec la séquence principale

Pourquoi les fonctions sont importantes - Les fonctions apprennent aux enfants à :

  • Identifier des motifs : « Je fais la même chose encore et encore »
  • Optimiser : « Comment puis-je faire cela avec moins de blocs ? »
  • Penser de manière abstraite : « Ce bloc bleu signifie "faire le virage" »
  • Résoudre des problèmes complexes : Avec seulement 12 emplacements principaux, les fonctions permettent des programmes plus longs

Annexe : Tutoriel Sphero Indi

Source : https://cdn.shopify.com/s/files/1/0306/6419/6141/files/Indi-Booklet_150x150_v15_outlined.pdf

Introduction

Sphero Indi est un robot programmable conçu pour les jeunes apprenants (à partir de 4 ans) qui utilise la détection de couleurs au lieu du codage traditionnel. Les enfants programment Indi en plaçant des tuiles en silicone colorées sur le sol : le robot roule dessus et réagit à chaque couleur par un comportement spécifique. Cette approche intuitive sans écran rend la programmation accessible aux enfants qui ne savent pas encore lire tout en enseignant les concepts de la pensée computationnelle.

Indi propose une logique de programmation unique « SI couleur ALORS action » : SI le robot voit du vert, ALORS il avance ; SI il voit du violet, ALORS il tourne à gauche. Cette pensée conditionnelle est fondamentale dans toute programmation.

Le robot

Indi est un robot compact en forme de voiture avec un capteur de couleur intégré sur sa face inférieure. Le capteur lit la couleur des tuiles placées sous le robot et déclenche le comportement correspondant. Caractéristiques principales :

  • Capteur de couleur intégré pour détecter les tuiles
  • LED qui changent de couleur pour correspondre aux couleurs détectées
  • Batterie rechargeable (charge USB-C)
  • Conception robuste pour les jeunes apprenants
  • Calibrage automatique de la rotation

Les tuiles de couleur

Indi est livré avec un ensemble de tuiles en silicone colorées. Chaque couleur déclenche un comportement par défaut spécifique : Go go faster!, Slow down, Stop, Celebrate!, Turn 90° left, Turn 90° right, Turn 45° left, Turn 45° right.

Prise en main

  • Étape 1 : Découvrir comment Indi réagit à chaque tuile de couleur
  • Étape 2 : Construire des labyrinthes avec des combinaisons infinies de tuiles colorées
  • Étape 3 : Renforcer les compétences de résolution de problèmes en naviguant dans les puzzles complexes que vous créez

Créer vos propres couleurs

Certains souhaitent créer leurs propres tuiles, cartes ou chemins pour Indi. Gardez à l'esprit que chaque couleur est programmée dans le firmware et instantanément reconnaissable par Indi. D'autres sources de couleur, comme le papier de construction ou les feutres, peuvent ne pas offrir une expérience aussi cohérente que les tuiles et/ou cartes de couleur fournies avec votre Indi.

Le site officiel d'Indi fournit toutes les couleurs Pantone en libre accès : https://sphero.com/pages/sphero-indi. N'hésitez pas à créer autant de chemins que possible et amusez-vous !


Annexe : Tutoriel Programmer un robot Micro:bit

Introduction

Le BBC micro:bit est une carte de programmation polyvalente qui peut être transformée en cerveau de nombreux projets robotiques. Contrairement à Cubetto ou Sphero Indi, qui sont des systèmes autonomes, les robots micro:bit sont construits à partir de composants séparés : la carte micro:bit elle-même, une carte d'extension (aussi appelée « shield » ou « breakout board »), des moteurs, des capteurs et un châssis ou système de construction.

Cette modularité apporte une grande flexibilité mais introduit également un concept important : chaque plateforme robotique nécessite d'être programmée sur MakeCode en utilisant des extensions spécifiques.

Qu'est-ce que MakeCode ?

MakeCode est un environnement de programmation gratuit, basé sur navigateur, développé par Microsoft. Caractéristiques principales :

  • Gratuit et en ligne : aucune installation requise, fonctionne dans tout navigateur web moderne
  • Multi-langages : supporte les blocs, JavaScript et Python
  • Simulateur inclus : tester les programmes sans matériel physique
  • Documentation complète : tutoriels, exemples et ressources enseignants intégrés

Accéder à MakeCode : https://makecode.microbit.org/

MakeCode propose trois façons d'écrire le même programme :

  • Mode blocs (par défaut) : Programmation visuelle utilisant des blocs colorés et imbriqués. Idéal pour les débutants et les jeunes élèves.
  • Mode JavaScript : Programmation textuelle utilisant la syntaxe JavaScript. Les blocs se convertissent automatiquement en JavaScript, et vice versa.
  • Mode Python : Programmation textuelle utilisant la syntaxe Python. Particulièrement précieux car Python est largement enseigné dans l'enseignement secondaire et utilisé professionnellement.

Les trois modes sont interconnectés : les modifications dans un mode se reflètent dans les autres. Cela permet une transition progressive de la programmation visuelle vers la programmation textuelle.

Pour les élèves de 8 à 12 ans, nous recommandons d'utiliser le mode blocs car il semblera aux enfants très logique et naturel de donner des instructions à leur robot.

Si vous utilisez une carte micro:bit pour la première fois

  • Ouvrir MakeCode dans votre navigateur
  • Connecter la carte à l'ordinateur : Utiliser un câble micro-USB. La carte apparaîtra comme une clé USB nommée « MICROBIT »
  • Transférer le programme : Une fois votre code créé, cliquez sur « Télécharger » et le programme se téléchargera automatiquement sur la carte associée
  • Alimentation autonome : Ajouter un pack de piles AAA dans le support fourni s'il n'est pas inclus dans votre kit robotique

L'écosystème des extensions

Les blocs MakeCode intégrés à la carte micro:bit couvrent les fonctions de base : affichage LED, boutons, accéléromètre, boussole, radio et entrée/sortie simple sur les broches. Cependant, les plateformes robotiques utilisent du matériel spécialisé qui nécessite des blocs de programmation personnalisés. Chaque fabricant crée une extension MakeCode qui fournit :

  • Des blocs dédiés pour leurs moteurs et pilotes de moteurs spécifiques
  • Des blocs de capteurs calibrés pour leur matériel
  • Des commandes simplifiées qui masquent le code de bas niveau complexe

Un programme écrit avec l'extension d'un robot ne fonctionnera pas avec un robot différent, même si les deux utilisent une carte micro:bit. L'extension doit correspondre au matériel.

Construire un robot avec PowerBricks

Un robot PowerBricks typique est construit à base de briques techniques LEGO et utilise deux moteurs DC (M1 et M2) entraînant les roues gauche et droite pour la direction différentielle. La direction différentielle contrôle le robot en faisant varier la vitesse de chaque roue :

Moteur gauche (M1)Moteur droit (M2)Résultat
AvantAvantTout droit
ArrièreArrièreMarche arrière
StopAvantPivot à gauche
AvantStopPivot à droite
ArrièreAvantRotation sur place à gauche
AvantArrièreRotation sur place à droite

Les valeurs de vitesse vont de -255 (pleine marche arrière) à 255 (pleine marche avant). Zéro arrête le moteur.

Programme de navigation sur grille : Un exemple de classe

Le programme suivant montre un robot naviguant sur un chemin prédéfini sur une grille. Il a été développé pour être utilisé avec le curriculum d'Apprentissage Bio-inspiré, où les élèves mémorisent d'abord un itinéraire eux-mêmes, puis programment le robot pour suivre le même chemin. Le programme est visible ici : https://makecode.microbit.org/S25194-48798-31124-89886

Structure du programme - Le programme est organisé en sections distinctes :

  1. Code de démarrage : s'exécute une fois lorsque la carte micro:bit est mise sous tension
  2. Définitions des fonctions (Tourner_gauche, Tourner_droite, Aller_tout_droit, Faire_demi_tour) : primitives de mouvement réutilisables
  3. Gestionnaire d'événement (input.onButtonPressed) : la séquence de navigation principale déclenchée par le bouton A

Organiser le code avec des fonctions - Plutôt que de disperser les commandes moteur dans tout le programme, nous définissons quatre fonctions de mouvement : Aller_tout_droit, Tourner_gauche, Tourner_droite et Faire_demi_tour. Chaque fonction encapsule une action complète : afficher une flèche directionnelle sur les LED, faire tourner les moteurs appropriés pendant une durée calibrée, puis s'arrêter et faire une pause avant le mouvement suivant.

Cette approche transforme le programme principal en quelque chose de lisible. Au lieu de déchiffrer powerbrick.MotorRun(M1, 255) suivi de powerbrick.MotorRun(M2, 255), on lit simplement Aller_tout_droit. Le code devient une narration du parcours du robot que les élèves peuvent suivre sans comprendre le contrôle moteur sous-jacent.

Les fonctions simplifient également la maintenance. Si le robot dépasse systématiquement les cases de la grille, on ajuste le timing à un seul endroit plutôt que de chercher dans des dizaines de valeurs de pause dispersées. Pour le débogage, on peut tester chaque fonction isolément avant de les combiner en séquences complexes.


Cette fiche fait partie du projet Robots Meet Arts, financé par le programme Erasmus+. Contenu sous licence CC BY-SA 4.0.