基于App Inventor的陀螺仪、加速度传感器对比研究

2019-11-19 12:13卞云松
科技视界 2019年25期
关键词:手机陀螺仪

卞云松

【摘 要】基于手机传感器的行为识别与手势识别研究具有重要理论意义与实用价值,怎样方便初学者对手机里的传感器进行学习,本文介绍了一种方法。通过用APP Inventor编程,对智能手机里的陀螺仪、加速度传感器进行对比研究。

【关键词】App Inventor;手机;陀螺仪;加速度传感器

中图分类号: TN929.53文献标识码: A文章编号: 2095-2457(2019)25-0041-003

DOI:10.19694/j.cnki.issn2095-2457.2019.25.019

Contrastive Study of Gyroscope and Acceleration Sensor Based on App Inventor

BIAN Yun-song

(Jianghai polytechnic, Yangzhou Jiangsu 225000, China)

【Abstract】The research of behavior recognition and gesture recognition based on mobile phone sensor has important theoretical significance and practical value.How to facilitate beginners to learn sensors in mobile phone is introduced in this paper.By programming with APP Inventor,the gyroscopes and accelerometers in smart phones are compared and studied.

【Key words】App Inventor;Mobile Phone;Gyroscope;Acceleration Sensor

0 概述

陀螺仪、加速度传感器现在应用越来越广,智能手机上也有这两种传感器,如果在手机上通过编程APP程序来进行研究,对于非计算机专业的人士难度较大。但App Inventor给我们提供了一个很好的解决方案,这是一款由麻省理工学院开发的开源的WEB应用软件,编程过程像搭积木一样,可以轻松地编出APP应用程序,且硬件购置零成本。本文介绍了用App Inventor编程,对这两种传感器进行研究的结果。

1 陀螺仪、加速度传感器简介

陀螺仪测量的是物体在转动时的转动角速度,广泛用于飞行体运动的自动控制系统,比如飞机、导弹、四旋翼飞行器等的控制。随着智能手机的普及,手机中也装配了3轴陀螺仪传感器,可以检测相对X轴、Y轴、Z轴旋转的角速度,用来作为游戏操作、拍照防抖等功能控制信号。

加速度传感器又称G-sensor,是一种能够测量加速度的传感器,传感器通过对质量块所受惯性力来测量加速度。智能手机中为三轴加速度传感器,可感应x轴、y轴、z轴方向的加速度的变化信号,当手机相对于水平面倾斜,沿手机坐标系方向重力加速度发生变化,这样可以计算出手机倾斜角度,可以根据手机的位置来控制手机屏幕是否翻转。

陀螺仪与加速度传感器是不同的,加速度传感器无法测量转动动作,而陀螺仪可以对任意方向转动、偏转的角速度可以精确测量,通过积分、卡尔曼滤波等数学方法,分析判断出使用者的实际动作,而后根据动作,手机做出相应的响应。

2 APPINVENTOR简介

App Inventor,早期是谷歌公司提供的在线编程工具,目前为麻省理工学院(MIT)负责维护及运营。

App Inventor的创建依据是结构主义的学习理论,该理论强调主动学习,认为编写程序将成为激发强大思想的有效工具。在此理论的影响下,从20世纪60年代开始,在MIT的Logo小组以及Logo语言发明人Seymour Papert的积极努力下,一系列与计算机及教育有关的活动在整个美国相继发展起来,并一直持续至今。

App Inventor是一个可视化,可拖拽的编程工具,用于在Android平台上构建移动应用。利用基于web的图形化的用户界面生成器,编程不需要面对复杂的代码,而是像搭积木一样来完成,这让很多非专业的人士也能创造出自己的移动APP应用软件。

3 传感器检测的手机APP编程介绍

编程步骤为先登录服务器,新建工程后,进入编程环境,主要有两部分的设计:一个是组件设计,另一部分就是逻辑设计。

组件设计就是设计APP的外观,在组件设计时,主要用到以下几部分组件:

(1)用户界面:主要包括按钮、标签、文本框、复选框、列表框等。

(2)界面布局:水平布局、表格布局、垂直布局等。

(3)绘图动画:画布、图像精灵等。

(4)传感器:包括陀螺仪、加速度传感器、GPS位置传感器等。

逻辑设计就是程序设计,是用来为各个模块编辑逻辑关系的,选择模块组中不同逻辑模块,拖动到工作区,像搭积木一样进行组装,就可以为为APP编写代码。图3是本APP程序逻辑设计的一部分代码。

通过编程,最后的手機APP界面如下图4所示,有两个屏幕,一个屏幕用于显示陀螺仪输出数据,另一个屏幕用于显示加速度传感器数据输出,两个屏幕之间可以相互切换。

4 两种传感器对比研究

4.1 陀螺仪信号分析

图5是手机陀螺仪数据输出图,三张子图分别表示绕X、Y、Z轴旋转时,陀螺仪同一时间轴下,绕三个轴旋转角速度变化的输出波形图,纵坐标为绕各轴旋转的角速度,输出信号当值为0时,代表手机某个方向的转动角速度为0,横坐标为时间轴。

其中图5-1,浅红色曲线数值发生剧烈变化是手机绕X方向有转动时的信号输出,也即是手机下短边置于水平面上,如图6所示,手机绕X轴前后转动。这一时刻时只有X方向转动角速度,其中正值为正方向角速度,负值为反方向转动,由图5可看到,此时绕Z轴、Y轴方向角速度波动较小。

以上波形是分别绕单个坐标轴输出的波形,在实际使用手机过程中,经常会有几个方向的转动同时发生。

4.2 加速度传感器信号分析

图7是手机加速度传感器同一时间轴,X、Y、Z方向的重力加速度变化波形图。时刻0,手机水平放置,Z轴垂直于水平面向上,Z轴方向承受最大重力加速度,输出约为9.8m/s2,此时,X、Y方向重力加速度为0;时刻1,手机绕短边(X轴)抬起,当手机竖向垂直于水平面时,Z轴方向输出变为0,Y轴方向加速度最大;时刻2,继续旋转至Z轴指向垂直向下时,Z轴方向为负的最大值;时刻3,為手机横向垂直于水平面,这时X方向重力加速度最大。

4.3 手机直线运动时,两种传感器输出比较

图8左图,为手机直线运动时,陀螺仪输出波形,由于相对各坐标轴未发生转动,陀螺仪输出值基本为0;当加速度传感器在做直线匀速运动时,传感器也无输出,但当做加速、减速直线运动时,有信号输出,也可以观察手机自由落体时输出信号的变化。图8右图为手机分别在X、Y方向做直线方向做往复加减速运动时,加速度传感器输出波形。如对比图8。

4.4 手机绕垂直于水平面的坐标轴作旋转运动时,两种传感器输出比较

将手机平放在水平面上,Z轴垂直于水平面,绕Z轴来回旋转,两种传感输出波形见图9。左图为陀螺仪输出波形,绕Z轴旋转,可看到绕Z轴方向角速度的变化;右图为加速度传感器输出波形,由于手机水平放置,绕Z轴旋转,X、Y、Z轴方向的直线加速度没有变化。

5 总结

通过以上分析,陀螺仪传感器可检测手机绕三个坐标轴旋转的角速度,加速度传感器可以感测三个坐标方向的惯性加速度大小。两种传感器配合,可以较好的获得手机的姿态信息,但对于测量手机直线方向的位移,及精确手机定位,还得要依靠GPS等手段。

本论文用App Inventor在线编程,可以充分利用手机里的硬件资源来学习、创新。比如,可以利用手机里的蓝牙、WIFI等通讯工具来与单片机通讯,用手机里的陀螺仪、加速度传感器等资源的信息控制电机、电器等,为创新创业打开一个新思路。

【参考文献】

[1]写给大家看的安卓应用开发书:App Inventor 2快速入门与实战[M].人民邮电出版社,沃尔贝(David Wolber),2018.

[2]黄仁祥.人人都能开发安卓App[M].机械工业出版社,2014.

[3]蔡艳桃.Android App Inventor项目开发教程[M].人民邮电出版社,2014.

[4]王向辉.可视化开发Android应用程序[M].清华大学出版社,2014.

[5]卢刘斌,刘宏建,金笑天,国德峰.基于智能手机传感器的人体活动识别[J].计算机工程与应用,2016(04).

[6]陆文英,胡海荣.基于手机多传感器数据融合的测步长算法[J].电子科技,2018(12).

[7]陈雷,杨杰,沈红斌,王双全.基于加速度信号几何特征的动作识别[J].上海交通大学学报,2008(02).

猜你喜欢
手机陀螺仪
基于EMD的MEMS陀螺仪随机漂移分析方法
我国著名陀螺仪专家——林士谔
微机械陀螺仪概述和发展
手机锂离子电池充电电路的设计与实现
MEMS三轴陀螺仪中不匹配干扰抑制方法