Module PmodGYRO - gyroscope 3 axes L3G4200D

    Module gyroscope 3 axes Pmod GYRO Digilent
    PMODGYRO
    Disponible
    25,55 € TTC
    21,29 € HT

    Dont 0,01 € d'eco-participation déjà incluse dans le prix

    Conçu pour être piloté par un Arduino® via une liaison SPI et I2C, ce module Pmod intègre un gyroscope 3 axes L3G4200D STMicroelectronics®.

    Reprise 1 pour 1         Frais de port à partir de 7.90 €   infos

     
    Ce module Pmod de chez Digilent® est conçu pour être piloté par un Arduino® via une liaison SPI et I2C, intègre un gyroscope 3 axes L3G4200D STMicroelectronics®.

    Caractéristiques:
    - Résolution configurable: 250 / 500 / 2000 dps
    - Interface au standard SPI et I²C
    - Mode veille et power-down
     
    Fonction du moduleInterface du moduleConnectique du module



    Doté d'un connecteur mâle 2 x 6 broches, ce module pourra être déporté via des cordons optionnels (voir modèles en bas de page).
     
    Ce module est soumis au contrôle de la réglementation américaine relative à l’exportation (15 CFR Part 730 et. seq.). 
      
     
    Exemple d'application avec un arduino™


    Module PmodGyro et Arduino


    /************************************************************************
    *
    * Test du module Pmod gyroscope 3 axes
    *
    *************************************************************************
    * Description: Pmod_GYRO
    * Les 3 composantes X, Y et Z du gyroscope sont affichés
    * dans le moniteur série
    *
    * Matériel
    * 1. Arduino Uno
    * 2. Module Pmod GYRO
    *
    * Schéma publié sous licence CC Attribution-ShareALike (réalisé avec Fritzing)
    *
    * N'importez pas le programme par un copier/coller dans l'IDE de l'arduino.
    * Utilisez le lien ci-dessous pour télécharger le code source.

    * Code source téléchargeable ici:
    ************************************************************************/

    // Déclaration des adresses du module
    #define L3G4200D_Adresse 0x69 // adresse du L3G4200D
    #define CTRL_REG1 0x20
    #define CTRL_REG2 0x21
    #define CTRL_REG3 0x22
    #define CTRL_REG4 0x23
    #define CTRL_REG5 0x24
    #define REGISTRE_MSB_X 0x29 // bit de poids fort axe X
    #define REGISTRE_LSB_X 0x28 // bit de poids faible axe X
    #define REGISTRE_MSB_Y 0x2B // bit de poids fort axe Y
    #define REGISTRE_LSB_Y 0x2A // bit de poids faible axe Y
    #define REGISTRE_MSB_Z 0x2D // bit de poids fort axe Z
    #define REGISTRE_LSB_Z 0x2C // bit de poids faible axe Z


    // Appel de la bibliothèque
    #include <Wire.h>

    int composante_X;
    int composante_Y;
    int composante_Z;

    byte composante_MSB_X;
    byte composante_LSB_X;
    byte composante_MSB_Y;
    byte composante_LSB_Y;
    byte composante_MSB_Z;
    byte composante_LSB_Z;



    void setup(void)
    {
    Serial.begin(9600); // initialisation de la liaison série
    Wire.begin(); // initialisation de la liaison I2C
    Init_L3G4200D(2000);
    delay(1000);
    }

    void loop()
    {
    Lecture_Module();

    Serial.print("X="); // affichage des composantes dans le moniteur série
    Serial.print (composante_X);
    Serial.print('t'); // tabulation
    Serial.print("Y=");
    Serial.print (composante_Y);
    Serial.print('t');
    Serial.print("Z=");
    Serial.print (composante_Z);
    Serial.println("");
    delay(500);
    }

    // Initialisation du module L3G4200D
    void Init_L3G4200D(int echelle)
    {
    Wire.beginTransmission(L3G4200D_Adresse);
    Wire.write(CTRL_REG1);
    Wire.write(0b00001111);
    Wire.endTransmission();
    Wire.beginTransmission(L3G4200D_Adresse);
    Wire.write(CTRL_REG2);
    Wire.write(0b00000000);
    Wire.endTransmission();
    Wire.beginTransmission(L3G4200D_Adresse);
    Wire.write(CTRL_REG3);
    Wire.write(0b00001000);
    Wire.endTransmission();
    if (echelle==250)
    {
    Wire.beginTransmission(L3G4200D_Adresse);
    Wire.write(CTRL_REG4);
    Wire.write(0b00000000);
    Wire.endTransmission();
    }
    if (echelle==500)
    {
    Wire.beginTransmission(L3G4200D_Adresse);
    Wire.write(CTRL_REG4);
    Wire.write(0b00010000);
    Wire.endTransmission();
    }
    else
    {
    Wire.beginTransmission(L3G4200D_Adresse);
    Wire.write(CTRL_REG4);
    Wire.write(0b00110000);
    Wire.endTransmission();
    }
    Wire.beginTransmission(L3G4200D_Adresse);
    Wire.write(CTRL_REG5);
    Wire.write(0b00000000);
    Wire.endTransmission();
    }

    // Lecture des valeurs X, Y et Z
    void Lecture_Module()
    {
    composante_MSB_X=Lecture_Registre(REGISTRE_MSB_X); // lecture MSB_X
    composante_LSB_X=Lecture_Registre(REGISTRE_LSB_X); // lecture LSB_X
    composante_X=((composante_MSB_X << 8) | composante_LSB_X); // reconstitution composante_X
    composante_MSB_Y=Lecture_Registre(REGISTRE_MSB_Y); // lecture MSB_Y
    composante_LSB_Y=Lecture_Registre(REGISTRE_LSB_Y); // lecture LSB_Y
    composante_Y=((composante_MSB_Y << 8) | composante_LSB_Y); // reconstitution composante_Y
    composante_MSB_Z=Lecture_Registre(REGISTRE_MSB_Z); // lecture MSB_Z
    composante_LSB_Z=Lecture_Registre(REGISTRE_LSB_Z); // lecture LSB_Z
    composante_Z=((composante_MSB_Z << 8) | composante_LSB_Z); // reconstitution composante_Z
    }

    // Lecture d'un registre du module L3G4200D
    int Lecture_Registre(byte registre)
    {
    int v;
    Wire.beginTransmission(L3G4200D_Adresse);
    Wire.write(registre);
    Wire.endTransmission();
    Wire.requestFrom(L3G4200D_Adresse, 1);
    while(!Wire.available());
    v = Wire.read();
    return v;
    }  
     
     
    Notes d'applications pour modules Pmod 
     
    La note d'application ci-dessus a retenu votre attention ? Téléchargez toutes les autres notes d'applications concernant l'utilisation des modules Pmod™ avec un arduino™ Uno. 
    Aucun avis
    Il est nécessaire d'être connecté pour laisser un avis

    Produits associés

    Produit ajouté à ma liste