Dus, in dit instructable presenteer ik het proces om een 2-as pan en tilt servo arm gecontroleerd met behulp van de MPU6050
versnellingsmeter.
We moeten allereerst het uploaden van de bestanden i2cdev.zip en MPU6050.zip in de bibliotheek van de Arduino IDE.
Dit kan worden gedaan door uitpakken van de bestanden in de .zip-mappen en kopiëren naar de map library van de arduino IDE.
De onderdelen die nodig zijn voor dit project zijn:
1) Arduino UNO
2) breadboard
3) MPU6050
4) 2 x servomotoren (ik gebruikte motoren van de microservo in dit geval)
5) male-Male Jumper Kabels
6) computer met Arduino IDE
De verbindingen moeten worden gemaakt, zoals wordt weergegeven in het diagram Fritzing.
Voor MPU6050:
SCL -> A5
SDA -> A4
INT -> 2
Servo1 -> 9
Servo2 -> 10
Nadat alle verbindingen zijn gemaakt, de code op je Arduino uploaden:
#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 val1;
int val2;
int prevVal1;
int prevVal2;
VOID Setup
{
Wire.begin();
Serial.begin(38400);
Serial.println ("MPU initialiseren");
MPU.initialize();
Serial.println(MPU.testConnection()? 'Verbonden': "Verbinding mislukt");
servo1.attach(9);
servo2.attach(10);
}
void loop
{
mpu.getMotion6 (& ax, & ay, az, & gx, & gy, & gz);
val1 = kaart (ax,-17000, 0, 17000 179);
Als (val1! = prevVal1)
{
servo1.write(val1);
prevVal1 = val1;
}
val2 = kaart (ay,-17000, 0, 17000 179);
Als (val2! = prevVal2)
{
servo2.write(val2);
prevVal2 = val2;
}
delay(50);
}
Belangrijke opmerking: kunnen er problemen verbinding maken met de MPU6050, zoals de draden lopen houden verliest, dus als u in eerste instantie uploaden, Controleer in de seriële moniter als de versnellingsmeter was succesvol verbonden. Anders opnieuw en probeer het opnieuw.
Tips: U kunt meer servo's toevoegen door de invoering van nieuwe variabelen en toewijzing dienovereenkomstig. Het toevoegen van meer krachtige servo's en een betere structuur kunt openen nieuwe mogelijkheden zoals een fpv camera mount enz
Altijd klaar voor feedback.
Dank u.