Touches; Beeper - Arexx RP6 ROBOT SYSTEM RP6 CONTROL M32 Manuel D'utilisation

Table des Matières

Publicité

RP6 ROBOT SYSTEM - 3. RP6 CONTROL Library

3.1.3. Touches

A la différence des pare-chocs, les 5 touches sur le RP6-M32 sont connectées sur un
canal CAN. Cela présente l'avantage qu'une seule broche suffit pour les 5 touches.
L'inconvénient est que sur le circuit simple équipé de 5 résistances égales (voir sché-
ma technique sur le CD-ROM) que nous utilisons ici, une seule touche peut être ac-
tionnée à la fois. Mais cela suffit amplement pour des touches de service.
uint8_t getPressedKeyNumber(void)
Cette fonction détermine quelle touche est actuellement appuyée. A cet effet, le CAN
est lu et comparé à quelques valeurs de seuil pré-réglées. Il faut éventuellement
adapter ces valeurs de seuil dans la Library pour que cela fonctionne bien avec votre
propre RP6-M32, car la valeur CAN mesurée peut différer des résistances en raison
des écarts de fabrication habituels. Vous trouverez les valeurs de seuil directement
dans la fonction getPressedKeyNumber.
uint8_t checkPressedKeyEvent(void)
Cette fonction vérifie si une touche a été appuyée et renvoie une seule fois le numéro
de touche – à la différence de getPressedKeyNumber, où le numéro de touche est ren -
voyé en permanence. C'est utile pour interroger les touches dans la boucle principale
sans interrompre le flux du programme.
Cette fonction est un peu similaire:
uint8_t checkReleasedKeyEvent(void)
Toutefois, ici la valeur de la touche n'est renvoyée qu'une seule fois après que la
touche a été relâchée. Cette fonction ne bloque pas non plus le flux normal du pro-
gramme. Ce n'est pas nécessaire d'attendre avec une boucle jusqu'à ce que la touche
soit relâchée.

3.1.4. Beeper

L'avertisseur sonore sur le RP6-M32 peut être commandé avec la fonction
void beep(uint8_t pitch, uint16_t time)
Toutefois, cette fonction n'est pas bloquante, c'est-à-dire elle ne fixe que la fréquence
du son et la durée pendant laquelle le son sera généré. Ensuite elle quitte. Le beeper
s'arrête automatiquement après la durée déterminée. Toutefois chaque nouvel appel
de cette fonction écrase les réglages. Pour générer des mélodies ou des sons distincts,
il est souvent plus simple d'utiliser la macro
sound(pitch, time, delay)
Ici vous pouvez déterminer la hauteur du son, la durée et la pause après le son. La
génération des pauses se fait avec mSleep. Cela durera donc time+delay millièmes de
secondes avant que le programme ne poursuive.
Si vous ne voulez pas du tout régler des pauses ou durées, vous pouvez régler juste
la fréquence du son avec
void setBeeperPitch(uint8_t pitch)
C'est utile pour des séries de sons continues (p.ex. sirène ou autre). Attention: Dans
toutes les fonctions Beeper, la plage de réglage admise du « pitch » se situe entre 0
et 255, 255 étant la fréquence maximale.
- 13 -

Publicité

Table des Matières
loading

Produits Connexes pour Arexx RP6 ROBOT SYSTEM RP6 CONTROL M32

Table des Matières