Atelier été 2024 - MON PREMIER ROBOT¶
Début juillet, viens fabriquer, personnaliser et programmer ton premier robot contrôlable à distance par téléphone et/ou ordinateur.
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.
Cet atelier est le même que l' Atelier_Printemps_2024
- Dates : les 9, 10 et 11 juillet 2024.
- 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¶
Mardi 9 juillet :10h | 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 : attachment:Flanc_Moteur2.svg attachment:Plaq_Dessous.svg attachment:plaque_dessus.svg |
12h | Découpe laser |
13h | Pause déjeuner |
14h | Assemblage et collage |
14h30 | Assemblage et câblage |
15h | Initiation à la communication réseaux |
15h30 | Pause culturelle |
16h | Présentation du site MIT App Inventor pour la programmation sous Android |
10h | Impression 3D et ou freecad: Jante_40.stl |
11h | Programmation ESP32 et analyse du code commande_telephone.zip |
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¶
Mécanique¶
Ici est décrit comment dessiner, découper et assembler les parties "mécaniques" du robot.
Liste des pièces¶
Il y a deux types de pièces à fabriquer, les pièces à découper en MDF qui feront office de châssis du robot, et les roues à imprimer en 3D (en PLA).Les pièces à découper sont personnalisables pour ajouter des gravures ou d'autres découpes.
Pièces à découper | Chassis_dessous.svg Chassis_dessus.svg Chassis_cote_x2.svg | Châssis du véhicule, en quatre pièces (Chassis_cote est à découper en double) |
Pièce à imprimer | Jante_40.FCStd | Jantes du véhicule, à entourer d'un joint en caoutchouc |
Assemblage du chassis¶
Une fois les pièces découpées et imprimées, on peut tout assembler.
Mise en place des entretoises pour fixer les cartes¶
Avant toute chose on va venir fixer les entretoises qui serviront ensuite de support pour les cartes électroniques. Pour cela on place les entretoises femelle/femelle qu'on vient positionner sur le dessus de la plaque et que l'on fixe à l'aide de vis M3 en dessous de la plaque.
On place les entretoises à ces emplacements (il faut placer les entretoises du côté montré, et non les vis) :
Moteurs¶
On peut ensuite prendre les 2 plaques "Chassis-cote" et y fixer à l'aide de vis et d'écrous les moteurs. Il faut faire attention à placer l'arbre de sortie du moteur à l’extérieur du robot et les fils à l'intérieur.
Assemblage¶
En utilisant de la colle à bois, on peut maintenant fixer chaque partie du robot ensemble et laisser sécher une nuit entière. On peut commencer par coller les parties basses et ne coller le dessus que plus tard une fois toutes les cartes branchées.
Électronique et programmation.¶
Avant de continuer l'assemblage du robot, on va s'occuper de l'électronique de puissance pour alimenter le robot et de la programmation pour le contrôler.
Électronique¶
Pour alimenter le robot, on utilise 6x piles AA de 1.5V soit au total une alimentation de 9V. La carte ESP32 accepte une tension de 5V et les moteurs fonctionnent sous 5V. On va donc créer un circuit permettant de convertir les 9V en 5V en y ajoutant un interrupteur. On met une diode pour protéger le sens du courant ainsi qu'une capacité pour filtrer la tension. Le circuit ressemble à ceci :
Element | Utilité |
Piles | Fourni de l'énergie électrique (avec une tension de 9V) |
Interrupteur | Allumer ou éteindre le robot avec un interrupteur physique |
Diode | Permet de bloquer le sens du courant dans un seul sens et ainsi éviter tout problème avec le placement des piles |
Converti la tension vers 5v | |
Condensateur | Permet de filtrer la tension et éviter les chutes brutales de tension |
Programme du robot¶
Le robot est doté d'un ESP32 que l'on code en C++ avec l'IDE Arduino. Le robot est contrôlé par Wifi en utilisant des requêtes HTTP. On utilise un serveur web asynchrone qui reçoit les requêtes (GET) en continu et utilise un système de drapeaux pour le pilotage. Le code est disponible ici : commande_telephone.zip.Il faut penser à installer les librairies Arduino suivantes :
- Arduino_ESP32_OTA (by Arduino)
- AsyncTCP (by dvarrell)
- ESPAsyncWebServer (by lacamera)
Pour contrôler le robot on peut le faire soit avec une application android codée sur le site App Inventor, soit avec une Web App codée en HTML/JavaScript pour contrôler le robot avec les flèches du clavier de l'ordinateur.
Sur le site App Inventor, on peut importer des projets en ".aia", le projet est disponible ici : attachment:robot_control(1).aia. Il y a deux onglets, un pour l'interface graphique ("designer") et l'autre pour le code ("blocks"). La programmation se fait sous forme de blocs (programmation type Scratch). Le principe est simple : quand un bouton est activé (avancer de 10cm par exemple), l'application envoie une requête GET au site "http:// ADRESSE IP /get?command= forward &value= 10 et le robot interprète cette requête.
De la même manière, la Web App index.html envoie le même type de requêtes lors de l'appuie sur les touches du clavier ou sur les boutons de l'écran.
Pour finir l'atelier, un parcours autonome sera fait en utilisant un autre programme. Il faudra ainsi utiliser les fonctions présentes dans le fichier attachment:commande_auto.ino pour déplacer de façon autonome le robot.
Assemblage final¶
On place le support des piles à l'étage inférieur entre les moteurs et on fait remonter les fils (+) et (-) vers la breadboard pour transformer la tension de 9v vers 5v. La sortie de la breadboard se branche sur la carte ESP32 en +Vcc et GND. En regardant le code Arduino, on effectue les branchements entre l'ESP32 et les différents moteurs présents.