Bonjour,
Est-ce que quelqu'un qui a déjà codé quelque chose peut me dire pourquoi ceci
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:
//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
