匿名
未登录
登录
丢石头百科
搜索
查看“Micro:bit系列教程6:加速度传感器”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Micro:bit系列教程6:加速度传感器
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<span style="font-size:12.0pt; line-height:150%;font-family:宋体">本章将介绍Micro:bit加速计的使用,可采用Micro:bit进行姿态检测,运动捕捉等。 <h1 style="line-height:150%"><span lang="EN-US" style="font-size:15.0pt; line-height:150%;font-family:黑体">1.<span style="font-size:15.0pt; line-height:150%;font-family:黑体">基本介绍 </h1> <span lang="EN-US" style="font-size: 12.0pt;line-height:150%;font-family:宋体"> Micro:bit采用的是Freescale MMA8653FC 三轴加速度传感器,I2C接口与外部通信,10位ADC精度,可设置量程为±2g,±4g,±8g,数据最大更新速率为800Hz。 <span lang="EN-US" style="font-size: 12.0pt;line-height:150%;font-family:宋体"> 当Micro:bit处于静止或匀速运动状态时,加速计仅检测到重力加速度;将Micro:bit轻微甩动,加速计检测到甩动的加速度远小于重力加速度,可忽略不计,因此,在使用Micro:bit过程中,主要是检测当姿态变化时,重力加速度在x,y,z轴上的变化,并在此基础上应用。 <span lang="EN-US" style="font-size: 12.0pt;line-height:150%;font-family:宋体"> 本章,将介绍加速度传感器对几个特殊姿态的检测,之后来查看俯仰,横滚角,最后,查看加速计输出的三轴原始数据。 <h1 style="line-height:150%"><span lang="EN-US" style="font-size:15.0pt; line-height:150%;font-family:黑体">2.Micro:bit<span style="font-size:15.0pt; line-height:150%;font-family:黑体">特殊姿态的检测 </h1> <span lang="EN-US" style="font-size: 12.0pt;line-height:150%;font-family:宋体"> 打开makecode,采用积木块的方式编写以下程序: [[File:184016u68z811sumsr1w3d.png]] <span style="font-size:12.0pt; line-height:150%;font-family:宋体">下载,观察现象: <h3 style="line-height:150%"><span style="font-size:12.0pt;line-height:150%; font-family:宋体">震动 </h3> 将Micro:bit晃动,则可见Micro:bit显示数字1,表明,只要有晃动,无论朝哪个方向晃动,该条件都将满足。 <h3 style="line-height:150%"><span style="font-size:12.0pt;line-height:150%; font-family:宋体">徽标朝上 </h3> 徽标指的是Micro:bit上Micro:bit这几个字以及Logo,徽标朝上示意图如下所示: [[File:184016z61fer3ahqtf6ef3.jpg]] <span style="font-size:12.0pt; line-height:150%;font-family:宋体">由图可得,当徽标朝上的时候,能够显示数字2。 <h3 style="line-height:150%"><span style="font-size:12.0pt;line-height:150%; font-family:宋体">徽标朝下 </h3> 同理,徽标朝下指的是Micro:bit上Micro:bit这几个字以及Logo朝下,徽标朝下示意图如下所示: [[File:184017cf4ajf7dz67ak4m6.jpg]] <span style="font-size:12.0pt; line-height:150%;font-family:宋体">由图可得,当徽标朝下的时候,显示的是数字3(倒立的3): <h3 style="line-height:150%"><span style="font-size:12.0pt;line-height:150%; font-family:宋体">屏幕朝上 </h3> <span lang="EN-US" style="font-size: 12.0pt;line-height:150%;font-family:宋体"> 屏幕朝上指的是LED点阵朝上,当LED点阵朝上时,显示数字4。 <h3 style="line-height:150%"><span style="font-size:12.0pt;line-height:150%; font-family:宋体">屏幕朝下 </h3> <span style="font-size:12.0pt; line-height:150%;font-family:宋体">同理,屏幕朝下指的是LED点阵朝下,当LED点整朝下时,显示数字5 <h3 style="line-height:150%"><span style="font-size:12.0pt;line-height:150%; font-family:宋体">向左倾斜 </h3> <span style="font-size:12.0pt; line-height:150%;font-family:宋体">如图为Micro:bit向左倾斜示意图: [[File:184018g5gegztb5w5i4gwz.jpg]] 注意Micro:bit向左倾斜为正面朝上,徽标朝前,然后再往左边倾斜,当向左倾斜时,Micro:bit显示数字6。 <h3 style="line-height:150%"><span style="font-size:12.0pt;line-height:150%; font-family:宋体">向右倾斜 </h3> <span style="font-size:12.0pt; line-height:150%;font-family:宋体">同理,Micro:bit向右倾斜的示意图: <span style="font-size:12.0pt; line-height:150%;font-family:宋体"> [[File:184018fez8hkttoy8altyt.jpg]] <span style="font-size:12.0pt; line-height:150%;font-family:宋体">注意Micro:bit向右倾斜为正面朝上,徽标朝前,然后再往右边倾斜,当向右倾斜时,Micro:bit显示数字7。 <h3 style="line-height:150%"><span style="font-size:12.0pt;line-height:150%; font-family:宋体">自由落体 </h3> <span style="font-size:12.0pt; line-height:150%;font-family:宋体">举例:当不小心碰到Micro:bit使其从桌面掉落,则为做自由落体运动,此时,满足自由落体的条件,此时,将显示数字8。 <h3 style="line-height:150%"><span lang="EN-US" style="font-size:12.0pt; line-height:150%;font-family:宋体">3g<span style="font-size:12.0pt; line-height:150%;font-family:宋体">,6g,8g </h3> <span style="font-size:12.0pt; line-height:150%;font-family:宋体">如果需要满足此条件,则需要达到3倍,6倍,8倍重力加速度甩动Micro:bit。 <h1 style="line-height:150%"><span lang="EN-US" style="font-size:15.0pt; line-height:150%;font-family:黑体">3.<span style="font-size:15.0pt; line-height:150%;font-family:黑体">旋转、横滚角 </h1> 打开makecode,采用积木块的方式编写以下代码: [[File:184019e7daltvlz9oqiki9.png]] <span style="font-size:12.0pt; line-height:150%;font-family:宋体">注意,需要将串行重定向到USB,同时,建议使用离线版本的makecode(可查看串口数据)。 <span lang="EN-US" style="font-size: 12.0pt;line-height:150%;font-family:宋体"> 下载程序,待程序下载完成后,可看到makecode的显示数据按钮,如下图所示: [[File:184019rnubuq700wun5zdq.png]] <span style="font-size:12.0pt;line-height:150%;font-family: 宋体">点击该按钮,进入到串口数据显示界面,该界面同时将串口数据以波形的形式显示出来,如下图所示: [[File:184020v3fiwk3kfzba13hp.png]] <span style="font-size:12.0pt;line-height:150%;font-family: 宋体">正确显示出波形后,将Micro:bit徽标朝前,屏幕(LED点阵)朝上,依次将Micro:bit向前倾斜,向后倾斜,向后倾斜,向前倾斜,得到旋转数据;然后,将Micro:bit依次向左倾斜,向右倾斜,向右倾斜,向左倾斜,得到横滚数据;具体数据变化如上图所示。 <h1 style="line-height:150%"><span lang="EN-US" style="font-size:15.0pt; line-height:150%;font-family:黑体">4.<span style="font-size:15.0pt; line-height:150%;font-family:黑体">加速计原始数据 </h1> <span style="font-size:12.0pt; line-height:150%;font-family:宋体">实际上,加速计输出的原始数据是三轴加速度,姿态变化时,重力加速度在三轴上的分布将发生变化,可依据三轴加速度数据变化计算出姿态角的变化,因此,加速计原始数据在项目开发中也有一定的用途,下面将观测加速计原始数据: 打开makecode,采用积木块的方式编写以下代码: [[File:184020nmvzc4btmunuuzvy.png]] <span style="font-size:12.0pt; line-height:150%;font-family:宋体">下载到Micro:bit,打开数据显示(设备)按钮: [[File:184021z2xx7r6lfl0kx2nf.png]] <span lang="EN-US" style="font-size: 12.0pt;line-height:150%;font-family:宋体"> 首先,查阅MMA8653FC数据手册,以及Micro:bit的硬件原理图得知,Micro:bit加速计坐标轴如下图所示: [[File:184021acrsw7145ruw12i1.png]] 显示出如下界面:分别显示了加速度在X轴,Y轴,Z轴的分解,以及加速度的合成(重力加速度及其它外力作用的加速度合成): [[File:184022vx13cyqewcyb8e1x.png]] <span lang="EN-US" style='font-size:12.0pt;font-family:宋体;mso-bidi-font-family: "Times New Roman";mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US; mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA'> <span style='font-size:12.0pt;font-family:宋体;mso-bidi-font-family: "Times New Roman";mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US; mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA'>实验中,先将加速计Z轴朝上,然后再将加速计X轴朝上,最后将加速计Z轴朝上,可得数据变化如上图所示。
返回至
Micro:bit系列教程6:加速度传感器
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志