DÉTECTEUR DE TOUCHE - Explications

   

Contitution d'un bit à l'émission

Le codage d'un bit a une durée de 750 µs. Il se décompose en 3 étapes de 250 µs chacunes qui sont :
un bit de start à l'état 1 suivi d'un état 0 et enfin le bit lui-même qui prend un état 0 ou 1.
Si le cavalier est en place, il y a émission d'un état logique 0.
Si le cavalier est enlevé, il y a émission d'un état logique 1.
(Certains auront reconnu le protocole utilisé par l'UM3750)


Émission d'une trame

En examinant le chronogramme, on peut remarquer qu'il y a émission du numéro de la canne (2 bits) suivi du groupe (2 bits).
En prenant la référence de la photo ci-dessous, on part du cavalier du haut pour aller vers celui du bas.

Pour la canne :
- Pas de cavalier, émission d'un état logique 1 (RB7).
- Cavalier bleu, émission d'un état logique 0 (RB6).

Pour le groupe :
- Pas de cavalier, émission d'un état logique 1 (RB5).
- Cavalier rouge, émission d'un état logique 0 (RB4).

A la réception, RB7 passe en poids faible et RB4 en poids fort.
Si les cannes sont numérotées de 1 à 4, le code canne est 01
la canne 2 est donc concernée et D7 allumée.

En résumé :

Pour un utilisateur non averti, l'implantation des deux cavaliers du bas de la photo de gauche (émetteur) doit être identique a celle de la photo de droite (récepteur). Dans ce cas, les deux appareils font partie du même groupe.
Comme il y a deux cavaliers, il existe quatre configurations possibles, donc quatre groupes.
Les deux cavaliers du haut de la photo de gauche (émetteur) donnent le numéro de la canne.
Si les deux cavaliers sont en place, le récepteur allumera la LED de la canne 1.
Si comme sur la photo, c'est le cavalier bleu qui est en place, le récepteur allumera la LED de la canne 2.
Si on déplace le cavalier bleu sur la position haute, le récepteur allumera la LED de la canne 3.
Si aucun des deux cavaliers n'est en place, le récepteur allumera la LED de la canne 4.
Le programme de réception

Début
Les 4 LEDs sont éteintes
Détection d'une durée de 3ms à l'état bas du signal de réception (inter-trame), si ce n'est pas le cas on revient au Début
Sous-programme de lecture d'une trame
Mémorisation de la trame 1
Lecture trame 2
Détection d'une durée de 3ms à l'état bas du signal de réception, si ce n'est pas le cas on revient au Début
Sous-programme de lecture d'une trame
Mémorisation de la trame 2
Comparer les deux trames recues par HF, si elles sont différentes on revient au Début
Comparer les deux groupes émetteur et récepteur, si différents revenir au Début
Identifier la canne et allumer la LED concernée
Beep du buzzer
Retour à Lecture trame 2

Le sous-programme de lecture d'une trame

Les 4 bits de la mémoire trame sont forcés à 0
K=4
Ext1
On teste si le signal de réception est à l'état bas (entre deux trames), si c'est le cas on revient à Ext1
Ext2 (Le signal, vient de passer à l'état 1)
On teste si le signal de réception est à l'état haut (bit start), si c'est le cas on revient à Ext2
On vient de passer le front descendant, attrendre une durée d'1,5 bit
On lit le bit et on le sauvegarde en décalant la mémoire de trame
Attente d'une durée d'un bit pour se retouver sur le bit Start suivant
On décrémente K
Si K est différent de 0, on saute à Ext2 (lecture du bit suivant)
On inverse les deux quartets de la mémoire trame
Temporisation pour se retrouver entre deux trames
Fin du SP

Accueil
<< Index Pêche
Une question ? Écrivez-moi ...