Projet ENIB2017 mini bot façon bricole
Cette page est une fiche écrite dans le cadre de l'Inter Semestre ENIB 2017
Le contenu de cette fiche est en cours de rédaction, elle va s'étoffer pendant tout le mois de janvier !
Sommaire
Mini Bot
Un petit robot qui se déplace grâce à une connexion WIFI.
Essayez donc d'y accrocher un crayon !
En détails
Le but de ce projet est de réaliser un petit robot qui comporte deux roues, sur lequel est fixé un crayon/feutre/..., et qui va pouvoir réaliser des dessins en étant contrôlé à distance par un ordinateur ou un smartphone/tablette.
Ce projet existe en différentes versions [imprimé en 3D], Ptit Bot Laser[1], et le nôtre, fait sans matériel particulier, c'est à dire avec des matériaux basiques(même pour le support à pile !), des bouchons de bouteille pour les roues etc.
Auteurs
Ont participé à la rédaction de cette fiche :
Outils et matériaux
Matériaux :
Arduino x1
Servomoteur x2
Interrupteur x1
Outils :
Ciseaux
Colle / Pistolet à colle
Scotch
Mini-Tournevis
PC
Scie sauteuse
Réaliser le projet
Au préalable, installez les logiciels suivants :
Arduino : [2], pour transférer le code sur la carte
Snap4Arduino : [3], pour donner les instructions au robot
Créer les bloc sous Snap4Arduino
Ouvrir le programme Sanp4Arduino
- Créer 5 nouvelles variables : avance, recule, à droite, à gauche, stop.
- Créer les blocs comme sur la photo ci dessous. Les couleurs des catégories correspondent avec les couleurs des blocs
- Paramétrer les blocs comme sur la photo :
Dans le bloc jaune choississez les touches que vous souhaitez utiliser
Dans le premier onglet du bloc orange, insérez vos variables
Dans le deuxième onglet du bloc jaune, copiez les instructions suivantes :
avance : http://192.168.4.1/avance
recule : http://192.168.4.1/recule
tourne à droite : http://192.168.4.1/droite
tourne à gauche : http://192.168.4.1/gauche
stop : http://192.168.4.1/stop
Vous pouvez ensuite appuyer sur le petit drapeau vert, puis sur les touches choisies pour vérifier que l'écran en haut à droite affiche les bonnes instructions.
Connecter la carte Arduino en Wifi
Ouvrez le logiciel Arduino et copiez y le code suivant :
Code Arduino
Appuyez ensuite sur la flèche en haut à gauche "téléverser".
Modifier les servomoteurs pour qu'ils tournent entièrement
On utilise des servomoteurs 9g (SG90). Leur rotation est classiquement de 0 à 180° ou encore de 0 à 90°.
Nous pouvons opérer 2 types de transformation :
En moteur simple à courant continu. En servomoteur à rotation continue Mais quelle est la différence entre ces deux modifications ?
Un moteur simple n'est pilotable qu'en changeant le sens du courant. Un servomoteur à courant continue se pilote via les instructions numériques qui lui sont envoyées.
Transformer en moteur simple
Les engrenages
Un des engrenage possède des picots qui bloquent sa rotation complète. Il faut donc couper ces picots.
On ouvre le servo et on accède aux engrenages.
L'idéal est de poser les engrenages, en notant leurs positions, sur un support clair.
Ensuite, on coupe les picots
Et voilà !
Comment c'est dedans ?
On regarde l'intérieur et voici ce qu'on voit.
des engrenages (mais ça on les a enlevés). un petit moteur une carte électronique qui contrôle le servomoteur un potentiomètre rotatif. Ce potentiomètre sert au servo moteur à connaître sa position.
On extrait l'électronique délicatement et on coupe les 3 fils connectés au potentiomètre.
Le potentiomètre ne tourne pas complètement, il faut donc le rendre complètement rotatif. Comme il ne servira plus, on détruit la partie "résistance variable".
On enlève la bague supérieure avec une pince ou un petit tournevis. Il faut faire attention à ne pas tout casser !
Et voilà notre servomoteur complètement nettoyé.
Là, il suffit de remonter le servomoteur en l'état, après avoir remis en place les engrenages. C'est maintenant devenu un simple moteur à courant continu.
Transformer en servomoteur à rotation continue
Pour le transformer en servomoteur à rotation continue, il faut "tromper le servomoteur". Nous allons lui faire croire qu'il est en position médiane.
Pour cela, il faut savoir que le potentiomètre du servo fasse 5kohms. Nous allons souder aux bornes du potentiomètre deux résistance de 2,2kohms.
Le servomoteur croira qu'il est en position médiane (entre 0 et 180°, donc à 90°). Lorsque nous lui demanderons d'aller à 0° il se mettra à tourner continuellement dans un sens et pour l'autre sens il faudra lui demander d'aller à 180°.
Construction de la structure du robot
Socle à pile
explications + photos
Roues
explications + photos
Support du stylo
explications + photos
Décoration du robot
explication + photos
Attention dans la décoration de ne pas trop alourdir ou déséquilibrer le robot.
Difficultés de réalisation & contraintes
Bien que nous avons souhaité faciliter au maximum la réalisation de notre robot, certaines difficultés se sont présentées. La manipulation pour transformer les servomoteurs en rotation continue peut être assez contraignante pour quelqu'un de non-initié, pour cela vous pouvez commander directement les servomoteurs les plus adaptés. [lien ?]
Difficultés dues au code Arduino : Le programme donné n'étant pas fait pour Arduino (ce que nous avons mis longtemps à comprendre), nous devions le comprendre, puis le modifier pour l'adapter. Nos expériences en Arduino étant nettement moins techniques que celle ci, nous aurions eu besoin de beaucoup plus de temps afin de prendre en main ce type de code.
Difficultés dues à Snap4Arduino : Le logiciel n'a jamais détecté la carte, même en test avec des programmes simples.
Comment ça marche ?
Observations
Explications
Tout tourne autour de la carte Arduino. Grâce au programme crée, lorsque l'on appuie sur les touches du clavier choisies, la carte Arduino émet des tensions électriques sur certaines sorties. Il suffit alors de relier ces sorties aux commandes des roues, et le robot se dirige.
Plus d'explications
La carte Arduino fonctionne sur un système de 13 sorties qui émettent soit 5V, soit 0V. Les valeurs des sorties sont contrôlées par un programme informatique codé avec le logiciel Arduino. Et voila ! Rien de plus compliqué ! Avec ce système il est ensuite possible de contrôler des roues (en reliant les contrôles des servos moteurs avec les sorties de l'Arduino appropriées), de contrôler des allumages de LEDs, ... Les limites sont celles de l'imagination. Pourquoi pas, par exemple, prévoir une cuisine contrôlée par Arduino. Lorsque vous allumez la lumière la première fois de la journée, la machine à café se lance, puis un robot vous verse celui ci quand il est prêt, pendant qu'un autre passe un coup d'éponges. 4 secondes après, le grille pain s’enclenche.
Et dans la vie de tous les jours ?
Pourquoi ne pas essayer de se passer le sel à table avec le mini bot ?
Vous aimerez aussi
Petit Bot laser : [[4]]
Sources et ressources utiles
Lien pour aller plus loin avec l'arduino : (niveau avancé)
Lien :[5]
Lien vers un tuto du mini bot plus technique :
Lien :[6]