Atelier Printemps 2024 - MON PREMIER ROBOT¶
Pour ces vacances de printemps, viens fabriquer, personnaliser et programmer ton premier robot contrôlable à distance (par téléphone).
Pour cela, de la découpe laser, de l'impression 3D, de l'électronique, du dessin et de la programmation tu feras.
Détails et inscriptions ci-dessous.
- Prix : 160 € par participant.e pour les 3 jours (40€ par jour + 40€ pour le robot), payable par chèque le jour du stage à l'ordre de "Association Creative House".
- Pour qui : ouvert à tous les jeunes de 11 ans à 17 ans.
- Lieu : Fablab Cohabit - IUT de Bordeaux, 15 rue de Naudet à Gradignan, bâtiment 10A, 1er étage. Voir la carte
- Horaires : de 10h à 17h avec une pause déjeuner.
- Prévoir : un repas pour le midi, four micro-onde et réfrigérateur disponibles sur place, boulangerie à proximité.
- Nombre de places : 10
Inscriptions¶
par courriel à l'adresse : jean-baptiste.bonnemaison@u-bordeaux.fr
en précisant :
nom et prénom de la participante
Son âge
les coordonnées d'un parent :
- nom et prénom
- numéro de téléphone
- courriel
Programme¶
Lundi 1510h | Accueil et visite du Fablab |
10h15 | Présentation des intervenants et programme de l'atelier |
10h30 | Liste des pièces à découper et customisation sur Inkscape : Decoupage.svg |
12h | Découpe laser |
13h | Pause déjeuner |
14h | Assemblage et collage |
14h30 | Impression 3D : Jante.stl |
15h | Initiation à la communication réseaux |
15h30 | Pause culturelle |
16h | Présentation du site MIT App Inventor pour la programmation sous Android |
10h | Assemblage et câblage |
11h | Programmation ESP32 et analyse du code commande_telephone.ino |
13h | Pause déjeuner |
14h | Tests des robots et ajout de LEDs et autres |
16h30 | Pause culturelle |
10h | Programmation, tests pour la course |
12h30 | Pause culturelle |
13h | Pause déjeuner |
14h | Programmation et tests |
15h | Course des robots |
Pauses culturelles¶
Extrait de Metropolis
Sorti en 1927, premiers robots dans la SF
Mary Shelley
Asimov
Aujourd'hui on vit dans la SF (robots humanoides, IA...)
Regard critique :
- Rayon X fin du 19eme siècle par Wilhelm Röntgen
- Train épicycloïdal
- Peintures
11 vidéos sur les robots et leur histoire : https://projets.cohabit.fr/redmine/documents/458
(merci Monique !)
Documentation technique¶
Liste du matériel¶
Élément | Quantité | Commentaire | image | Où acheter (pour 5 robots) | Quantité (pour 5 robots) |
Roue folle | 1 | Aliexpress Choix1 lot de 12 | 1 | ||
MDF | 1/3 de plaque | Decoupage.svg | |||
Colle à bois | Quelques grammes | 7€ sur Amazon | 1 | ||
Moteur 28BYJJ-48 | 2 | 2 lots de 5 pour 28€ sur Amazon | 2 | ||
Drivers moteurs | 2 | Acheté en même temps que les moteurs | |||
Jantes en PLA | 2 | ||||
Joint torique (pneu) | 2 | 1 lot pour 4.01€ sur Aliexpress OD=40mm, épaisseur=4mm | 1 | ||
Vis M3x6 | 28 | 4 pour moteurs, 12 pour cartes et 12 pour entretoises | 2 sachets pour 12€ sur Amazon | 2 | |
Écrous | 4 | Pour les moteurs | 7€ sur Amazon | 1 | |
Entretoises F/F M3x10 | 12 | 7€ sur Amazon ou aliexpress | 1 | ||
ESP32 + support | 1 | 5 pièces pour 16€ sur Aliexpress | 5 | ||
Breadboard 400 trous | 1 | petite | 1 lot de 5 pour 11€ sur Amazon ou sur aliexpress | 1 | |
Diode | 1 | IN4004 | paquet de 10 pour 2.7€ sur RS | 1 | |
Condensateur | 1 | 10nF pour filtrer | un paquet de 5 pour 1.5€ sur RS | 1 | |
Interrupteur | 1 | 1 lot pour 0.89€ sur Aliexpress | 1 | ||
Régulateur de tension | 1 | sortie 5v continu | 1 lot de 50 pour 26.80€ sur RS | 1 | |
Piles AA | 6 | ou une batterie LiPo | Lot de 40 pour 17€ sur Amazon | 1 | |
Support pour 6 piles AA | 1 | 5 pièces de 6 piles pour 22.5€ sur Aliexpress | 5 | ||
Fil de 5cm M/M | 2 | 1 lot de 100 pour 0.60€ sur Aliexpress | 1 | ||
Fil de 10cm F/F | 12 | 2 lots de 40 femelle/femelle de 10cm pour 3.60€ sur Aliexpress | 2 | ||
Fil de 10cm M/F | 2 | 2 lots de 40 male/femelle de 10cm pour 3.60€ sur Aliexpress | 2 | ||
Cable micro usb | 1 | Pour la programmation | 5 pièces pour 9€ sur Aliexpress | 5 |
Électronique de puissance¶
Le circuit électronique permet de convertir les 9V en provenance des 6 piles en 5V pour alimenter la carte et les moteurs.
La conception du circuit est disponible ici :
Le circuit est composé d'un interrupteur permettant de démarrer ou d'éteindre le robot, d'une diode permettant de forcer le courant dans un sens (et éviter les risques de montage des piles à l'envers), d'un régulateur de tension 5V (L7805) pour convertir la tension de 9V vers 5V et d'un condensateur permettant de filtrer la tension. Le voltmètre sur le schéma remplace le robot, en pratique il faudra brancher les cartes du robot à la place du voltmètre.
Programme C++¶
Deux fichiers de code seront utilisés, le premier permet de contrôler le robot grâce à un smartphone connecté au réseau wifi créé par l'ESP32 (commande_telephone.ino), le deuxième code lui sera utilisé pour contrôler le robot de façon automatique (commande_auto.ino) pour participer à une course le dernier jour.
Le premier code utilise un système de serveur asynchrone qui écoute les requêtes de l'utilisateur en parallèle de l’exécution des taches. On utilise ainsi la librairie ESPAsyncWebSrv grâce à laquelle on défini des actions selon les requêtes GET reçues.
On active ainsi les variables CommandRunning ou StopCommand utilisées dans la boucle principale pour indiquer qu'une action est en cours d’exécution. La commande à exécuter est stockée dans la variable globalCommand et un compteur permettant de maitriser le nombre de tours de chaque moteur est utilisé dans la variable globalValue.
Le deuxième code reprend les éléments de contrôle et enlève toute la partie Wifi et serveur asynchrone.
Programmation de l'application Android ou iOS¶
Pour créer notre application Android, nous allons utiliser le site MIT App Inventor qui permet de créer une interface simple et de programmer en blocs.
Voici comment ajouter un élément à l'interface et programmer les effets :
Pour celles et ceux n'ayant pas de smartphone, une application web a été faite pour pouvoir controler le robot depuis un ordinateur connecté au wifi du robot : index.html
Le contrôle du robot se fait grâce à des requêtes HTTP, voir aussi sur ce lien
Course¶
Le dernier jour sera consacré à la participation à une course de robots. L'objectif est de programmer les robots pour qu'ils se déplacent de façon automatique jusqu'à une cible, durant toute la matinée et le début d'après midi, les participant.e.s devront programmer et tester leur robot pour effectuer le parcours, en fin de journée, Tous les robots seront lancés en même temps et les personnes terminant au plus proche de la ligne d'arrivée (le plus rapidement en cas d'égalité) gagneront la course. Attention aux robots voisins qui risquent de gêner le passage !
Première course¶
Candidat | base 1 | base 2 | base 3 | base 0 | temps | Commentaire | Classement |
---|---|---|---|---|---|---|---|
Sacha | 68s | 118s | sortie | ||||
Remi | 64s | 116s | 185s | 236s | Ne s'arrête pas | ||
Nolan & Elias | 65s | sortie 2'54 | |||||
Marc | 96s | 185s | 310s | 6'30s | Avec 2 sorties et ne s'arrête pas à la fin | ||
Léandre | 56s | arrêt à 1'08 | |||||
Alexandre | raté | 1'11 perte de la roue droite | |||||
Clément | 68s | 120s | 193 | 240s | Ne s'arrête pas | ||
Gabriel | 30s | Coincé |
Deuxième course¶
Candidat | Classement | Commentaire |
---|---|---|
Sacha | 1 | 3'37s |
Remi | 2 | 3'47s |
Nolan & Elias | NA | |
Léandre | NA | |
Alexandre | NA | |
Clément | 3 | 3'57s |
Gabriel | NA |