Arduino, l'EXAO en grande liberté
(menu interfaces USB)
Arduino est une famille de petites cartes électroniques de
quelques centimètres de côté, d'origine italienne
et dont le prix est d'environ 25 euros. Le site de
référence est http://arduino.cc/ ou sa version francophone http://arduino.cc/fr/
En 2010, le plus fréquent est Arduino 2009 ("Duemilanove" en
italien) ; apparemment, Arduino Uno lui est équivalent, sauf que
le convertisseur USB-Série doit être différent..

Arduino contient un microprocesseur et un peu de mémoire, et
peut être considéré comme un petit ordinateur
à part entière, mais sans clavier, sans écran,
sans disque dur ou disquette : il communique avec le monde
extérieur par sa prise USB. On peut le programmer sur un
ordinateur normal (Windows, Linux, Mac...), et envoyer le programme
compilé vers Arduino, qui ensuite effectue le programme.
Lorsqu'on branche Arduino sur un ordinateur muni d'une prise USB, il
est reconnu comme une prise sérielle supplémentaire. Par
exemple, sous Windows, il apparaît comme un Com5: ou Com6:.
On peut l'utiliser de deux façons différentes :
- soit de façon autonome, puisque c'est un petit ordinateur. Il
peut faire des mesures, et en fonction du résultat,
déclencher des actions. La gamme des possibilités est
tellement vaste qu'il n'est pas possible ici de le développer.
- soit de façon liée à un ordinateur, qui lui
envoie régulièrement les instructions à effectuer.
C'est ce dernier type qui sera développé ici.
Principe de fonctionnement d'Arduino en tant que matériel d'acquisition de données EXAO
On commence par charger dans Arduino un programme de configuration. Ce
programme lui fait faire une mesure ou une action à chaque fois
qu'il reçoit un message particulier. Ensuite, l'ordinateur
relié à Arduino lui envoie des messages, et reçoit
le résultat des mesures, qu'il peut traiter comme à
partir de n'importe quel matériel de mesure.
Caractéristiques électroniques d'Arduino 2009
- 6 entrées analogiques sur 10 bits, pouvant faire des mesures entre 0 et 5 V.
- 14 entrées et sorties logiques (TTL : entre 0 et 5 V),
numérotées de 0 à 13. Dans la pratique, les broche
0 et 1 sont indisponibles car elles correspondent aussi à
l'envoi et à la réception de signaux par la prise USB :
il reste donc 12 broches disponibles. Six de ces broches peuvent servir
aussi de sorties analogiques (entre 0 et 5 V) car elles peuvent
fonctionner en tant que sorties PWM, c'est à dire avec un
découpage de la tension en fréquence.
Pour un emploi généraliste, le mieux est de
réserver quelques unes de ces voies aux sorties logiques,
quelques unes aux entrées logiques, et quelques unes aux sorties
analogiques. Pour des emplois plus spécifiques, on peut employer
les 12 broches soit à des entrées, soit à des
sorties.
Des pilotes pour Arduino
Contrairement à beaucoup d'appareils de mesure, où le
fonctionnement est rigide, Arduino a un fonctionnement programmable :
on peut fixer la vitesse de communication (par défaut 9600
bauds, 8 bits de données, 1 bit de stop, sans parité), et
la nature des messages à échanger. Il est donc
indispensable de prévoir à la fois le programme à
implanter dans Arduino et le pilote nécessaire pour l'utiliser.
C'est pourquoi les fichiers disponibles ici contiendront le pilote pour
l'ordinateur de type PC et le programme à implanter dans Arduino.
Quelques choix arbitraires (mais que vous pouvez changer en recompilant le programme-source) :
- la vitesse de base de 9600 bauds est conservée. Cela permet de
faire facilement des mesures lentes, de l'ordre de une ou quelques
mesures par seconde. On peut augmenter cette vitesse jusqu'à
115000 bits/s.
- Dans un but d'utilisation générale, les 11 broches
d'entrée-sortie ont été réparties à
peu près équitablement : les broches 3, 5, 6, 9
servent pour les sorties analogiques (PWM), les broches 2, 4, 7,
8 pour les entrées binaires et les broches 10, 11, 12, 13 pour
les sorties binaires.
Pilotes (dll) pour Windows, à employer avec MGW32, Visu32,
ou autres logiciels. Au lancement (chargement de la bibliothèque
dynamique) il faut choisir la voie série, et par défaut
ce pilote propose la voie la plus grande (Com5: ou Com6: en
général) ; si par hasard Arduino s'est installé
à une autre voie, il faut donner une autre valeur (Pour
connaître les voies de communication qui existent sous Windows
XP, faire Démarrer | Paramètres | Panneau de
configuration | Système | Matériel | Gestionnaires de
périphériques | Ports (Com et Lpt). Normalement, Arduino
apparaît comme USB Serial Port.
Pilotes (dll) pour Windows 16 bits, à employer avec MGW (Mesugraf pour Windows 16 bits).
C'est vrai que Windows 3.1 date d'il y a près de vingt ans, mais
MGW est un logiciel qui a encore quelques possibilités de plus
de MGW32, en particulier la gestion des sorties analogiques
progressives. Comme ce logiciel est aussi utilisable sous les versions
modernes de Windows telles que Windows XP, autant en profiter.
Là encore, il faut indiquer dans la fenêtre de dialogue
quelle est la voie de communication sérielle (Com6:, Com5:, ou
autre).