Robots danseurs technique : Différence entre versions
| Ligne 3 : | Ligne 3 : | ||
== Schéma de cablage == | == Schéma de cablage == | ||
| − | [[Fichier:Schéma baguette.png|600px|center| | + | [[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]] |
== Programme == | == Programme == | ||
Version du 25 avril 2019 à 16:12
Sommaire
Baguette
Schéma de cablage
Programme
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.
Programme de test du gyromètre
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.
Programme final hors gestion LED
Résultat
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.
Nous utilisons l’application mobile BLE scanner afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.
Bande de LED
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.
Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V
Conception
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.
Robot-maître
Schéma de câblage
Programme
Le programme du robot-maître se sépare en deux grandes parties:
- le pilotage du robot
- la communication avec la baguette et les robot-esclaves
Pilotage
Les moteurs sont pilotés via un asservissent et des interruptions par la carte Arduino Teensy.
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.
Communication Bluetooth
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence
Nous avons donc modifié le code du robot pour régler ce problème
Communication Wi-Fi
Les communications Wi-Fi et Bluetooth sont gérées par la carte Sparkfun esp32
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde
Robot-esclave
Schéma de câblage
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues
Programme
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change.
Les deux robot-esclaves on évidement le même code client wifi, cependant ils ont chacun leur propre adresse IP





