Étape 1: Préparer le terrain
Après qu’un certain temps de lecture, nous avons constaté que la communication de la Commission capteur se produit via RS-232 à une vitesse de 38400 bauds. Il est bon, parce que l’Arduino ont déjà un Port série, ce qui signifie moins de circuits pour mettre en œuvre.
Le protocole entre zéro et capteur Conseil constitue d’un mécanisme de ping pong. Tout d’abord gratter application Envoyer un un octet de données au Conseil d’administration puis le jury répond avec les données du capteur. Agréable.
Le paquet de demande est simplement un octet avec la valeur 0 x 01, tandis que les données du capteur se composent de 9 octet haut / paires de l’octet de poids faible (c'est-à-dire 18 octets) espacement dans le temps par un intervalle de 400us.
L’octet haut / paires de l’octet de poids faible contient un ID de canal 4 bits et une valeur de 10 bits. C’est bon, parce que si s’adapte bien avec résolution Arduino ADCs.
Pour le firmware Scratch Board Release 1 et Scratch version 1.1 et ultérieure, le mappage entre le type ID et capteur de canal est donné ci-dessous :
Canal / capteur
0 / résistance D
1 / résistance C
2 / résistance B
3 / bouton
4 / résistance A
5 / light
6 / sound
7 / slider
8-14 / non utilisé
15 / firmware ID (0 x 04)
Les 16 canaux possibles nous avons 7 1 analogique, discret (marche/arrêt), 1 factice (firmware-id) et de rechange 7 (ne pas utilisés maintenant, et peut-être dans une version ultérieure).