使用Android+传感器实现测试大气压强
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用Android+传感器实现测试大气压强
【摘要】近几年来,智能手机和它的应用十分普及,与此同时,Android系统因有易操作、高性能、免费等优点,如今已被大多数手机生产商接受和使用,OTG是一种新型的USB,能够在没有电脑的情行下,实现设备间的数据及图像的传送,有较好的发展空间,在手机中加入传感器,同时将运行程序载入开发板中,通过OTG接口与手机相接,能够让手机拥有更强大的功能。
【关键词】Android系统压力传感器OTG
一、项目目的
大气压强是无处不在的,在实验过程中,压强可能会对实验结果产生一定的影响。在实验室中,虽然可以轻易地使用基本仪器测出压强。但如果是在如室外等复杂环境里做一些压强可能影响结果的实验,想要使用复杂或者庞大的实验室仪器实现观察大气压的改变,不仅十分不方便,也是十分不现实的,成本也会变得很高,影响实验的可行性,同时,手机能够集多种功能于一身,可以成为庞大仪器的最好替代品。因此,我们小组在做SRTP项目时,试图尝试通过压力传感器与手机相连,用手机的安卓系统界面显示外界的压强,以使在复杂环境中进行压强的测试更加简便,更加具有可行性。
二、所需器材
Bmp气压传感器,一根otg线,arduino开发板,一个支持otg的安卓手机。
Bmp气压传感器:BMP085是一种耗能低,精度高,体积小的气压传感器。其测量误差可减少至0.5米。能够测量范围从-500(米)到+9000(米)的气压值。内部涵括了压强和温度传感器。器件内部的电压范围宽。利用I2C提供数据与操作设备接口,具有易操作、精度高等特点。
Arduino开发板:Arduino开发板具有灵活、便捷、方便、易上手等优点,涵括硬件(即各种类型的arduino板子)和软件(即arduino IDE)。
三、所需准备
首先要确定整个项目的版图,为了实现手机对空气压强的测量,需要用电脑编程之后下载到Arduino开发板中,使其可以读取传感器所测得的压强值,此外还需了解安卓系统,借而做出可以显示传感器所测压强数值的安卓界面,从而达到利用手机测量大气压强的目的。因此整个项目的器材连接过程为arduino板子上的一个接口与传感器相连,另一个接口通过OTG线与客户端手机相连,为实现此项目,需要针对开发板进行编程,与此同时,还要对客户端手机界面进行编程,因此为了顺利完成此项目,我们需要了解一些程序的编辑,对于Arduino开发板,里面的程序设计需要包含以下等几个步骤:从BMP085得到压力,将所
得到的压强传输到9600波特监控上,记录BMP085 I2C的地址,进行过采样,等待转换,用OSS延迟时间…与此同时,也要学会eclipse开发平台和SDK(即开发软件的工具包),对安卓界面进行编程,大体编程应包含为:创建一个函数,能够进行初始化选择,使之能够对界面进行初始化,同时还要为每个按钮设置监听设备,使之能够感受到每个按钮的命令,借而执行,此外还要设置寻找外部设备的功能,使之能够搜索到附近接入的设备,从而进行监测。
四、操作过程
首先将传感器、Arduino开发板、支持OTG的Android系统手机依次相连接起来,将传感器置于外界的环境中,Arduino开发板中的BMP感知传感器模块对其进行感知,I2C得到初始化,控制了有相数据,开始了外界气压的感知与测量,等待,得出压强数值,对其进行修正,使其误差减小,之后数据通过OTG 接口传送到安卓手机界面,人为操作选择相应的模式,按下开始按钮,内部开始接收数据,将数据发送到广播接收器,之后接收器对应发出所需的操作命令,对数据进行相应的处理和转化,手机屏幕显示出转化后的十进制压强数据。
五、误差分析
仪器的磨损、环境的剧烈变化、人为操作过程的不规范都可能造成测量结果的误差,为了减少误差使得测量的结果更加精准,我们不仅需要规范自己的操作,还要注意在编程中设定相应的程序,如在Arduino开发板程序设计中要设置测量结果修正的程序,此外,还要在程序的编写中加入应时效应和同步效应,以防止外界的环境变化的太剧烈,引起的设备反应不过来,或设备不同步现象,导致测量结果的误差。
六、实验难点
在arduino程序编写的过程中,如何将bmp085大气气压传感器感受出来的结果数据导入开发板中并处理以及对串口数据的监视都是编程过程中的难点;此外在安卓程序代码的编写的过程中,activity,界面布局等一系问题都是之前所没有接触过的,因此需要利用很多课外时间学习和理解eclipse软件以及程序的编写,并且安卓程序又比较难理解,因此,导致界面的编辑十分的困难;在矫正与误差分析的过程中,需要不断地进行数据的测试,并且与已知标准的数据进行比较,不断地调整程序,检验连接,以使误差达到最小化,调整到误差允许的范围内,这就需要较多的时间和人力物力,同时,又要使各设备之间协调,不要出现开发板测量结果与手机显示不同步的现象,或者开发板与手机界面不配套,即开发板上感知的数据无法在手机客户端界面上显示出来。
七、特色与创新
只能用实验室里的标准仪器测试人们所需的某些数值,如温度、压强等,给人们的生产和生活带来了极大的不便,也使得某些项目难以进行,因此本项目的完成可以使人们能够方便地在各种复杂环境中测量所需的数值,不在受到环境和
区域的限制,给人们提供了大大的方便,同时此项目的进行,也增强了安卓手机的功能,使安卓系统的市场更加壮大,满足人们对手机性能要求日益增高的需求。
八、心得体会
通过本次项目的完成,不仅让人学会了团队合作,拥有团队合作的精神,还让人明白了做事要有韧性和耐性这一道理,尤其对待科研项目。
参考文献:
[1]韩超,梁泉.android系统级深入开发[M].电子工业出版社,2011.
[2]米歇尔.麦克罗伯茨.Arduino从基础到实践[M].电子工业出版社,2013.