mirror of
https://github.com/m5stack/m5-docs.git
synced 2026-05-20 10:23:01 -07:00
4.8 KiB
4.8 KiB
Module SERVO {docsify-ignore-all}
📝描述 :octocat:例程 🔌原理图 🛒购买链接 🎬相关视频
EasyLoader
描述
SERVO 是M5Stack堆叠模块系列中的一款,舵机驱动模块.拥有12个舵机驱动通道,可同时驱动多个 SERVO 舵机.采用直流电源输入设计用于功率补充,并通过 M-BUS,自动为顶部的 M5Core 供电.将这一种简单快捷的舵机驱动方式应用在你的项目中,将提升你的开发效率.
SERVO 基于 MEGA328 芯片进行 I2C 通信(0x53).
产品特性
- 12x 舵机驱动通道
- DC 输入: 6-12V
- DC 连接器类型: XT30 (母头)
- 产品尺寸:54.2mm x 54.2mm x 12.8mm
- 产品重量:24.5g
包含
- 1x M5Stack Servo 模块
- 1x 常规公对公 XT30 DC 连接器
应用
- 人形机器人
- 仿生多关节机器人
- 3轴舵机云台
相关链接
EasyLoader
1.EasyLoader是一个简洁快速的程序烧录器,每一个产品页面里的EasyLoader都提供了一个与产品相关的案例程序.
2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 "Burn" 即可开始烧录
!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),点击此处查看驱动安装教程
例程
1. Arduino IDE
以下代码仅为片段,如需获取完整代码, 请点击此处..
#include <Arduino.h>
#include <M5Stack.h>
#include <Wire.h>
#define SERVO_ADDR 0x53
void setup() {
M5.begin(true, false, true);
M5.Lcd.setTextFont(4);
M5.Lcd.setCursor(70, 100);
M5.Lcd.print("Servo Example");
Wire.begin(21, 22, 100000);
}
// addr 0x01 means "control the number 1 servo by us"
void Servo_write_us(uint8_t number, uint16_t us) {
Wire.beginTransmission(SERVO_ADDR);
Wire.write(0x00 | number);
Wire.write(us & 0x00ff);
Wire.write(us >> 8 & 0x00ff);
Wire.endTransmission();
}
// addr 0x11 means "control the number 1 servo by angle"
void Servo_write_angle(uint8_t number, uint8_t angle) {
Wire.beginTransmission(SERVO_ADDR);
Wire.write(0x10 | number);
Wire.write(angle);
Wire.endTransmission();
}
void loop() {
for(uint8_t i = 0; i < 12; i++){
Servo_write_us(i, 700);
// Servo_write_angle(i, 0);
}
delay(1000);
for(uint8_t i = 0; i < 12; i++){
Servo_write_us(i, 2300);
// Servo_write_angle(i, 180);
}
delay(1000);
}
2. UIFlow
想要探索最简单的Servo编程驱动方式吗?快试试Blockly编程平台UIFlow.
以下代码仅为片段,如需获取完整代码, 请点击此处..
原理图
相关视频
SERVO 的使用教程
SERVO 的案例


