|
19| 1
|
K10+Microbit Wiki驱动舵机与电机 |
|
本帖最后由 meiyao 于 2026-1-20 13:53 编辑 使用行空板K10通过Microbit Wiki驱动舵机与电机,实现方式是使用PCA9685芯片扩展舵机接口、HR8833芯片驱动直流电机。 一、舵机驱动方案 PCA9685芯片扩展方案 硬件连接:行空板K10通过I²C总线与PCA9685芯片通信,该芯片可同时控制16路舵机。SCL引脚接K10的I²C时钟引脚,SDA接数据引脚,VCC接3.3V电源。 功能实现: 通过I²C写入寄存器配置PWM频率,修改OFF寄存器值实现0°-180°角度控制。 结合按键中断触发舵机动作,舵机旋转至180°。 二、电机驱动方案 HR8833芯片扩展方案 硬件连接:使用Microbit电机驱动扩展板是兼容行空板K10,扩展板集成HR8833电机驱动芯片,提供4路直流电机驱动通道也可复用为2路步进电机和8路舵机接口。 功能实现: 通过I²C通信协议控制电机正反转、调速,每路电机驱动配备正反转指示灯。 三、代码
四、时间与软件硬件工作图: 时间轴 (秒): 0 5 10 15 20 25 ├─────┼─────┼─────┼─────┼─────┤ 阶段: 启动 反转 舵机 正转 停止 重启 电机M1: 停止 反转 停止 正转 停止 停止 舵机S1: - - 180° - - - LED颜色: - 蓝 灭 黄 - - 屏幕显示: 标题 M1反转 - M1正转 - 标题 硬件工作图 ┌─────────────────────────────┐ │ 行空板K10主控 │ ├─────────┬─────────┬─────────┤ │ 屏幕显示│ 电机控制│ RGB LED │ 串口通信 │ │ 驱动 │ 驱动 │ 驱动 │ 接口 │ ├─────────┼─────────┼─────────┤ │ 画布管理│ M1/S1 │ 引脚0 │ P0(TX) │ │ 文本渲染│ 电机控制│ 颜色控制│ P1(RX) │ │ 背景设置│ 舵机控制│ 亮度控制│ 9600bps │ └─────────┴─────────┴─────────┘ main.ino ├── 全局对象声明 │ ├──UNIHIKER_K10 k10 │ ├──uint8_t screen_dir=2 │ └──Microbit_Motor motorbit │ ├── setup()函数 │ ├──k10.begin() │ ├──k10.initScreen(screen_dir) │ └──k10.creatCanvas() │ └── loop()函数 ├── 阶段1: 显示初始化 (5秒) │ ├── 屏幕设置 │ ├── 串口初始化 │ └── 标题显示 │ ├── 阶段2: 反转控制 (5秒) │ ├── 电机CCW运行 │ ├── 屏幕文本更新 │ └── LED控制 │ ├── 阶段3: 舵机控制 (5秒) │ ├── 舵机转动 │ ├── 电机停止 │ └── LED关闭 │ ├── 阶段4: 正转控制 (5秒) │ ├── LED控制 │ ├── 电机CW运行 │ └── 屏幕更新 │ └── 阶段5: 停止状态 (5秒) └── 电机停止 五、转动效果图 ![]() 电机转动 ![]() ![]() |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed