|
楼主 |
发表于 2015-10-1 13:58:08
|
显示全部楼层
使用Arduino DUE通过ZTW电调驱动无刷电机
/*
* val值为0~180时,单位为度(°)
* val值为544~2400时,单位为us,写入的为高电平持续时长
* BLCD的PWM信号为周期20ms,高电平1~2ms,所以val的取值为1000~2000范围内
*/
#include <Servo.h> //引入舵机控制的Arduino库
Servo servo;
int val = 1000;
unsigned char flag = 1;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
servo.attach(2);
//先校准油门:先拉高(2ms)持续2s以上,再拉低(1ms)
servo.write(500);
delay(500);
servo.write(2500);
delay(2000);
servo.write(1000);
delay(500);
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()) {
val = Serial.read();
Serial.write(val);
servo.write(val);
}
servo.write(val);
if (flag) {
if(++val > 2000) {
flag = 0;
}
} else {
if(--val < 1000) {
flag = 1;
}
}
delay(5);
}
|
|