Au mois de Mai dernier nous avons accueilli une classe de CM1 de la ville pour une série d’ateliers robotique. Pour rendre ça un peu plus intéressant, et parce qu’on est très modeste, on s’est inspiré des œuvres de Kandinsky et Mondrian.
Après une petite séance de présentation en classe des robots et de ce que nous allions faire, la classe est venue à 3 reprises à l’espace numérique de la médiathèque. Nous organisons des ateliers robotiques depuis l’année dernière chaque mercredis.Nous y accueillons une 6 à 8 personnes et mettons à disposition nos 3 robots Lego Mindstorms. N’ayant pas le budget pour acheter une dizaine de robots lego (300 euros pièce) je me suis mis à la recherche de solutions alternatives, plus économiques, pour accueillir dans de bonnes conditions la vingtaine d’élèves prévus.
Il existe de nombreux robots à vocation pédagogiques de très bonne qualité : Thymio, Dash and Dot ou Makeblock. Mais il faut toujours compter au minimum une centaine d’euros et cela dépassait notre budget.
Reste donc à les faire soi-même, mais comment rendre son montage et sa programmation accessible pour des élèves de CM1 et suffisamment stables pour être utilisé en atelier ? Même si je possède des notions de programmation, je ne code pas couramment sans parler de mes compétences en électronique. Et les robots que l’on monte soi même n’ont pas la robustesse et la fiabilité de leurs homologues commerciaux. Seul vous pouvez arriver à tester et faire fonctionner votre robot. Mais ajoutez-y 20 enfants de 9 ans et « la catastrophe qui finit par arriver n’est jamais celle à laquelle on s’est préparé. » (Mark Twain)
J’ai donc fait comme à chaque fois que je cherche de nouvelles idées, je suis allé regarder sur Instructables des exemples de robots Arduino et je tombe sur le travail de MakersBox. Celui-ci anime des ateliers d’initiation à à la robotique auprès de jeunes filles dans le cadre de l’association Chicktech.
MakersBox met à disposition le code, mais également les plans pour imprimer en 3D la structure du robot ainsi que le montage électronique à réaliser. Les pièces sont simples à imprimer, ne demandent pas de supports, ni de couches très fines. Au final l’impression des différentes pièces m’a pris entre 3 et 4h (à moduler en fonction du niveau de précision de l’impression et de la machine dont vous disposez).
Le montage est simple (une fois qu’on l’a sous les yeux) et suffisamment bien documenté (photos, plans). En dehors du filament pour l’impression de la structure du robot voici la liste des composants à acheter :
Electronique :
- Une carte Genuino UNO : http://snootlab.com/arduino-genuino-fr/956-genuino-uno-fr.html 19,50 €
- 2 moteurs pas à pas 5V 32 pas : http://snootlab.com/adafruit/692-petit-moteur-stepper-avec-reducteur-5-12vdc-32-pas-1-16-fr.html 6 €/pièce
- 1-Huit rangées de montage Darlington ULN2803 http://snootlab.com/04-kits-de-demarrage/90-snootlab-starter-kit-fr.html pas vendue à l’unité sur snootlab mais en demandant gentiment ils peuvent l’inclure dans votre commande
- 1- Breadboard 400 points : http://snootlab.com/breadboard/349-breadboard-400-points-blanc-demie-fr.html 5,50€
- 12 câbles M/M : http://snootlab.com/cables/20-kit-10-cordons-6-m-m.html 3,50€ le lot de 10
- 1- Micro servo- http://letmeknow.fr/shop/moteur/30-servo-moteur-nano-4894479459935.html?search_query=servo&results=10 3,50€
- lot de 16 Barettes sécables M/M- http://snootlab.com/connecteurs/305-barrette-secable-16-pts.html 0,40€
- 1 Coupleur de pile 9v pour Arduino : http://letmeknow.fr/shop/coupleur/88-adapteur-9v-pour-arduino-0702082654866.html?search_query=coupleur+9v&results=2 1€
- Câble Usb : http://letmeknow.fr/shop/connecteur/622-cable-usb-a-b.html 2€
- Pile 9v 3€
Total : 50,40 €
Matériel : (Castorama /Leroy Merlin/Bricorama le plus proche)
- 10 vis M3 x 8mm pan head screw- mcmaster.com/#92005a118/=z80pbr
- 6 vis tête plate M3 x 6mm : mcmaster.com/#91420a116/=yskru0
- 12 écrous M3 : mcmaster.com/#90591a250/=yskc6u3D
Pour ces deux derniers éléments je me suis débrouillé avec des jouets de mes enfants mais si vous avez des adresses je suis preneur :
- 2 anneaux en caoutchouc : mcmaster.com/#9452K96
- Billes de plomb : mcmaster.com/#96455k58/=yskbki
Pour les besoins de mon atelier, j’ai simplifié le montage en retirant le microservo et l’interrupteur.
Une fois le robot monté il ne reste plus qu’à le programmer et pour cela MakersBox fournit le code et le déroulé de votre première séance.
L’atelier s’appuie sur le site code.org et son module heure du code. Une dizaine de puzzle vous sont proposés et vous devez les résoudre en programmant les déplacements d’un personnage.
La première étape consiste à réaliser un carré. Le programme s’effectue à l’aide d’un langage de programmation graphique semblable à l’interface de Scratch. Il vous suffit de faire glisser déposer les différents blocs mis à disposition : avance de 10 pas, tourne à 90° vers la droite, etc .. Une fois le résultat obtenu vous pouvez cliquer sur afficher le code pour voir la transcription en texte des blocs de programmation.
/div>
Au fur et à mesure les participants ont fini par comprendre le fonctionnement des principales commandes et ne passaient plus par code.org mais codaient directement les robots dans l’interface Arduino.
L’atelier s’est déroulé sur 3 séances de 3h. Après avoir discuté de ce qu’est un robot et de différents exemples de robots connus (R2, Wall-e, ..) et d’exemples plus concrets autour des capteurs (voiture, téléphone, maison, …) La première séance s’est poursuivie avec quelques exercices par équipe sans ordinateurs où un participant doit faire le robot et ses camarades le programmer. Le « robot » ne doit faire que ce qu’on lui demande en respectant les consignes exactes de ses programmeurs quitte à avancer dans un mur si le programme n’est pas correct.
Nous avons ensuite démarré les puzzle de code.org. L’ensemble du groupe est parvenu à terminer le 6ème puzzle ce qui était largement suffisant pour nos besoins. Un groupe a néanmoins réussi à terminer l’ensemble des 10 exercices. Les deux séances suivantes ont ensuite été consacrées à la prise en main des robots et la réalisation des dessins. Pour se rendre compte qu’entre ce qui est imaginé sur le programme et le comportement du robot, il y a un fossé. A quoi correspond la valeur 100 de MoveForward ? Lorsque je met 90 mon robot ne tourne pas à angle droit, comment fait-on ? Il a fallu beaucoup de tests, de calibrage pour arriver à obtenir un résultat satisfaisant.
La deuxième séance fut la plus compliquée à gérer, et nous n’étions pas trop de 3 pour gérer les nombreuses questions et frustrations des 6 groupes de participants : « Pourquoi il ne fait pas ce qu’on lui demande ? » et les inévitables problèmes techniques (cf Mark Twain). La troisième fut plus calme il s’agissait plus d’intervenir sur les relations entre les participants que le fonctionnement même des robots.
Pour conclure :
- Si vous animez des ateliers robotiques et que les Thymio/Minsdtorms font trop « jouet »
- Si vous souhaitez passer en douceur vers d’autres projets mêlant capteurs, moteurs et cartes Arduino.
- Si vous voulez enfin imprimer en 3D autre chose que des têtes de Yoda ou des Pikachus.
- Si vous n’avez pas beaucoup de budget et accès à une imprimante 3D.
Vous n’avez pas de raisons de ne pas essayer.