立即注册 找回密码

微雪课堂

搜索
微雪课堂 micro:bit 查看内容

Micro:bit系列教程6:加速度传感器

2018-10-15 18:43| 发布者: waveshare-admin| 查看: 18653| 评论: 0|原作者: waveshare|来自: waveshare

摘要: 本章将介绍Micro:bit加速计的使用,可采用Micro:bit进行姿态检测,运动捕捉等。

本章将介绍Micro:bit加速计的使用,可采用Micro:bit进行姿态检测,运动捕捉等。

1.基本介绍

    Micro:bit采用的是Freescale MMA8653FC 三轴加速度传感器,I2C接口与外部通信,10ADC精度,可设置量程为±2g,±4g,±8g,数据最大更新速率为800Hz

    Micro:bit处于静止或匀速运动状态时,加速计仅检测到重力加速度;将Micro:bit轻微甩动,加速计检测到甩动的加速度远小于重力加速度,可忽略不计,因此,在使用Micro:bit过程中,主要是检测当姿态变化时,重力加速度在x,y,z轴上的变化,并在此基础上应用。

    本章,将介绍加速度传感器对几个特殊姿态的检测,之后来查看俯仰,横滚角,最后,查看加速计输出的三轴原始数据。

2.Micro:bit特殊姿态的检测

    打开makecode,采用积木块的方式编写以下程序:

下载,观察现象:

震动

Micro:bit晃动,则可见Micro:bit显示数字1,表明,只要有晃动,无论朝哪个方向晃动,该条件都将满足。

徽标朝上

徽标指的是Micro:bitMicro:bit这几个字以及Logo,徽标朝上示意图如下所示:

由图可得,当徽标朝上的时候,能够显示数字2

徽标朝下

同理,徽标朝下指的是Micro:bitMicro:bit这几个字以及Logo朝下,徽标朝下示意图如下所示:

由图可得,当徽标朝下的时候,显示的是数字3(倒立的3)

屏幕朝上

    屏幕朝上指的是LED点阵朝上,当LED点阵朝上时,显示数字4

屏幕朝下

       同理,屏幕朝下指的是LED点阵朝下,当LED点整朝下时,显示数字5

向左倾斜

       如图为Micro:bit向左倾斜示意图:

注意Micro:bit向左倾斜为正面朝上,徽标朝前,然后再往左边倾斜,当向左倾斜时,Micro:bit显示数字6

向右倾斜

       同理,Micro:bit向右倾斜的示意图:

注意Micro:bit向右倾斜为正面朝上,徽标朝前,然后再往右边倾斜,当向右倾斜时,Micro:bit显示数字7

自由落体

       举例:当不小心碰到Micro:bit使其从桌面掉落,则为做自由落体运动,此时,满足自由落体的条件,此时,将显示数字8

3g6g8g

       如果需要满足此条件,则需要达到3倍,6倍,8倍重力加速度甩动Microbit

3.旋转、横滚角

打开makecode,采用积木块的方式编写以下代码:

注意,需要将串行重定向到USB,同时,建议使用离线版本的makecode(可查看串口数据)

    下载程序,待程序下载完成后,可看到makecode的显示数据按钮,如下图所示:

点击该按钮,进入到串口数据显示界面,该界面同时将串口数据以波形的形式显示出来,如下图所示:

正确显示出波形后,将Micro:bit徽标朝前,屏幕(LED点阵)朝上,依次将Micro:bit向前倾斜,向后倾斜,向后倾斜,向前倾斜,得到旋转数据;然后,将Micro:bit依次向左倾斜,向右倾斜,向右倾斜,向左倾斜,得到横滚数据;具体数据变化如上图所示。

4.加速计原始数据

       实际上,加速计输出的原始数据是三轴加速度,姿态变化时,重力加速度在三轴上的分布将发生变化,可依据三轴加速度数据变化计算出姿态角的变化,因此,加速计原始数据在项目开发中也有一定的用途,下面将观测加速计原始数据:

打开makecode,采用积木块的方式编写以下代码:

下载到Micro:bit,打开数据显示(设备)按钮:

    首先,查阅MMA8653FC数据手册,以及Micro:bit的硬件原理图得知,Micro:bit加速计坐标轴如下图所示:

显示出如下界面:分别显示了加速度在X轴,Y轴,Z轴的分解,以及加速度的合成(重力加速度及其它外力作用的加速度合成):

    实验中,先将加速计Z轴朝上,然后再将加速计X轴朝上,最后将加速计Z轴朝上,可得数据变化如上图所示。

693

顶一下

刚表态过的朋友 (693 人)

相关阅读

最新评论

micro:bit

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-3-29 13:25 , Processed in 0.041850 second(s), 21 queries .

返回顶部