用esp8266写一段,按下按钮舵机转,到达任意角度松开按钮舵机停止
时间: 2023-06-24 09:08:13 浏览: 103
小爱同学/天猫精灵控制舵机_基于ESP8266+Arduino+点灯科技
好的,以下是一个简单的代码示例:
```c
#include <Servo.h>
const int buttonPin = 2; // 按钮连接到 GPIO2 引脚
const int servoPin = 5; // 舵机连接到 GPIO5 引脚
Servo myservo; // 创建一个舵机对象
int buttonState = 0; // 按钮状态变量
int angle = 0; // 舵机角度变量
void setup() {
myservo.attach(servoPin); // 将舵机连接到指定引脚
pinMode(buttonPin, INPUT); // 将按钮引脚设置为输入模式
}
void loop() {
buttonState = digitalRead(buttonPin); // 读取按钮状态
if (buttonState == HIGH) { // 如果按钮被按下
angle += 10; // 增加舵机角度
if (angle > 180) { // 如果角度超过了 180 度
angle = 0; // 重置角度
}
myservo.write(angle); // 将舵机转到指定角度
delay(50); // 等待一段时间,以免过快转动舵机
} else { // 如果按钮没有被按下
myservo.detach(); // 停止舵机
}
}
```
以上代码会不断地检测按钮状态,如果按钮被按下,则每次增加舵机角度 10 度,直到达到 180 度后重置到 0 度。同时,舵机会根据角度转动,并且每次转动后等待 50 毫秒,以避免舵机过快转动。当按钮没有被按下时,舵机会停止转动。
阅读全文