我正在研究蓝牙控制的 Arduino 机械臂。我希望当我发送一个整数时,伺服移动,当我发送另一个整数时,它停止。我在论坛上发现的只是伺服移动到特定位置的系统,但我希望它通过增加角度来真正旋转。这是我的代码,它不起作用:
#include <Servo.h>
int val;
int angle;
int charsRead;
char buffer[10];
Servo servo;
void setup() {
Serial.begin(9600);
servo.attach(6);
angle = servo.read();
}
void loop() {
servo.write(170);
serialCheck();
if(val == 4021){
servo.write(angle++);
delay(50);
}
}
else if(val == 4022){
servo.write(angle);
}
serialCheck();
}
void serialCheck(){
while(Serial.available() > 0){
charsRead = Serial.readBytesUntil('\n', buffer, sizeof(buffer) - 1);
buffer[charsRead] = '\0';
val = atoi(buffer);
Serial.println(val);
}
}
我使用的应用程序基本上在我长按按钮时发送“4021”,当我释放它时发送“4022”。
我已经为此工作了几个小时,但我在任何论坛上都没有找到遇到同样问题的人......
请帮忙。