Ceci est une ancienne révision du document !
Arduino est une plateforme de prototypage électronique mondialement reconnue. Nous l'utilisons pour le contrôles des actionneurs du robot et l'IHM du robot.
Les programmes pour arduino sont écrits en c++, la librairie Arduino.h disponible de base fourni de nombreuses fonctions permettant d'exploiter les capacités de l'arduino. Liste des fonctions. Le programme est compilé par une version spécifique de gcc puis envoyé à l'arduino par l'interface USB.
Ces tâches sont normalement effectuées à travers l'IDE Arduino mais pour plus de liberté nous utilisons un script Scons (équivalent de make écrit en python) qui rempli ces deux fonctions. Plus d'infos
La communication avec le PC se fait grâce à une mini-librairie sobrement nommée message.
On définit les fonctions disponibles dans le fichier protocole.h de la façon suivante
/** * Documentation de la fonction * @param param1 * @param param2 */ #define Q_ACTION 10
Le programme arduino basique que nous utilisons est constitué d'une boucle sans fin qui lit les commandes données sur le port série par le PC, Les ordres sont constitués : d'un identifiant, d'un numéro de commande (10 pour Q_ACTION), d'une liste d'argument. La réponse est envoyé grâce aux fonction sendResponse et sendError.
Du côté PC un client zerobot spécifique a été développé : il lit le fichier protocole.h pour déterminer les fonctions disponibles et communique avec l'arduino sur le port série (usb). Plus d'infos