当前位置:   article > 正文

Arduino_ESP32_控制舵机运行【2024年】版_esp32控制舵机代码

esp32控制舵机代码

介绍

吧下面代码复制进去就可以使用了。 当然肯定不只是esp32基本上所有的Arduino都可以使用

然后接线的话信号线接到18号io口 然后其他的接电源正负极

图示

代码教程

  1. #include <Arduino.h>
  2. // 定义舵机控制引脚
  3. const int servoPin = 18;
  4. // 定义舵机角度对应的脉宽范围
  5. const int minPulseWidth = 500; // 0度时的脉宽,单位微秒
  6. const int maxPulseWidth = 2500; // 180度时的脉宽,单位微秒
  7. void setServoAngle(int angle);
  8. void setup() {
  9. Serial.begin(115200); // 初始化串口通信
  10. pinMode(servoPin, OUTPUT);
  11. }
  12. void loop() {
  13. // 示例:移动舵机到0度、90度、180度并保持1秒
  14. Serial.println("0"); // 设置0度
  15. setServoAngle(0);
  16. delay(1000);
  17. Serial.println("45"); // 设置45度
  18. setServoAngle(45);
  19. delay(1000);
  20. Serial.println("90"); // 设置90度
  21. setServoAngle(90);
  22. delay(1000);
  23. Serial.println("135"); // 设置135度
  24. setServoAngle(135);
  25. delay(1000);
  26. Serial.println("180");// 设置180度
  27. setServoAngle(180);
  28. delay(2000);
  29. }
  30. void setServoAngle(int angle) {
  31. // 将角度转换为对应的脉宽
  32. int pulseWidth = map(angle, 0, 180, minPulseWidth, maxPulseWidth);
  33. // 发送脉宽信号
  34. digitalWrite(servoPin, HIGH);
  35. delayMicroseconds(pulseWidth);
  36. digitalWrite(servoPin, LOW);
  37. // 保持20ms周期
  38. delay(20);
  39. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/961108
推荐阅读
相关标签
  

闽ICP备14008679号