我正试着用Arduino微控制器来转动一个连续旋转伺服系统。
当使用串行连接按向右箭头键时,我想将伺服系统向右旋转1度。这是我的代码:
const int servoPin = 6;
int incomingByte;
Servo servo;
int pos;
void setup() {
Serial.begin(9600);
pos = 0;
servo.attach(servoPin);
servo.write(pos);
}
void loop() {
incomingByte = Serial.read();
if (incommingByte == 67) {
pos++;
servo.write(pos);
}
}我要怎么做才能让他转过来?因为现在,它不动了.
非常感谢!
发布于 2012-06-16 23:23:04
你的代码有几处地方出了问题。有几个语法错误正在发生。
首先,您需要执行一个#include <Servo.h>并将incomingByte声明为一个整数。在if-condition行中也有一个拼写错误。
此外,如果键盘未连接到Arduino板,则无法从键盘读取数据,除非您在中间有东西可以将键盘数据中继到板上。下面是你可以用来开始的代码:
#include <Servo.h>
int incomingByte;
Servo servo;
int pos;
int dir;
void setup() {
Serial.begin(9600);
Serial.print("Test\n");
pos = 90;
dir = 1;
servo.attach(9);
servo.write(pos);
}
void loop() {
if (pos >= 180 || pos <= 0) { dir = -dir; }
pos += dir;
Serial.print(pos);
Serial.println();
servo.write(pos);
delay(50);
}https://stackoverflow.com/questions/11064282
复制相似问题