Pages: [1]   Go Down
Author Topic: [RESOLU] Récupération registres MPU6050 par I²C  (Read 376 times)
0 Members and 1 Guest are viewing this topic.
Behind you
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Est-ce que quelqu'un qui a déjà codé quelque chose peut me dire pourquoi ceci
Code:
void GYROSCOPE::request_Zout(void)
{
// Récupération des 8 bits de poids fort
Wire.beginTransmission(MPU6050_I2C_ADDRESS);
Wire.write(MPU6050_GYRO_ZOUT_H);
Wire.endTransmission(false);

Wire.requestFrom(MPU6050_I2C_ADDRESS, 1, true);
while(Wire.available() < 0);
Zout = Wire.read();

Serial.print("Z= ");
Serial.println(Zout, DEC);

/* Récupération des 8 bits de poids faible
Wire.beginTransmission(MPU6050_I2C_ADDRESS);
Wire.write(MPU6050_GYRO_ZOUT_L);
Wire.endTransmission(false);

Wire.requestFrom(MPU6050_I2C_ADDRESS, 1, true);
while(Wire.available() < 0);
Zout |= Wire.read();*/
}

me renvoie toujours 0 dans Zout ???
Je ne m'en sors plus avec ce gyroscope... Je n'arrive à rien avec en orienté objet.

Voici les define que j'utilise:
Code:
//définition des adresses de registres
#define MPU6050_GYRO_XOUT_H 0x43   // R  
#define MPU6050_GYRO_XOUT_L 0x44   // R  
#define MPU6050_GYRO_YOUT_H 0x45   // R  
#define MPU6050_GYRO_YOUT_L 0x46   // R  
#define MPU6050_GYRO_ZOUT_H 0x47   // R  
#define MPU6050_GYRO_ZOUT_L 0x48   // R

#define WHO_AM_I 0x75 //R
#define MPU6050_PWR_MGMT_1 0x6B   // R/W
#define GYRO_CONFIG 0x1B  // RW

#define MPU6050_I2C_ADDRESS 0x68

Merci d'avance ! Moi je fais une pause avant destruction massive de matériel  smiley-mad
« Last Edit: January 13, 2013, 09:51:23 am by Reynosa » Logged

Behind you
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Problème trouvé !

Pour information, quand on reset le gyrosocope, il faut mettre le bit à 1 dans le registre MPU6050_PWR_MGMT_1. Mais il faut pas oublier de le remettre à 0 !

Bonne journée à tous
Logged

Pages: [1]   Go Up
Jump to: