基于ESP32和Fusion传感器融合库的智能惯性测量单元(IMU)项目。
本项目使用ESP32微控制器和Fusion库实现智能IMU系统,用于高级传感器融合算法。Fusion库提供AHRS(姿态和航向参考系统)功能,可实现精确的方向估计。
- 支持ESP32-C3
- 集成Fusion传感器融合库
- 基于SCons的构建系统
- 兼容Arduino框架
- 115200波特率串口通信
- 示例程序和测试工具
- ESP32-C3开发板
- IMU传感器(加速度计、陀螺仪、磁力计)
- USB数据线用于编程和串口通信
- Arduino CLI
- SCons构建系统
- Python 3.x
- GCC编译器(用于测试程序)
smartimu/
├── src/
│ └── Fusion/ # Fusion传感器融合库
├── examples/
│ ├── arduino/ # Arduino示例项目
│ └── test_fusion/ # 测试程序
├── build/ # 构建产物(自动生成)
├── output/ # 编译后的二进制文件(自动生成)
├── smartimu.ino # 主Arduino程序
└── SConstruct # SCons构建配置
构建主Arduino程序:
scons
构建并上传到ESP32:
scons upload/.
构建测试融合程序:
scons test_fusion
可以在SConstruct
中修改构建配置:
BOARD
: 目标板配置(默认:ESP32-C3)PORT_NR
: 上传用的COM端口号BAUD
: 串口通信波特率(默认:115200)
打开串口监视器连接:
scons ss
- 将ESP32-C3开发板连接到计算机
- 在
SConstruct
中更新PORT_NR
以匹配您的COM端口 - 构建并上传固件:
scons upload/.
- 打开串口监视器查看输出:
scons ss
本项目使用Seb Madgwick开发的Fusion库进行传感器融合算法。该库提供:
- AHRS算法实现
- 指南针校准
- 传感器偏移补偿
- 四元数运算的数学工具
examples/arduino/
: Arduino专用示例项目examples/test_fusion/
: Fusion库的C测试程序
- 修改
smartimu.ino
中的主Arduino代码 - 在
src/
目录中添加额外的源文件 - 如需新依赖项,请更新
SConstruct
运行测试融合程序以验证Fusion库功能:
scons test_fusion
./output/examples/test_fusion/test_fusion.exe
请参考Fusion库和其他依赖项的各自许可证。
- Fork仓库
- 创建功能分支
- 进行更改
- 彻底测试
- 提交拉取请求
- 上传失败: 检查
SConstruct
中的COM端口号 - 编译错误: 确保Arduino CLI已正确安装
- 串口监视器不工作: 验证波特率和COM端口设置
- 查看Arduino CLI文档
- 查阅Fusion库文档
- 验证ESP32板配置