ESP8266Arduino编程实例BMI160惯性测量传感器驱动
ESP8266-Arduino编程实例-BMI160惯性测量传感器驱动
BMI160惯性测量传感器驱动
1、BMI160介绍
BMI160 是一种高度集成的低功耗惯性测量单元 (IMU),可提供精确的加速度和角速率(陀螺仪)测量。
BMI160 集成:
- 16位数字,三轴加速度计
- 16位数字,三轴陀螺仪

BMI160特性:
高性能加速度计和陀螺仪(硬件同步)
极低功耗:typ.925µA(加速度计和陀螺仪全速运行)
Android Lollipop 兼容:运动和计步器/计步器(每个 5µA)
非常小的 2.5x3.0mm^2封装,高度 0.83mm
内置电源管理单元 (PMU) 用于高级电源管理
陀螺仪快速启动模式省电
宽电源范围:1.7V … 3.6V
可分配 1024 字节的 FIFO 缓冲区(能够处理外部传感器数据)
用于增强自主运动检测的集成中断
灵活的数字主接口,可通过 I2C 或 SPI 连接到主机
用于 OIS 应用的附加二级高速接口
能够处理外部传感器数据(例如 Bosch Sensortec 的地磁或气压传感器)
可编程测量范围:
- 加速计:± 2 g, ± 4 g, ± 8 g, ± 16 g
- 陀螺仪:± 125°/s, ± 250°/s, ± 500°/s, ± 1000°/s, ± 2000°/s
校正灵敏度:
- 加速计:
±2g: 16384LSB/g
±4g: 8192LSB/g
±8g: 4096LSB/g
±16g: 2048LSB/g- 陀螺仪:
±125°/s: 262.4 LSB/°/s
±250°/s: 131.2 LSB/°/s
±500°/s: 65.6 LSB/°/s
±1000°/s: 32.8 LSB/°/s
±2000°/s: 16.4 LSB/°/s零重力偏移:
- 加速计:±40mg (G): ± 10°/s
典型应用
- 增强现实
- 室内导航
- 3D扫描/室内测绘
- 高级手势识别
- 身临其境的游戏
- 9轴运动检测
- 空中鼠标应用程序和指针
- 计步器/计步
- 用于移动应用的高级系统电源管理
- 相机模块的光学图像稳定
- 自由落体检测和保修记录
2、硬件准备
- ESP8266 NodeMCU开发板一块
- BMI160传感器模块一个
- 面板板一个
- 杜邦线若干
- 数据线一条
硬件接线如下:
| 传感器引脚 | ESP8266开发板引脚 |
|---|---|
| Vin | 5v |
| Gnd | Gnd |
| SCL | D1 |
| SDA | D2 |
3、软件准备
- Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:
ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:
4、代码实现
本次实例使用的BMI160驱动库如下:
1)导入依赖库头文件
1 | #include <BMI160Gen.h> |
2)设备初始化
1 |
|
3)数据采集
1 | void loop() { |
文章来源: https://iotsmart.blog.csdn.net/article/details/126436769