Go Down

Topic: Codigo para Mpu6050 (Read 44 times) previous topic - next topic

THOMAZ

Presados senhores, preciso de um cogigo para o MPU6050, controlar dois motores passo, pois sou novato em progrmação. Se puderem me ajudar ficarei muito agardecido.
Thomaz

luisilva

Se a ideia é que alguém aqui do fórum lhe escreva o código, pode começar a aprender a programação porque duvido que isso aconteça.
Se a ideia é obter informação para fazer isso sozinho, aí a conversa já é diferente. Pode começar a pesquisar por aqui e se tiver dúvidas pode voltar quando quiser.
Também convinha que falasse o que quer fazer exactamente para que a ajuda fosse mais direccionada. "cogigo para o MPU6050, controlar dois motores passo" é muito vago e não diz muito sobre o que a aplicação terá que fazer.

THOMAZ

#2
Aug 30, 2015, 01:51 am Last Edit: Aug 30, 2015, 01:57 am by THOMAZ
luisilva, valeu pega dica, eu possuo um projeto gimbal que utiliza motores servos o que eu preciso é colocar motores de passo no lugar dos servos. segue o codigo que utilizo.
Code: [Select]
//MPU 6050 2 axis Servo kontrol

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

MPU6050 mpu;

int16_t ax, ay, az;
int16_t gx, gy, gz;

Servo myservoY;
Servo myservoX;

int valY;
int prevValY;

int valX;
int prevValX;

void setup()
{
  Wire.begin();
  Serial.begin(38400);
  Serial.println("Initialize MPU");
  mpu.initialize();
  Serial.println(mpu.testConnection() ? "Connected" : "Connection failed");
  myservoY.attach(9);
  myservoX.attach(10);
}
void loop()
{
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  valY = map(ay, -17000, 17000, 0, 179);
  valX = map(ax, -17000, 17000, 0, 179);
  if (valY != prevValY)
  {
    myservoY.write(valY);
    prevValY = valY;
  }

  if (valX != prevValX)
  {
    myservoX.write(valX);
    prevValX = valX;
  }
  delay(50);
}

Go Up