The greatest WordPress.com site in all the land!

arduino + mpu6050 + 6 servos

#include <Servo.h>
#include <MPU6050.h>
#include <I2Cdev.h>
#include <Wire.h>

 
MPU6050 mpu;
 
int16_t ax, ay, az;
int16_t gx, gy, gz;
 
Servo myservoy;
Servo myservox;
Servo myservoz;
Servo myservogy;
Servo myservogx;
Servo myservogz;
 
int valy;
int valx;
int prevValy;
int prevValx;
int valz;
int prevValz;
int valgy;
int valgx;
int prevValgy;
int prevValgx;
int valgz;
int prevValgz;

 
void setup()
{
    Wire.begin();
    Serial.begin(115200);
 
    Serial.println(« Initialize MPU »);
    mpu.initialize();
    Serial.println(mpu.testConnection() ? « Connected » : « Connection failed »);
    myservoy.attach(9);
    myservox.attach(8);
    myservoz.attach(7);
    myservogy.attach(6);
    myservogx.attach(5);
    myservogz.attach(4);
   
}
 
void loop()
{
    mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
 
    valy = map(ay, -17000, 17000, 0, 179);
    Serial.print(« \t »);
    if (valy != prevValy)
    {
        myservoy.write(valy);
        Serial.print(« Y= »);
        Serial.print(valy);
        prevValy = valy;
    }
   
   
    valx = map(ax,-17000,17000,0,179);
    Serial.print(« \t »);
    if (valx != prevValx)
    {
        myservox.write(valx);
        Serial.print(« x= »);
        Serial.print(valx);
        prevValx = valx;
      
    }
   
     valz = map(az, -17000, 17000, 0, 179);
     Serial.print(« \t »);
    if (valz != prevValz)
    {
        myservoz.write(valz);
        Serial.print(« z= »);
        Serial.print(valz);
        prevValz = valz;
    }
   
        valgy = map(gy, -17000, 17000, 0, 179);
    Serial.print(« \t »);
    if (valgy != prevValgy)
    {
        myservogy.write(valgy);
        Serial.print(« gY= »);
        Serial.print(valgy);
        prevValgy = valgy;
    }
   
   
    valgx = map(gx,-17000,17000,0,179);
    Serial.print(« \t »);
    if (valgx != prevValgx)
    {
        myservogx.write(valgx);
        Serial.print(« gx= »);
        Serial.print(valgx);
        prevValgx = valgx;
      
    }
   
     valgz = map(gz, -17000, 17000, 0, 179);
     Serial.print(« \t »);
    if (valgz != prevValgz)
    {
        myservogz.write(valgz);
        Serial.print(« gz= »);
        Serial.print(valgz);
        prevValgz = valgz;
    }
   
    Serial.println();
    delay(50);
}

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s