Bonsoir à tous,
Pour un projet scolaire, je dois utiliser un gyroscope MPU-6050 pour avoir les valeurs en degrés de l'inclinaison de la pente. Je sais que ce que je vais vous demander n'est pas très compliqué, mais j'arrive à saturation, j'ai passé des journées à essayer de le brancher, le faire marcher, regler des problèmes, etc...
Ce que je voudrais serait d'avoir un angle en x entre -180 et 180 degrés. J'ai déjà un programme qui me donne cet angle entre 0 et 360 degrés, mais même en faisant x-180, ça ne fonctionne pas :o
Je suis à la recherche de plus d'une bibliothèque, si ça peut me faciliter le travail pour lire cette valeur en x ainsi que de calibrer le gyro (le mettre à 0 tout simplement).
Voici le code qui est dans la loop
Wire.beginTransmission(0x69); // Adresse I2C du capteur MPU6050
Wire.write(0x3B); // Adresse du ACCEL_XOUT_H (datasheet)
Wire.endTransmission(false); // Fin de transmission totale avec le capteur
Wire.requestFrom(0x69,14,true);
axis_X=Wire.read()<<8|Wire.read(); // Enregistrement des 2 premiers bits
axis_Y=Wire.read()<<8|Wire.read(); // Enregistrement des 2 bits du milieu
axis_Z=Wire.read()<<8|Wire.read(); // Enregistrement des 2 derniers bits
int xAng = map(axis_X,minVal,maxVal,-90,90); // On re-étalonne la valeur axis_X entre -90 et 90 (angle en degrés)
int yAng = map(axis_Y,minVal,maxVal,-90,90); // On re-étalonne la valeur axis_Y entre -90 et 90 (angle en degrés)
int zAng = map(axis_Z,minVal,maxVal,-90,90); // On re-étalonne la valeur axis_Z entre -90 et 90 (angle en degrés)
x= RAD_TO_DEG * (atan2(-yAng, -zAng)+PI); // La valeur de atan2 est en radian en sortie. On utilise donc "RAD_TO_DEG"
y= RAD_TO_DEG * (atan2(-xAng, -zAng)+PI);
z= RAD_TO_DEG * (atan2(-yAng, -xAng)+PI);
Désolé du dérangement...
Bonne soirée à tous