Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
arduino [2013/02/17 05:16] fthevene [Arduino ?] |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Arduino ? ====== | ||
- | 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. | ||
- | |||
- | [[http://arduino.cc/|Site officiel]] | ||
- | |||
- | [[installation-arduino|Installation]] | ||
- | ====== Programmation ====== | ||
- | |||
- | 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. [[http://arduino.cc/en/Reference/HomePage|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. | ||
- | [[scons|Plus d'infos]] | ||
- | |||
- | ====== Communication avec le PC ====== | ||
- | |||
- | 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). | ||
- | [[message|Plus d'infos]] |