介绍
吧下面代码复制进去就可以使用了。 当然肯定不只是esp32基本上所有的Arduino都可以使用
然后接线的话信号线接到18号io口 然后其他的接电源正负极
图示
代码教程
#include <Arduino.h>
// 定义舵机控制引脚
const int servoPin = 18;
// 定义舵机角度对应的脉宽范围
const int minPulseWidth = 500; // 0度时的脉宽,单位微秒
const int maxPulseWidth = 2500; // 180度时的脉宽,单位微秒
void setServoAngle(int angle);
void setup() {
Serial.begin(115200); // 初始化串口通信
pinMode(servoPin, OUTPUT);
}
void loop() {
// 示例:移动舵机到0度、90度、180度并保持1秒
Serial.println("0"); // 设置0度
setServoAngle(0);
delay(1000);
Serial.println("45"); // 设置45度
setServoAngle(45);
delay(1000);
Serial.println("90"); // 设置90度
setServoAngle(90);
delay(1000);
Serial.println("135"); // 设置135度
setServoAngle(135);
delay(1000);
Serial.println("180");// 设置180度
setServoAngle(180);
delay(2000);
}
void setServoAngle(int angle) {
// 将角度转换为对应的脉宽
int pulseWidth = map(angle, 0, 180, minPulseWidth, maxPulseWidth);
// 发送脉宽信号
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulseWidth);
digitalWrite(servoPin, LOW);
// 保持20ms周期
delay(20);
}