Boîtes tactiles

Principe

Le dhaum est équipé de boîtes munies d’une surface conductrice et d’une électronique associée. À tour de rôle, chaque surface est mise à un faible potentiel électrique et l’électronique détermine sur quelles autres boîtes ce potentiel s’est propagé, trahissant ainsi la présence de corps conducteurs (y compris d’impédance modérée) entre les boîtes.

Ainsi, il est possible de détecter des chaînes humaines entre les boîtes du dhaum. Attention toutefois, le système est sensible aux perturbations et un filtrage du signal par votre application peut s’avérer nécessaire.

Liaison série

La carte électronique communique via un protocole simple transmis à travers une liaison série par USB (USB-serial). Votre ordinateur de test devra donc disposer des pilotes pour cette interface générique et, selon le langage que vous choisissez, des bibliothèques adéquates pour dialoguer avec celle-ci.

L’interface dialogue à 115200 bauds avec des mots de 8 bits sans parité ni contrôle de flux. Les données sont transmises via un protocole textuel (caractères ascii).

Protocole

L’information est envoyée en boucle.

Chaque ligne est constituée du numéro de la boîte considérée (ou « - » si aucune boîte n’est activée) suivi d’une espace et d’un nombre entre 0 et 127 indiquant l’état de l’ensemble des boîtes.

Par exemple, examinons l’extrait suivant :

0 126
1 121
2 121
3 119
4 111
5 95
6 63
- 127
0 126

La première ligne indique 0 126. Cela signifie que lorsque la boîte 0 est testée, l’état des boîtes est 126. Retranscrit en binaire, il s’agit du nombre 0b1111110 : la boîte 0 voit bien le signal et les autres ont un signal à 1… il n’y a pas de contact.

Sur la deuxième et troisième ligne, respectivement lorsque la boîte 1 et 2 sont testées, l’état des boîtes est 121 ou 0b1111001 : les boîtes 1 et 2 voient le signal et on peut donc déduire un contact entre ces deux boîtes.

Les quatre lignes suivantes sont analogues à la première ligne, mais avec les boîtes 3 à 6.

L’avant-dernière ligne de l’extrait indique l’état des boîtes lorsqu’aucun signal n’est émis. La valeur est 127 ou 0b1111111, ce qui signifie qu’aucune boîte ne reçoit de signal et donc il n’y a probablement pas de parasitage à ce moment-là.

Enfin, la dernière ligne commence la séquence suivante, car les informations sont répétées en boucle.

Notez qu’il est possible d’avoir des connexions entre plus de deux boîtes et que plusieurs combinaisons peuvent être réalisées simultanément. Par exemple, dans l’exemple suivant, il y a connexion entre {1,3}, {4,6} et {0,2,5} :

0 90
1 117
2 90
3 117
4 47
5 90
6 47
- 127

Filtrage

L’électronique de détection des appuis mesure de très faibles courants et est donc sujet aux parasites. Pour réduire l’effet de ceux-ci, la première astuce consiste à utiliser le port USB d’un ordinateur portable fonctionnant sur batterie. De préférence, utilisez l’ordinateur de votre groupe qui émet le moins de parasites.

Une stratégie de filtrage peut consister par exemple à moyenner les valeurs des bits reçus pour chaque boîte de sorte à rejeter le bruit de haute fréquence, ou pour les plus motivés d’entre vous réaliser un véritable filtre passe-bas numérique. La stratégie est à adapter selon le niveau de bruit constaté.