我希望标准伺服在按下并释放按钮 1 时旋转 180 度。但我希望伺服器仅在按住按钮 2 时旋转回初始位置(& 松开按钮 2 后停止旋转)。我现在拥有的 arduino 代码正确地允许伺服器通过按下并释放按钮 1 来完全旋转 180 度,但伺服器也错误地通过按下和释放按钮 2 旋转回初始位置,而不是在释放后停止. 对以下代码的任何帮助将不胜感激:
#include <Servo.h>
Servo myservo;
int pos;
const int buttonPin = 2;
const int buttonPin2 = 3;
int buttonState = 0;
int buttonState2 = 0;
void setup()
{
myservo.attach(9);
pinMode(buttonPin, INPUT);
pinMode(buttonPin2,INPUT);
}
void loop()
{
buttonState = digitalRead(buttonPin);
buttonState2 = digitalRead(buttonPin2);
if (buttonState == HIGH) {
pos=180;
myservo.write(180);
}
if (buttonState2 == HIGH) {
pos-=1;
myservo.write(pos);
}
}