26 7
gestionnaires d’événements pour ACS, IRCOMM et Bumper sont également disponibles
ici, mais il en existe de nouveaux pour niveau d’accu faible et les requêtes Watchdog. Le
prochain exemple montre comment contrôler les mouvements du robot en utilisant ces
fonctions.
Le programme est similaire à l’exemple 7. Comme nous l’avons déjà dit, nous avons
ajouté une nouvelle fonction Watchdog Timer, dont les requêtes sont affichées sur le
LCD. Le programme lit également tous les registres de capteur et affiche les résultats sur
l’interface séquentielle, tout comme les événements ACS, Bumper et RC5.
Là, nous ajoutons à la nouvelle Library quelques fonctions de mouvements déjà présentes
dans le RP6Lib
: move (bouger), rotate (tourne), moveAtSpeed, changeDirection
(changement de direction) et stop. Ces fonctions sont identiques
à celles utilisées dans le
RP6Lib. Pour cet exemple, nous avons enlev
é depuis l’affichage jusqu’au Watchdog des
exemples pr
écédents, afin d’utiliser le mode blocage des fonctions de mouvements (de
toute fa
çon, certaines choses telles que l’affichage Heartbeat n’aurait pas fonctionné).
Le robot s’agite et se tourne sur environ 180
° - exactement comme pour l’exemple 7 du
RP6Lib (« RP6Base_Move_02.c »).
Ce nouvelle Library vous permet de copier pratiquement l’intégralité des programmes
d’exemples pour votre robot à commande. C’est exactement ce qui a été fait ici avec
le programme d’exemple «RP6Base_05_Move_05. Quelques modifications étaient
nécessaires – les LED de la carte mère devaient être, entre autres, contrôlées par la
fonction setRP6LEDs, puisque setLEDs est déjà réservé pour les LED du RP6-M32…
Pour le reste, le programme est à peu de choses près identique aux programmes que
vous connaissez déjà – le robot tourne tout en essayant d’éviter les obstacles. Sauf que
cette fois le robot est contrôlé par le RP6-M32.
L’écran LC et les LED affichent désormais le comportement actif actuel. Ainsi, vous
pouvez voir en temps réel quel comportement est actif. Pour cela, il existe une petite
• Capteur microphone
o Afin de détecter les bruits, par exemple, taper dans les mains, etc.
• Bipeur piezo
o Pour créer des sonneries simples
o Le signaleur, par exemple pour indiquer une erreur ou un changement de statut
• 4 LED de statut
• 5 boutons
• Port écran LC
o Pour la connexion d’un écran LC 16 x 2 lignes, mais d’autres sont également compatibles
(par exemple le 16 x 4 lignes). L’
écran se relie par deux boulons d’écartement et peuvent
dépasser d’un côté… Nous vous conseillons toutefois de prendre les dimensions avant
l’achat et de commander le mat
ériel de montage adapté ! De plus, pour les formats
autre que 16 x 2 lignes, il est possible que vous ayez quelques petites modifications à
effectuer dans la biblioth
èque, afin que tout fonctionne correctement (principalement
pour l’initialisation de l’
écran et éventuellement le curseur de positionnement). Les
programmes d’exemple sont con
çus pour un écran 16 x 2 lignes, mais vous pouvez
facilement le changer.
o L’écran peut afficher, par exemple, des messages textes, des menus, des statuts de
programme ou encore des valeurs de capteur.
• 14 ports I/O disponibles pour contrôle votre circuit et vos capteurs
o 6 d’entre eux peuvent être utilisés comme canaux convertisseurs analogique/
numérique (ADC).
• Jusqu’à 3 interrupteurs externes sont disponibles pour la connexion XBUS.
• Branchement pour l’interface PC USB, disponible pour le téléchargement de
programme
o Le téléchargement de programme travaille aussi rapidement et facilement que le
robot seul, grâce à une interface USB et le logiciel pratique RP6Loader.
De plus, comme avec le robot, nous fournissons quelques programmes C d’exemple,
comme la bibliothèque fonctionnelle, qui facilite grandement la programmation.
Nous avons prévu de rendre disponible plus de programmes et de mises à jour du robot
et du module d’extension sur la page web du robot. Vous pouvez aussi bien évidemment
échanger votre propre programme avec d’autres utilisateurs ! La RP6ControlLibray et les
programmes d’exemple sont également disponibles sur le GPL Licence Open Source !