【雕爷学编程】Arduino动手做(152)---BMI160 六轴陀螺仪模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百五十二:BMI160模块 6DOF 6轴 角速度 陀螺仪+重力加速度传感器IICSPI

00.jpg

知识点:博世BMI160芯片

Bosch Sensortec公司推出的最新BMI160惯性测量单元,将最顶尖的16位3轴重力加速度计和超低功耗3轴陀螺仪集成于单一封装。采用14管脚LGA封装,尺寸为2.5×3.0×0.8mm3。当加速度计和陀螺仪在全速模式下运行时,耗电典型值低至950µA,仅为市场上同类产品耗电量的50%或者更低。

Bosch BMI160专为智能手机、平板电脑、可穿戴设备设计,内置智能计步算法,可通过寄存器直接读取步数。内置的3轴加速度和3轴陀螺仪可以实现跑步,健身等运动检测。内置LDO电源管理芯片,支持3.2~6V宽电压供电,并且板载I2C电平转换电路,兼容Arduino 3.3V以及5V的控制器直接驱动。

01.jpg

BMI160的数据流框图

01-0.jpg

BMI160参数

01-.jpg
01-1.jpg
01-2.jpg

芯片技术规格

工作电压:3.2V~6V

电流消耗:<1mA

接口方式:2.54间距排针

加速度可选标尺:±2g/±4g/±8g/±16g

陀螺仪可选标尺:±125°/s,±250°/s,±500°/s,±1000°/s,±2000°/s

加速度计零点漂移:±40mg

陀螺仪零点漂移:±10°/s

可编程频率:25/32Hz~1600Hz

6D检测定位

16位数据输出

抗冲击:10,000 gx 200μs

2个独立的可编程中断发生器

内置1024 byte FIFO

工作温度:-40℃~+85℃

0-0-.jpg

GY-BMI160模块(三轴陀螺仪+三轴加速度计)

使用芯片:BMI160

电源:3-5v(内部低压差稳压器)

通讯方式:标准IIC/SPI通讯协议

内置16bit AD转换芯片,16位数据输出

陀螺仪范围:±125±250±500±1000±2000°/s

加速度范围:±2±4±8±16g

采用沉金PCB,机器焊接工艺,保证质量

2.54mm 间距

模组尺寸 13mm*18mm

05.jpg
06.jpg
04-.jpg
04-0.jpg

BMI160模块接脚定义

04-9.jpg

BMI160模块参考电原理图

09 (1).jpg
10.jpg
11.jpg

两种 BMI160 分线板

03.jpg

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百五十二:BMI160 6轴惯性运动传感器 16位3轴加速度+超低功耗3轴陀螺仪 I2C/SPI 14LGA

项目之一:动态读取陀螺仪 x/y/z 值

实验开源代码

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

 实验一百五十二:BMI160 6轴惯性运动传感器 16位3轴加速度+超低功耗3轴陀螺仪  I2C/SPI 14LGA

 项目之一:动态读取陀螺仪 x/y/z 值

 实验接线:

 BMI160   UNO

 VIN    5V

 GND    GND

 SCL    A5

 SDA    A4

 SAO    GND

 INT1    D2

*/



#include <BMI160Gen.h>

const int select_pin = 10;

const int i2c_addr = 0x68; //I2C的地址



void setup() {

 Serial.begin(9600);

 while (!Serial); // 等待串口打开

 // 初始化设备

 //BMI160.begin(BMI160GenClass::SPI_MODE, select_pin);

 BMI160.begin(BMI160GenClass::I2C_MODE, i2c_addr);

}



void loop() {

 int gx, gy, gz;     // 原始陀螺值

 // 从设备读取原始陀螺仪测量值

 BMI160.readGyro(gx, gy, gz);

 // 显示制表符分隔的陀螺仪 x/y/z 值

 Serial.print("xyz:\t");

 Serial.print(gx);

 Serial.print("\t");

 Serial.print(gy);

 Serial.print("\t");

 Serial.print(gz);

 Serial.println();

 delay(600);

}

实验串口返回情况

12.jpg

实验场景图

13.jpg

打开IDE——工具——串口绘图器

13-.jpg

实验串口绘图器返回情况(模块平放在桌面上)

15.jpg

实验串口绘图器返回情况(手指敲打桌面)

17.jpg

实验串口绘图器返回情况(三个方向摇动模块)

18.jpg

实验串口绘图器返回情况(大力极限摇动模块)

19.jpg

实验一百五十二:BMI160 6轴惯性运动传感器 16位3轴加速度+超低功耗3轴陀螺仪 I2C/SPI 14LGA

项目之一:动态读取陀螺仪 x/y/z 值(35秒视频)

https://v.youku.com/v_show/id_XNTgwMTMzNDg3Mg==.html?spm=a2hcb.playlsit.page.1

BMI160 技术数据

数字分辨率
加速度计 (A):16 位
陀螺仪(G):16bit
测量范围(可编程)
(A):±2g、±4g、±8g、±16g
(G):±125°/s、±250°/s、±500°/s、±1000°/s、±2000°/s
灵敏度(校准)
(A):±2g:16384LSB/g
±4g:8192LSB/g
±8g:4096LSB/g
±16g:2048LSB/g
(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
零重力偏移(典型值,在整个生命周期内)
(A):±40mg
(G):± 10°/s
噪声密度(典型值)
(A):180 μg/√Hz
(G):0.008°/s/√Hz
带宽(可编程):1600 Hz … 25/32 Hz
数字输入/输出:SPI、I²C、4x 数字中断
电源电压 (VDD):1.71 … 3.6 V
I/0 电源电压 (VDDIO):1.2 … 3.6 V
温度范围:-40 … +85°C
目前的消费
完全运行:950 μA
低功耗模式:3 μA
FIFO 数据缓冲区:1024 字节
LGA 封装:2.5 × 3.0 × 0.8 mm³
抗冲击性:10,000 gx 200 μs
BMI160 目标应用

增强现实和沉浸式游戏
3D 扫描和室内测绘
室内导航、行人航位推算和计步
6 轴和 9 轴传感器融合、空中鼠标应用
光学防抖
BMI160 目标设备

手机和平板电脑
可穿戴设备,例如智能手表、头戴式显示器、运动和健身设备
游戏控制器和智能遥控器
玩具,例如四轴飞行器

0-0-.jpg

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百五十二:BMI160 6轴惯性运动传感器 16位3轴加速度+超低功耗3轴陀螺仪 I2C/SPI 14LGA

项目之二:使用中断的BMI160简单计步功能

实验开源代码

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

  实验一百五十二:BMI160 6轴惯性运动传感器 16位3轴加速度+超低功耗3轴陀螺仪  I2C/SPI 14LGA

 项目之二:使用中断的BMI160简单计步功能

 实验接线:

 BMI160   UNO

 VIN    5V

 GND    GND

 SCL    A5

 SDA    A4

 SAO    GND

 INT1    D2

*/



#include <BMI160Gen.h>

const int bmi160_i2c_addr = 0x68;

const int bmi160_select_pin = 10;

const int bmi160_interrupt_pin = 2;

void bmi160_intr(void){

 Serial.println("BMI160 中断:轻拍!");

}



void setup() {

 Serial.begin(9600); 

 while (!Serial);   

 // initialize device

 Serial.println("正在初始化 IMU 设备...");

 //BMI160.begin(BMI160GenClass::SPI_MODE, bmi160_select_pin, bmi160_interrupt_pin);

 BMI160.begin(BMI160GenClass::I2C_MODE, bmi160_i2c_addr, bmi160_interrupt_pin);

 BMI160.attachInterrupt(bmi160_intr);

 BMI160.setIntTapEnabled(true);

 Serial.println("初始化 IMU 设备...完成。");

}



void loop() {

}

实验串口返回情况

22.jpg

实验场景图

23.jpg

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百五十二:BMI160 6轴惯性运动传感器 16位3轴加速度+超低功耗3轴陀螺仪 I2C/SPI 14LGA

项目之六:简易计步器

实验开源图形编程(Mind+、编玩边学)

35.jpg

实验串口返回情况

36.jpg

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百五十二:BMI160 6轴惯性运动传感器 16位3轴加速度+超低功耗3轴陀螺仪 I2C/SPI 14LGA

项目之七:简易测量三轴数据

实验开源图形编程(Mind+、编玩边学)

37.jpg

实验串口返回情况

38.jpg

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百五十二:BMI160 6轴惯性运动传感器 16位3轴加速度+超低功耗3轴陀螺仪 I2C/SPI 14LGA

项目之八:简易测量X轴的动态波形

实验开源图形编程(Mind+、编玩边学)

39.jpg

实验串口绘图器返回情况

40.jpg
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,104评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,816评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,697评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,836评论 1 298
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,851评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,441评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,992评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,899评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,457评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,529评论 3 341
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,664评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,346评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,025评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,511评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,611评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,081评论 3 377
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,675评论 2 359

推荐阅读更多精彩内容