Projet

Général

Profil

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 :
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 15
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 : 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
Mardi 16
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
Mercredi 17
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 technique

Liste du matériel

Élément Quantité Commentaire image Où acheter (pour 5 robots)
MDF 1/3 de plaque Decoupage.svg
Colle à bois Quelques grammes 7€ sur Amazon
Moteur 28BYJJ-48 2 14€ sur Amazon
Drivers moteurs 2 Acheté en même temps que les moteurs
Jantes en PLA 2
Joint torique (pneu) 2
Vis M3 28 4 pour moteurs, 12 pour cartes et 12 pour entretoises 2 sachets pour 12€ sur Amazon
Écrous 4 Pour les moteurs "7€ sur Amazon:https://amzn.eu/d/9MVOdt2
Entretoises F/F 12 7€ sur Amazon
ESP32 + support 1 5 pièces pour 16€ sur Aliexpress
Breadboard 1 petite 5 pièces pour 7.5€ sur Aliexpress
Diode 1 IN4004 paquet de 10 pour 2.7€ sur RS
Condensateur 1 10nF pour filtrer un paquet de 5 pour 1.5€ sur RS
Interrupteur 1
Régulateur de tension 1 sortie 5v continu
Piles AA 6 ou une batterie LiPo Lot de 40 pour 17€ sur Amazon
Support pour 6 piles 1 5 pièces de 6 piles pour 22.5€ sur Aliexpress
Fil de 5cm M/M 2
Fil de 10cm F/F 12
Fil de 10cm M/F 2
Cable micro usb 1 Pour la programmation

É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