教程三 ST3215总线舵机控制例程
来自Waveshare Wiki
各模块使用教程
- 序章 安装Arduino IDE
- 教程一 带编码器电机控制例程
- 教程二 无编码器电机控制例程
- 教程三 ST3215总线舵机控制例程
- 教程四 PWM舵机控制例程
- 教程五 IMU数据读取例程
- 教程六 SD卡读取例程
- 教程七 INA219电压电流监测例程
- 教程八 OLED屏幕控制例程
- 教程九 激光雷达和在ROS2中发布雷达话题
- General Driver for Robots 主页
ST3215总线舵机
ST3215总线舵机一款大扭矩的可编程串行总线舵机,具体可点击详情页查看。以下提供总线舵机的简单控制程序。
例程
上传程序
下载依赖库文件,下载完成后解压到C:\Users\username\AppData\Local\Arduino15\libraries路径下。
![]()
下载压缩包后打开Servo.ino,用USB线将多功能驱动板和计算机连接起来(此处插入的是多功能驱动板USB的Type-C接口),点击“工具”→“端口”,再点击新出现的COM(我这里新出现的COM为COM26)。
![]()
在Arduino IDE中,点击“工具”→“开发板”→“ESP32”→“ESP32 Dev Module”。开发板以及端口都选择好后上传程序。上传程序后,将总线舵机和驱动板上的ST3215总线舵机接口连接上,将XH2.54供电接口接上电源后运行程序,可以看见舵机会来回摆动。
程序解析
#include <SCServo.h>
SMS_STS st;
#define S_RXD 18
#define S_TXD 19
void setup()
{
Serial.begin(115200);
Serial1.begin(1000000, SERIAL_8N1, S_RXD, S_TXD);
st.pSerial = &Serial1;
delay(1000);
}
void loop()
{
st.WritePosEx(1, 4095, 3400, 50);
delay(2000);
st.WritePosEx(1, 2000, 1500, 50);
delay(2000);
}
