Projet

Général

Profil

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 :
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
Mercredi 10 juillet :
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
Jeudi 11 juillet :
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...)

Machine d'Anticythère
Regard critique :
  • Rayon X fin du 19eme siècle par Wilhelm Röntgen
  • Train épicycloïdal
  • Peintures

Malachi Farrell

Théo Jansen

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.