教程五 ST3215总线舵机控制例程

来自Waveshare Wiki
跳转至: 导航搜索

各模块使用教程

ST3215总线舵机

ST3215总线舵机一款大扭矩的可编程串行总线舵机,具体可点击详情页查看。以下提供总线舵机的简单控制程序。

例程

上传程序

下载依赖库文件,下载完成后解压到C:\Users\username\AppData\Local\Arduino15\libraries路径下。
三1.png
下载压缩包后打开Servo.ino,用USB线将多功能驱动板和计算机连接起来(此处插入的是多功能驱动板USB的Type-C接口),点击“工具”→“端口”,再点击新出现的COM(我这里新出现的COM为COM26)。
三2.png
在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()
{
  //初始化串口通信,这个串口是用于USB线和电脑上的串口监视器通信的
  Serial.begin(115200);
  //初始化串口1通信,用于控制总线舵机的;SERIAL_8N1为配置数据、奇偶校验和停止位;指定了串口引脚
  Serial1.begin(1000000, SERIAL_8N1, S_RXD, S_TXD);
  //将SCServo对象的串口参数设置为Serial1,表示使用1000000串口来控制舵机
  st.pSerial = &Serial1;
  delay(1000);
}

void loop()
{
  st.WritePosEx(1, 4095, 3400, 50);    //设置舵机1的位置、速度和加速度,延迟2s
  delay(2000);
  
  st.WritePosEx(1, 2000, 1500, 50);    //设置舵机1的位置、速度和加速度,延迟2s
  delay(2000);
}

资料