森行号一代箭的姿控部分用的是Arduino UNO加扩展板、MPU6050、舵机,代码是C语言
以下是Arduino UNO 与MUP6050和舵机的接线图:
MPU6050:
VCC -> 5V
GND -> GND
SDA -> A4 (SDA)
SCL -> A5 (SCL)
舵机1:
VCC -> 5V
GND -> GND
信号线 -> D2
(如果有PWM信号线需要加上)
PWM信号线 -> D3
舵机2:
VCC -> 5V
GND -> GND
信号线 -> D4
(如果有PWM信号线需要加上)
PWM信号线 -> D5
以下是完整代码:(目前精度不足,后续会改进)
#include <Wire.h>
#include <Servo.h>
#include <MPU6050.h>
MPU6050 mpu;
Servo servo1, servo2;
void setup() {
Serial.begin(9600);
Wire.begin();
mpu.initialize();
servo1.attach(2);
// 如果有PWM信号线需要改为servo2.attach(3);
servo2.attach(4);
}
void loop() {
int16_t ax, ay, az;
int16_t gx, gy, gz;
mpu.getMotion6(&ax, &ay, &a z, &gx, &gy, &gz);
int angle1 = map(ax, -32768, 32767, 0, 180);
int angle2 = map(ay, -32768, 32767, 0, 180);
servo1.write(angle1);
servo2.write(angle2);
}
以下是连接后的实物图:
如果大家有建议可以多多提出来,谢谢!