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、空速等高级遥测传感器。