|
只接一个舵机一切正常,包括堵转,接两个舵机,电源10秒自动断电,求指导!
++++++++++++++++++++++++++++++++++
代码区
/***************************************************
改进版PCA9685驱动程序
对于ARDUINO UNO,SCL -> A5,SDA -> A4
****************************************************/
#include <Wire.h> //添加头文件用于I2C通信
#include <Adafruit_PWMServoDriver.h> //添加16路舵机控制板头文件
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); //分配默认地址0x40
void setup() {
Serial.begin(9600);
Serial.println("16 channel Servo test!");
pwm.begin(); // 开始调制PWM信号
pwm.setPWMFreq(50); // 设定PWM信号频率为50Hz
}
void setServoAngle(uint8_t n, double angle){ //该函数将高电平时间的函数简化为角度的函数
uint16_t pulselen = angle*(512/225)+(512/5);
pwm.setPWM(n,0, pulselen);
}
void loop() {
Motor(0); //电机1
Motor(1); //电机2
}
void Motor(int ax0)
{
delay(1000);
for(double angle = 0; angle < 45; angle++) {
setServoAngle(ax0,angle);
}
delay(1000);
for(double angle = 45; angle < 90; angle++) {
setServoAngle(ax0,angle);
}
delay(1000);
for(double angle =90; angle < 135; angle++) {
setServoAngle(ax0,angle);
}
delay(1000);
for(double angle = 135; angle < 180; angle++) {
setServoAngle(ax0,angle);
}
delay(1000);
for(double angle = 180; angle >= 0; angle--) {
setServoAngle(ax0,angle);
}
delay(1000);
}
|
-
|