待补充
bmellink/IBusBM
3/5
🧩 软硬件结合
已发布
项目简介
Arduino library for RC IBUS protocol - servo (receive) and sensors/telemetry (send) using hardware UART
IBusBM 是一个专为 Arduino 平台设计的开源库,用于实现与 Flysky 或 Turnigy 遥控接收器之间的 iBUS 协议通信。该协议是 Flysky 开发的一种半双工数字协议,能够通过单根数据线同时控制多个舵机或电机,并支持传感器回传遥测数据。这个库的核心功能分为两大块:一是作为接收端,读取来自遥控器的舵机通道信号,每个通道的值范围在 1000 到 2000 微秒之间,对应标准舵机的脉冲宽度;二是作为发送端,将传感器数据(如电压、温度、转速等)通过 iBUS 协议回传给遥控器,实现遥测功能。技术栈方面,库基于硬件 UART 实现,支持 AVR(如 Arduino Uno、Mega)、ESP32、STM32、MBED(如 Arduino Nano 33 BLE)以及 MegaAVR 等多种主流开发板。它解决了传统遥控系统中多路信号线复杂、布线困难的问题,让用户只需一根数据线就能完成舵机控制与传感器数据回传。适用场景非常广泛,包括无人机、机器人、车模、船模等遥控模型项目,尤其适合需要同时控制多个舵机并实时监测电池电压、电机温度等遥测数据的应用。库的安装简单,通过 Arduino IDE 的库管理器导入 ZIP 文件即可,并提供了清晰的接线指南和示例代码,即使是初学者也能快速上手。对于需要更复杂传感器支持的用户,库还兼容 OpenTX 遥控器,可扩展 GPS、空速等高级遥测传感器。
标签
项目特点
支持 iBUS 协议接收端,可读取最多 14 个舵机通道信号。
支持 iBUS 协议发送端,可将传感器遥测数据回传至遥控器。
基于硬件 UART 实现,通信稳定可靠,兼容 AVR 和 STM32 等主流平台。
提供简洁的 API 接口,几行代码即可完成通道读取或遥测发送。
支持多种传感器数据回传,包括电压、温度、转速、电流等。
开源免费,社区活跃,有丰富的示例代码和文档。
技术规格
| 协议类型 | |
|---|---|
| 通信接口 | |
| 通道数量 | |
| 通道值范围 | |
| 数据方向 | |
| 遥测数据类型 | |
| 支持平台 | |
| 波特率 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Arduino Uno / Mega / Nano | 1 | — | 或其他兼容 AVR/STM32/ESP32 的开发板 |
| Flysky FS-iA6B / FS-iA10B 等 | 1 | — | 支持 iBUS 协议的接收器 |
| 电压传感器 / 温度传感器 / 转速传感器 | 按需 | — | 用于遥测数据采集 |
| 杜邦线 / 排针 | 若干 | — | 连接接收器与主控板 |
| 5V 电源模块 | 1 | — | 为 Arduino 和接收器供电 |
能力画像
**记忆与知识检索**:3/5 — 需要查阅 iBUS 协议文档和库的 API 说明。
**动手与操作**:4/5 — 需要连接硬件、焊接或插接杜邦线,搭建电路。
**编程与算法**:4/5 — 需要编写 Arduino 代码,理解串口通信和传感器数据解析。
**设计与建模**:2/5 — 基本不需要结构设计,但可能需要设计简单的传感器安装支架。
**实验与调试**:4/5 — 需要调试串口通信、验证通道值和遥测数据是否正确。
**协作与分享**:2/5 — 可参与 GitHub Issues 讨论或提交代码改进。
**学习与研究**:4/5 — 需要学习 iBUS 协议原理、UART 通信和传感器接口。
**系统集成**:3/5 — 可将该库集成到更大的航模或机器人控制系统中。
项目图库
所需技能
基础 Arduino 编程(C/C++)
串口通信原理
航模遥控器与接收器基本知识
传感器数据读取与处理
电路连接与调试
适用场景
航模、无人机遥控信号读取与解析
机器人舵机控制与遥测数据回传
地面站与遥控器之间的传感器数据中继
教学演示:学习 iBUS 协议与 Arduino 串口通信
自制遥控设备:将 Arduino 作为遥控器扩展模块