MPU6050 kontrolleras servo arm
Så, i detta instructable jag presentera processen för att göra en 2-axlig pan och tilt servo arm kontrolleras med hjälp av MPU6050
Accelerometer.
Först av allt måste vi ladda upp filer från i2cdev.zip och MPU6050.zip in i Arduino IDE biblioteket.
Detta kan göras genom att extrahera filerna i mapparna .zip och kopiera till biblioteksmappen för arduino IDE.
De delar som behövs för detta projekt är:
1) Arduino UNO
2) bakbord
3) MPU6050
4) 2 x servomotorer (jag använde microservo motorer i detta fall)
5) hane-hane startkablar
6) dator med Arduino IDE
Anslutningarna kan göras som visas i Fritzing diagram.
För MPU6050:
SCL -> A5
SDA -> A4
INT -> 2
Servo1 -> 9
Servo2 -> 10
Efter alla anslutningar är gjorda, ladda upp koden till din Arduino:
#include "Wire.h"
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Servo.h"
MPU6050 mpu;
int16_t ax, ay, az;
int16_t gx, gy, gz;
Servo servo1;
Servo servo2;
int värde1;
int värde2;
int prevVal1;
int prevVal2;
void setup()
{
Wire.BEGIN();
Serial.BEGIN(38400);
Serial.println ("initiera MPU");
MPU.Initialize();
Serial.println(MPU.testConnection()? "Ansluten": "Anslutningen misslyckades");
servo1.attach(9);
servo2.attach(10);
}
void loop()
{
mpu.getMotion6 (& ax, ay, az, & gx, & gy, & gz);
värde1 = karta (ax,-17000, 17000, 0, 179);
om (värde1! = prevVal1)
{
servo1.write(val1);
prevVal1 = värde1;
}
värde2 = karta (ay,-17000, 17000, 0, 179);
om (värde2! = prevVal2)
{
servo2.write(val2);
prevVal2 = värde2;
}
Delay(50);
}
Viktig anmärkning: det kan finnas problem ansluta MPU6050, som de sladdar att hålla förlorar, så när du först ladda upp den, kolla i den seriella moniter om accelerometern var ansluten. Annars återansluta och försök igen.
Tips: Du kan lägga till mer servon genom att införa nya variabler och mappa därefter. Att lägga till mer kraftfulla servon och en bättre struktur kan öppna nya möjligheter som en fpv kamerafästet etc
Alltid redo för feedback.
Tack.