教程六 PWM舵机控制例程
来自Waveshare Wiki
各模块使用教程
- 序章 安装Arduino IDE
- 教程一 带编码器电机控制例程一
- 教程二 带编码器电机控制例程二
- 教程三 带编码器电机控制例程三
- 教程四 无编码器电机控制例程
- 教程五 ST3215总线舵机控制例程
- 教程六 PWM舵机控制例程
- 教程七 IMU数据读取例程
- 教程八 SD卡读取例程
- 教程九 INA219电压电流监测例程
- 教程十 OLED屏幕控制例程
- 教程十一 激光雷达和在ROS2中发布雷达话题
- General Driver for Robots 主页
PWM舵机控制
General Driver for Robots板载有发送PWM信号的模块,PWM舵机可通过连接板载IO口接收PWM信号,从而达成驱动板对PWM舵机的控制,以下提供PWM舵机的简单转动程序。
例程
上传程序
下载依赖库ESP32Servo,下载后的文件解压到路径为C:\Users\Username\AppData\Local\Arduino15\libraries的文件夹里。
下载压缩包后打开pwmServo.ino,用USB线将多功能驱动板和计算机连接起来(此处插入的是多功能驱动板USB的Type-C接口),点击“工具”→“端口”,再点击新出现的COM(我这里新出现的COM为COM26)。
在Arduino IDE中,点击“工具”→“开发板”→“ESP32”→“ESP32 Dev Module”。开发板以及端口都选择好后上传程序。上传程序后,将PWM舵机和PWM信号舵机接口连接上,将XH2.54供电接口接上电源后运行程序,可以看见PWM舵机会来回摆动。
程序解析
#include <ESP32_Servo.h> Servo pwmServo; //创建pwm对象 #define PSERVO_PIN 4 //设置舵机引脚 int pwmServoChannel = 7; //设置舵机通道 int pwmServoInitPos = 90; //设置舵机初始位置 void pwmServoInit(){ pwmServo.attach(PSERVO_PIN); //将舵机引脚绑定到pwm对象 } void setup() { pwmServoInit(); //初始化舵机 } void loop() { pwmServo.write(50); //设置舵机位置为50度 delay(1000); pwmServo.write(90); //设置舵机位置为90度 delay(1000); }