User manual
14 19
3.2. Statuts LED
Les LED fonctionnent de la même façon que sur la carte mère du robot. Dans tous les
cas il n’y a que 4 LED de disponible et les appellations seront différentes car ces LED
sont connectées à un registre à glissement externe, également utilisé pour l’écran LC.
Ce registre à glissement est aussi désigné comme « External Port ».
Le RP6-M32 dispose d’une fonction « setLEDs » :
Exemple :
Voici une autre alternative possible :
3.3. Touches
Contrairement au RP6, 5 touches du RP6-M32 ont été connectées à un canal ADC, ce
qui a pour avantage de n’utiliser qu’une broche pour les 5. L’inconvénient est, par contre,
que ce circuit simplifié utilise 5 résistances identiques (cf. plan du circuit sur le CD) ne
permettant pas d’appuyer sur plus d’une touche à la fois. Cela suffit amplement pour les
touches de commande !
Cette fonction détermine quelle touche est pressée. L’ADC est alors évaluée et comparée
avec des valeurs seuil prédéfinies. Ces valeurs seuil peuvent être adaptées dans la
Library afin que cela fonctionne correctement avec le RP6-M32. La valeur ADC mesurée
peut dévier en raison de la tolérance de fabrication habituelle de la résistance. Les
valeurs seuil se trouvent dans la fonction getPressedKeyNumber.
Cette fonction vérifie lorsqu’une touche est pressée et restitue une fois le numéro de la
touche – contrairement au getPressedKeyNumber, où les numéros des touches sont
restitués tant que la touche est pressée. Cette fonction est très utile pour l’évaluation
d’une valeur de touche dans la boucle principale sans interruption du flux du programme.
Il en va de même pour cette fonction :
L’EEPROM nécessite 5ms pour écrire les données, temps pendant lequel vous ne
pouvez pas accéder à l’EEPROM. Afin d’évaluer le statut actuel, vous pouvez utiliser
cette fonction :
avec par exemple
vous pouvez vérifier si l’EEPROM n’est plus occupé par l’écriture de données. Les
précédentes fonctions ci-dessus le font également, donc vous n’avez besoin de cette
fonctionnalité que si vous avez besoin d’effectuer d’autres choses dans ce laps de
temps.
3.8. ADC
Les canaux ADC peuvent être lus avec la fonction suivante, similaire à celle du RP6Lib :
Il n’y a cependant pas de variante automatique permettant de lire séquentiellement les
canaux ADC en arrière plan pour le RP6-M32.
Bien évidemment, les canaux sont intitulés différemment que ceux du RP6Lib :
3.9. Ports I/O
Le RP6 CONTROL fournit le système avec 14 ports I/O disponibles et nous allons vous
décrire brièvement comment accéder de manière générale aux ports I/O de l’AVR.
Le ATMEGA32 possède 4 ports I/O. Chacun de ses ports va jusque 8 bit et est contrôlé
par 3 registres : un registre contrôle la « direction » des pins I/O (DDRx), c’est-à-dire
savoir si un pin est utilisé comme entrée ou sortie ; un registre pour écrire (PORTx) et un
registre pour lire (PINx).
Si vous souhaitez utiliser un pin I/O comme sortie, par exemple pour allumer une LED,
vous devez d’abord positionner le bit correspondant sur 1 dans le registre DDRx.