MPU6050 et quadrirotor

Bonjour, j'ai fait quelques recherche sur ce module et sur la fa_on d'exploiter les données en vu de piloter un quadrirotor, j'ai vu que le sujet revenait plusieurs fois sur le forum sans vraiment aboutir.

Est que quelqu'un serait déja parvenu a exploiter les donnés correctement voir même déja réalisé un code permettant de stabiliser un quadrirotor?

J'utilise pour le moment ce code qui permet d'afficher les données des 3 accélérations et les 3 données du gyroscope.
J'ai du mal a comprendre comment exploiter ces données car je recoit des données négatives sur l'acceleration (gravité) sur l'axe X et Y lorsque ma platine est parfaitement horizontale.

Je me pose aussi l'interré d'avoir les données du gyroscope car de toute manière si l'ont par du principe que l'ont est a l'horizontale seul l'axe z devrait afficher la valeur de la gravité.

J'ai vu également qu'il est possible d'utiliser le logiciel processor pour visualiser plus facilement les valeurs obtenu. Je cherche un eventuel exemple. J'en demande peut être trop...

// MPU-6050 Short Example Sketch
    // By Arduino User JohnChi
    // August 17, 2014
    // Public Domain
    #include<Wire.h>
    const int MPU=0x68;  // I2C address of the MPU-6050
    int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;
    void setup(){
      Wire.begin();
      Wire.beginTransmission(MPU);
      Wire.write(0x6B);  // PWR_MGMT_1 register
      Wire.write(0);     // set to zero (wakes up the MPU-6050)
      Wire.endTransmission(true);
      Serial.begin(9600);
    }
    void loop(){
      Wire.beginTransmission(MPU);
      Wire.write(0x3B);  // starting with register 0x3B (ACCEL_XOUT_H)
      Wire.endTransmission(false);
      Wire.requestFrom(MPU,14,true);  // request a total of 14 registers
      AcX=Wire.read()<<8|Wire.read();  // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)    
      AcY=Wire.read()<<8|Wire.read();  // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
      AcZ=Wire.read()<<8|Wire.read();  // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
      Tmp=Wire.read()<<8|Wire.read();  // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)
      GyX=Wire.read()<<8|Wire.read();  // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
      GyY=Wire.read()<<8|Wire.read();  // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
      GyZ=Wire.read()<<8|Wire.read();  // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
      Serial.print("AcX = "); Serial.print(AcX);
      Serial.print(" | AcY = "); Serial.print(AcY);
      Serial.print(" | AcZ = "); Serial.print(AcZ);
      Serial.print(" | Tmp = "); Serial.print(Tmp/340.00+36.53);  //equation for temperature in degrees C from datasheet
      Serial.print(" | GyX = "); Serial.print(GyX);
      Serial.print(" | GyY = "); Serial.print(GyY);
      Serial.print(" | GyZ = "); Serial.println(GyZ);
      delay(333);
    }

Ce projet à déjà était réaliser, il s'appelle multiwiii, le code est entièrement open source.

Ok, j'avais déja vu ce projet mais est ce quelqu'un à déja essayer de se confectionner un multirotor en utilisant se projet.

C'est vraiement un gros projet genre usine a gaz avec un tas de config possible, je viens de voir qu'il y a même le module dont je dispose.

Je viens égalment de chercher sur ebay en tapant multiwii et je suis tombé sur des boards avec tout dessus, mais laquelle choisir?

Celle ci est beaucoup présente:
http://www.ebay.fr/itm/MultiWii-SE-V2-5-Multirotor-Multicopter-controleur-vol-Flight-Control-Board-/321469201918?hash=item4ad90ebdfe

Avec justement le module gyro mpu6050.

En gros est ce que quelqu'un sur ce forum à déja essayé?

Mon quadcopter est piloté par une carte MultiWii 2.5 et sa marche nickel :slight_smile: