ここにはばかげたエラーがあると確信していますが、残念ながら、私の人生ではそれを解決することはできません!
エラーを取得する簡単なテスト プログラム:
#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 句のどこに追加されても、違いはないようです。