Skip to content

yuk1kaza/arduino-cli_example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

智能IMU项目

基于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程序

构建主Arduino程序:

scons

构建并上传到ESP32:

scons upload/.

测试程序

构建测试融合程序:

scons test_fusion

配置

可以在SConstruct中修改构建配置:

  • BOARD: 目标板配置(默认:ESP32-C3)
  • PORT_NR: 上传用的COM端口号
  • BAUD: 串口通信波特率(默认:115200)

串口监视器

打开串口监视器连接:

scons ss

使用方法

  1. 将ESP32-C3开发板连接到计算机
  2. SConstruct中更新PORT_NR以匹配您的COM端口
  3. 构建并上传固件:
    scons upload/.
  4. 打开串口监视器查看输出:
    scons ss

Fusion库

本项目使用Seb Madgwick开发的Fusion库进行传感器融合算法。该库提供:

  • AHRS算法实现
  • 指南针校准
  • 传感器偏移补偿
  • 四元数运算的数学工具

示例

  • examples/arduino/: Arduino专用示例项目
  • examples/test_fusion/: Fusion库的C测试程序

开发

添加新功能

  1. 修改smartimu.ino中的主Arduino代码
  2. src/目录中添加额外的源文件
  3. 如需新依赖项,请更新SConstruct

测试

运行测试融合程序以验证Fusion库功能:

scons test_fusion
./output/examples/test_fusion/test_fusion.exe

许可证

请参考Fusion库和其他依赖项的各自许可证。

贡献

  1. Fork仓库
  2. 创建功能分支
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

故障排除

常见问题

  • 上传失败: 检查SConstruct中的COM端口号
  • 编译错误: 确保Arduino CLI已正确安装
  • 串口监视器不工作: 验证波特率和COM端口设置

获取帮助

  • 查看Arduino CLI文档
  • 查阅Fusion库文档
  • 验证ESP32板配置

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published