User manual
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 -










