赞
踩
吧下面代码复制进去就可以使用了。 当然肯定不只是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);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。