用esp8266写一段,按下按钮舵机转,任意角度松开按钮舵机停止
时间: 2023-06-25 09:04:53 浏览: 109
好的,可以参考以下代码:
```c
#include <Servo.h>
#define BUTTON_PIN 2
#define SERVO_PIN 5
Servo myservo; // 创建一个舵机对象
int angle = 0; // 舵机角度
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP); // 将按钮引脚设为输入模式,并启用上拉电阻
myservo.attach(SERVO_PIN); // 将舵机连接到指定的引脚
myservo.write(angle); // 初始化舵机角度为0度
}
void loop() {
if (digitalRead(BUTTON_PIN) == LOW) { // 当按钮被按下时
angle = 90; // 设定舵机角度为90度
myservo.write(angle); // 控制舵机转动到指定角度
}
else { // 当按钮没有被按下时
angle = 0; // 设定舵机角度为0度
myservo.write(angle); // 控制舵机转动到指定角度
}
}
```
以上代码使用 `Servo` 库来控制舵机。在 `setup()` 函数中,我们将按钮引脚设为输入模式,并启用上拉电阻。然后将舵机连接到指定的引脚并将舵机角度初始化为0度。
在 `loop()` 函数中,我们不断检测按钮状态。如果按钮被按下,则设定舵机角度为90度,然后控制舵机转动到指定角度。如果按钮没有被按下,则设定舵机角度为0度,然后控制舵机转动到指定角度。这样就实现了按下按钮舵机转,松开按钮舵机停止的功能。
阅读全文