我很確定這裏有一個愚蠢的錯誤,但我恐怕我不能爲我的生活工作了!Arduino伺服沒有響應按鈕按
簡單的測試程序,它會取得錯誤:
#include <Servo.h>
Servo myservo;
int testPIN = 13;
int inputPIN = 5;
void setup()
{
myservo.attach(8);
pinMode(testPIN, OUTPUT);
pinMode(inputPIN, INPUT);
}
void loop()
{
if (digitalRead(inputPIN) == HIGH)
{
digitalWrite(testPIN, HIGH);
myservo.write(90);
}
else
{
digitalWrite(testPIN, LOW);
myservo.write(0);
}
}
Arduino的掃例子(http://arduino.cc/en/Tutorial/Sweep)的作品,所以我相當有信心,電子作品。
testPIN也按預期方式打開和關閉,因此if語句按預期工作。
歡迎任何意見/建議!
編輯 - 對不起誤差伺服完全不
EDIT 2移動 - 這是一個有點奇怪的是怎麼回事。如果我將掃描循環複製/粘貼到if子句中,則伺服器按預期作出反應(即,輸入=高電平使得伺服運行一個掃描循環,直到達到預期結束時才掃描循環)。我的直接想法是需要延遲,但無論他們多長時間或在if/else子句中添加它們的位置,它們似乎都沒有區別。
什麼是錯誤? – Mushy 2013-05-13 14:25:44
對不起!往上看。謝謝 – user2056166 2013-05-13 14:27:12
在現場你已經提到伺服器在第9針,在你的代碼中它連接到第8針......只是一個瘋狂的猜測。 – Archie 2013-05-13 14:31:55