Étape 5: Comment lire les données feuille et Code
Ensuite, nous avons besoin visualiser la fiche technique pour le capteur gyroscopique. Cela nous donnera des informations sur comment les œuvres de capteur et ce que les registres nous devons lecture/écriture. Le capteur qu'utilise le PmodGYRO est le L3G4200D et voici la fiche technique pour cela. Page 10 il y a des informations sur les différentes résolutions pour chacune des plages disponibles. Elles seront importantes pour convertir la valeur de l’entier signé en une valeur significative en degrés par seconde.
À la page 22, l’adresse de l’esclave est administré par 110100xb. Puisque la broche SDO est reliée à la tension du réseau, l’adresse est 1101001b, ce qui correspond à 0x69 en hexadécimal ou 105 sous forme décimale. Cette page détaille également que si vous voulez lire plus d’un octet à la fois, vous pouvez l’incrémentation automatique des données en plaçant un 1 dans la position de l’octet le plus significatif. Cela sera important lors de la lecture des registres de données (plus sur cela plus tard).
À la page 29, CTRL_REG1 0 x 20 est détaillée. Ici nous pouvons voir ce que chacun peu de moyens à ce registre. Nous voulons mettre l’appareil en mode normal et activer le x, y et z axes afin que nous devons écrire 00001111 pour inscrire 0 x 20. 00001111 est 0xF en hexadécimal dans labview, nous utilisons une écriture I2C pour inscrire 0 x 20 et nous écrivons 0xF (l’entrée suivante dans le tableau).
À la page 32, CTRL_REG4 0 x 23 est détaillée. Nous voyons que c’est où nous pouvons définir la détection de la pleine échelle. Pour 250 dps, 00000000 (0 x 0), pour 500 nous faut 00010000 (0 x 10), pour 2000 dps nous pouvons mettre soit 00100000 ou 00110000 (j’ai utilisé 0 x 30). Une structure de boîtier est utilisée pour écrire la valeur hexadécimale correcte dans ce registre selon quelle plage est sélectionné.
Il existe d’autres paramètres que vous pouvez salir avec si vous êtes intéressé par les registres de contrôle.
Maintenant, nous avons besoin de comprendre où les données sont stockées et comment elle est stockée. À la page 35, nous pouvons voir que les valeurs sont stockées de Registre 0 x 28 pour inscrire 0x2D (6 octets de données, 2 pour chaque axe) de 2 compléter le formulaire. Pour lire ceci, nous avons besoin pointer vers le premier registre 0 x 28 avec un 1 à la place de la DGSM, afin que les données peuvent tous être lues en même temps (incrémentation automatique). 0 x 28 avec un 1 à la place de MSb est 0xA8. Utilisez I2C écrivez à ce registre et puis utiliser I2C pour lire 6 octets de données et stocker dans un tableau.
Ensuite, les octets sont traitées pour donner les valeurs que nous voulons. Tableau d’index permet de lire des entrées individuelles et épisser les x, y, données de l’axe z. Multipliez toutes ces valeurs 16 bits signés par la résolution une fois qu’ils sont convertis en valeur de complément de 2 puisque c’est comment la fiche technique dit que ce seront signalés par le capteur.
Maintenant, se ferment un I2C et la partie la plus difficile est faite !