(remplace SEN11763P)
***
Mise à jour le 09/05/2016
Sommaire :
– Présentation du module gyroscope Grove 101020050
– Brochage du capteur
– Schéma d’exploitation du capteur
– Diagramme de fonctionnement
– Initialisation du capteur
– Lecture des données du capteur
– Exemple de programme
– Téléchargement de la librairie du 09/05/2016 ( constructeur )
Présentation du Module gyroscope Grove 101020050 :
Ce module gyroscope 3 axes compatible Grove est basé sur le circuit ITG3200 et communique avec le microcontrôleur via un port I2C. Le circuit ITG3200 dispose de 3 convertisseurs ADC 16 bits, d’un filtre passe-bas et d’une interface I2C rapide.
Ce module se raccorde sur un port I2C du Grove Base Shield ou du Mega Shield via un câble 4 conducteurs .
Interface: compatible Grove
Alimentation: 3 à 5 Vcc
Consommation:
– en fonctionnement: 6,5 mA
– en stand-by: 5 µA
Sorties: axes X, Y et Z
Sensibilité: 14 LSBs par °/sec
Plage de mesure: ±2000°/sec
Protocole: I2C rapide (400 kHz)
Dimensions: 20 x 20 x 13 mm
Non compatible avec Tinker Kit
Référence Seeedstudio: 101020050 (remplace SEN11763P)
Brochage du capteur :
Définition des broches du capteurs |
||
1 | CLKIN | En option entrée d’horloge de référence externe. Connecté à GND si la broche est inutilisés. |
2/3/4/5 | NC | Non connecté en interne. Peut être utilisé pour la tracé de la carte |
6/7 | RESV | Réservé. Ne pas connecter. |
8 | VLOGIC | IO numérique la tension d’alimentation. VLOGIC doit être ≤ VDD en tout temps. |
9 | AD0 | Adresse I2C Esclave LSB |
10 | REGOUT | Régulateur connexion condensateur de filtrage |
11 | RESV | Réservé. Ne pas connecter. |
12 | INT | Interrupt digital output (totem pole ou drain ouvert) |
13 | VDD | Tension d’alimentation [ -0.5V to +6V ] |
14/15/16/17 | NC | Non connecté en interne. Peut être utilisé pour la tracé de la carte |
18 | GND | Tenion d’alimentation [ 0V ] |
19 | RESV | Réservé. Ne pas connecter. |
20 | CPOUT | Connexion condensateur |
21/22 | RESV | Réservé. Ne pas connecter. |
23 | SCL | I2C serial Horloge |
24 | SDA | I2C serial Données |
Schéma d’exploitation du capteur :
Diagramme de fonctionnement :
Le dessin ci-dessous montre les orientations des 3 axes. Vous pouvez l’utiliser pour comprendre les significations physiques du résultat.
Initialisation du capteur:
1 2 3 4 5 6 |
// // //calibration du gyroscope pour cela il faut 200 mesures // gyro.init(); gyro.zeroCalibrate(200,10); |
Lecture des données du capteur :
1 2 3 4 5 |
// // // void getXYZ(int16_t *x,int16_t *y,int16_t *z); void getAngularVelocity(float *ax,float *ay,float *az); |
Exemple de programme :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
/* * * Commenté par RedOHM * et modifié d'apres les sources * orginale * * Exemple de programme pour le * gyroscope Grove SEN11763P ou * nouvelle reference 101020050 * * * 06/05/2016 */ // Initialise la library Wire et se connecte au bus I2C // Cette instruction ne doit normalement n'être appelée qu'une seule fois #include <Wire.h> // Initialise la library ITG3200 du gyroscope #include "ITG3200.h" ITG3200 gyro; // Un programme Arduino doit impérativement contenir cette fonction . // Elle ne sera exécuter une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties void setup() { // initialisation de la connexion série // IMPORTANT : la fenêtre terminal côté PC doit être réglée sur la même valeur Serial.begin(9600); //initialisation du gyroscope gyro.init(); // calibration du gyroscope pour cela il faut 200 mesures // temps necessaire 200*10ms gyro.zeroCalibrate(200,10); } // Le programme principal s’exécute par une boucle infinie appelée Loop () void loop() { Serial.println ("******************************************"); Serial.println ("* *"); Serial.println ("* Information gyro *"); Serial.println ("* *"); Serial.println ("******************************************"); // Affichage de la temperature Serial.print("Temperature = "); Serial.print(gyro.getTemperature()); Serial.println(" C"); int16_t x,y,z; gyro.getXYZ(&x,&y,&z); Serial.print("Valeur de X :"); Serial.println(x); Serial.print("Valeur de Y :"); Serial.println(y); Serial.print("Valeur de Z :"); Serial.println(z); //Definition de --> float //Déclaration des variables de type virgule flottante //(nombres à virgules) float ax,ay,az; gyro.getAngularVelocity(&ax,&ay,&az); Serial.print("Vitesse angulaire pour X :"); Serial.print(ax); Serial.println(" degree par seconde"); Serial.print("Vitesse angulaire pour Y :"); Serial.print(ay); Serial.println(" degree par seconde"); Serial.print("Vitesse angulaire pour Z :"); Serial.print(az); Serial.println(" degree par seconde"); Serial.println(" "); delay(1000); } |
Téléchargement du programme:
RedOhm gyroscope Grove ITG3200
Résultat du programme sur le moniteur série :
Telechargement de la librairie du 09/05/2016 :
***
Documentation fournisseur : Gotronic
Source technique : Seeedwiki
Information complémentaire : Gitub