Capteur De Microphone; Ecran Lcd - Arexx RP6 ROBOT SYSTEM RP6 CONTROL M32 Manuel D'utilisation

Table des Matières

Publicité

RP6 ROBOT SYSTEM - 3. RP6 CONTROL Library

3.1.5. Capteur de Microphone

Le RP6 CONTROL peut non seulement générer du son mais aussi y réagir. Certes pas
à la fréquence mais au volume. Ainsi vous pouvez faire démarrer le robot par des sons
forts.
Le circuit est conçu comme un « Peak Detector » (détecteur de crête). Il mesure l'am-
plitude du signal de microphone sur une durée variable et retient la valeur maximale.
Ensuite le microcontrôleur peut mesurer la valeur maximale à l'aide d'un CAN et l'effa-
cer ensuite. La valeur maximale est mémorisée dans un petit condensateur. Pour « ef-
facer » cette valeur maximale, ce condensateur est déchargé.
Il faut d'abord décharger le condensateur avec la fonction
void dischargePeakDetector(void)
Ensuite vous pouvez, à des intervalles réguliers, déterminer la valeur maximale ac-
tuellement mesurée avec la fonction
uint16_t getMicrophonePeak(void)
Après avoir mesuré la valeur, la fonction appelle directement dischargePeakDetector
().
Un des exemples de programme montre comment cela peut être utilisé.

3.1.6. Ecran LCD

Le LCD est idéal pour afficher des valeurs de détecteurs et des messages d'état pen-
dant que le robot n'est pas connecté sur le PC. La sortie sur le LCD fonctionne un peu
comme pour l'interface série – mais il y a quand-même quelques particularités. Regar-
dez les exemples de programme et vous comprendrez rapidement l'intérêt du LCD.
void initLCD(void)
Cette fonction doit toujours être appelée au début du programme afin d'initialiser le
LCD.
void setLCDD(uint8_t lcdd)
Normalement, vous n'avez pas besoin de cette fonction (et de write4BitLCDData) –
nous ne la décrivons ici que pour vous expliquer brièvement comment le LCD est com-
mandé.
Le LCD fonctionne en mode 4-bit. Quatre lignes de données et deux lignes de com-
mande suffisent donc (Enable (EN) et Register Select (RS), Read/Write (R/W) sont en
permanence commutés sur la masse ce qui explique pourquoi le LCD peut être exclu-
sivement écrit mais jamais lu - ce qui n'est pas nécessaire non plus). Tout comme les
LED, les quatre lignes de données sont connectées sur le registre à décalage afin
d'économiser des ports. A l'instar de la fonction setLEDs, setLCDD définit les lignes de
données du LCD. Toutefois cette fonction place aussi brièvement le signal Enable pour
que le LCD reprenne les données.
void write4BitLCDData(uint8_t data)
Puisque nous devons en fait envoyer des commandes et données de 8 bits, les octets
à transmettre devront être répartis – et c'est exactement ce que fait la fonction wri -
- 14 -

Publicité

Table des Matières
loading

Produits Connexes pour Arexx RP6 ROBOT SYSTEM RP6 CONTROL M32

Table des Matières