当我通过串行监视器输入角度时,我编写了一个旋转伺服的程序。 当我输入价值时,有时候效果很好。在一些值之后,伺服卡住了......有时串行监视器都没有响应而伺服卡住了......这是我的代码:
#include <Servo.h>
int i = 0;
Servo servo;
void setup() {
servo.attach(9);
delay(100);
Serial.begin(9600);
}
void loop() {
int number = getTheNumber();
if(number >=0 && number <= 180)
servo.write(number);
delay(1000);
}
int getTheNumber(){
int j = 0;
char valueArray[5]={0,0,0,0,0};
while(Serial.available()==0)
delay(100);
while(Serial.available() != 0){
valueArray[j]=Serial.read();
delay(100);
j++;
}
int intValue = atoi(valueArray);
return intValue;
}
它有什么问题?我该如何解决这个问题?