我正在尝试通过临时连接控制一些连接到 Arduino(面包板)的伺服系统。我已经建立了网络,可以远程登录到WiFly,甚至可以进行一些简单的控制(例如,打开和关闭 LED)。但是,当我尝试根据在 telnet 会话中键入的字符启动和停止伺服时,伺服将运行半秒,然后停止 - 之后 WiFly 完全停止响应。我的 LED 代码有效:
void loop(){
delay(100);
index = 0;
while(serialWiFly.available() > 0){
if(index < 100){
inputIn = serialWiFly.read();
input[index] = inputIn;
index++;
input[index] = '\0';
}
if(inputIn == 'a')
digitalWrite(13, HIGH);
if(inputIn == 'z')
digitalWrite(13, LOW);
} //end while
serialWiFly.flush();
delay(10);
} //end loop
这让我可以通过按“a”打开 LED,然后按“z”关闭 LED。凉爽的。但是当我添加一个moveForward()
函数时:
void moveForward(){
myservo.write(124);
}
并从我的循环中调用它:
if(inputIn == 'a') moveForward();
正如我所描述的,伺服将旋转然后停止。我在这里不知所措 - 我该如何解决这个问题?