Robots danseurs technique : Différence entre versions

De Learning Lab Environnements Connectés
Sauter à la navigation Sauter à la recherche
Ligne 3 : Ligne 3 :
 
== Schéma de cablage ==  
 
== Schéma de cablage ==  
  
[[Fichier:Schéma baguette.png|600px|center|Chéma de câblage de la buaguette]]
+
[[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

Baguette

Schéma de cablage

Schéma de câblage de la buaguette

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.

Résultat 1.png

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.

Résultat 2.png

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.

LEDraté2.jpg

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

Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)

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

Connection raté.png

Nous avons donc modifié le code du robot pour régler ce problème

Connexion réussi.png

Communication Wi-Fi

Alternance des connections au serveur

code serveur wifi

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

Communication du serveur avec le client point de vu client

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