基于Android的电子信息专业综合实验案例设计
2018-12-11陈世海王军代伟靳文斌
陈世海 王军 代伟 靳文斌
摘要:将Android融入电子信息专业综合实验,不仅可以提高学生的学习兴趣,而且有利于培养学生的创新能力,为其从事相关研发工作奠定基础。
关键词:专业综合实验;Android;甲醛检测
中图分类号:G642.423 文献标志码:A 文章编号:1674-9324(2018)49-0267-02
电子信息专业综合实验[1]是面向电子信息专业高年级学生开设的综合性实践课程,要求学生能够综合运用所学专业知识进行电子信息类产品的设计开发实践。该课程对于培养学生综合运用专业知识的能力,提高其创新意识具有重要的作用。随着Android[2]智能手机的飞速发展,Android智能平台已经进入普及阶段,开发基于Android的综合实验案例,不仅能够提高学生的学习兴趣、培养起创新实践能力,同时为学生以后从事相关研发工作打下基础。实验案例以Android智能平台和STC89C52为软硬件核心,采用MS1100甲醛传感器,实现基于Android智能平台的无线甲醛检测系统。
一、系统硬件设计
系统硬件框架以STC89C52微处理器为核心控制器,其与MS1100甲醛传感器电路、HC-05蓝牙、蜂鸣器电路、LCD1602显示屏、上拉电阻、时钟电路、复位电路等外部设备连接在一起组成无线甲醛检测系统。MS1100甲醛传感器、HC-05蓝牙、单片机等这些功能需要通电才能实现。在系统设计中,由于MS1100甲醛传感器输出的信号是模拟信号,而STC89C52的引脚内部没有AD转换功能,导致模拟信号不能直接与单片机进行数据传输,因此要在两者之间加上一个可以转换数据模式的AD转换芯片,然后按照各个模块引脚的功能以及引脚的连接方式进行电路连接。
硬件电路按照数据采集电路、蜂鸣器工作电路、串口通信电路的顺序进行设计。数据采集电路采用MS1100甲醛传感器电路和数模转换芯片ADC0832相连接构成数据采集电路。其次,设计蜂鸣器报警电路,电路采用蜂鸣器和三极管、电阻组成蜂鸣器电路;LCD1602显示屏和上拉电阻组成甲醛浓度显示电路。最后,串口通信电路由HC-05蓝牙与STC89C52相连组成,实现甲醛浓度通过蓝牙向手机端传输。
(一)甲醛传感器
传感器选取以MS1100为核心的VOC(volatile organic compounds)式传感器。MS1100是半导体式VOC气体传感器,它具有很高的灵敏度,价格相对便宜,适合检测空气中的甲醛这种具有挥发性的有机化合物。MS1100利用金属氧化物遇到VOC气体阻值会发生变化这一特性来检测空气中甲醛的浓度。如图1所示,该传感器共有四个引脚:VCC、GND、AOUT和VCC。其中,VCC和GND分别接的是直流电源5V和GND,AOUT是模拟信号输出口。甲醛浓度与输出电压的关系不是简单的直线关系,而是呈现一种log对数函数的关系,当空气中不含甲醛时,或者说甲醛浓度为零时,传感器的阻值就是无穷大,电路外接电阻分到的电压就为零,模拟信号输出为零。传感器电路中,在电源VCC和GND之间加10pf的电容是因为电容具有通交隔直的作用,它可以滤掉电路中多余的交流信号,从而使电路中的电压稳定。传感器AOUT口输出0-5V的模拟信号,传感器的模拟信号接口不能直接与STC89C52微处理器进行连接,需要通过ADC0832将模拟电压转成数字量后输入微处理器。
(二)数模转换
模数转换部分采用的是具有8位分辨率的A/D转换芯片ADC0832,其最高分辨可以达到256级。DI作为数据的输入端,用以选择通道功能。设计中,采用单通道(CH1)输入模拟信号的方式。CS为芯片的选通引脚,当芯片通电后CS端通过单片机发送一个低电平芯片就选通完成,可以开始工作。
(三)蓝牙电路
基于蓝牙的无线通信,通常可以实现10m范围内的无线数据传输,在传输中蓝牙有主机和从机之分。系统中采用的HC-05蓝牙模块集主从于一体,既可以作为主动搜索其他蓝牙设备的主机,也可以作为只能被其他设备搜索的从机。HC-05既可以接收数据也可以发送数据,这给系统设计带来了较大的便利,同时也降低了实验中的硬件故障率。
实验时,首先将蓝牙模块与USB转串口连接,然后按住蓝牙模块上的黑色按钮,并将USB口插入电脑端,如果蓝牙模块的state灯变为慢闪,则表明蓝牙模块已经进入AT模式,打开串口调试助手即可进入蓝牙设置AT模式。功能代码如表1所示。
如果串口助手返回“OK”就代表蓝牙参数设置成功。需要注意的是,设置指令里的符号不要在中文状态下输入,否则不会返回相应指令。
二、软件设计
总体软件设计采用模块式编程,软件流程如图2所示。首先是对设备进行初始化,然后进行数据采集。数据采集软件主要完成对MS1100甲醛传感器输出的模拟了经ADC0832数模转换芯片转成数字量后输送至微处理器;数据传输部分先将检测到的甲醛浓度对应为数字信号,再通过蓝牙模块进行传输;蜂鸣器报警程序需要在程序中设置蜂鸣器的阈值,当接收到的甲醛浓度大于阈值时,接蜂鸣器的端口会置为低电平,蜂鸣器会报警。微处理器与蓝牙模块之间采用串行通信方式,两者可以互发信息,实现数据在上位机的显示,以及上位机控制下位机的蜂鸣器关闭。
手机APP通过调用手机本地蓝牙实现与HC-05蓝牙模块的连接,从而把与STC89C52微处理器连接的蓝牙数据传输到手机APP上并且显示。当甲醛浓度数据大于蜂鸣器设定的阈值,通过指令发送给蓝牙再发送给单片机,STC89C52处理数据使蜂鸣器与微处理器的端口重新恢复到高电平,取消报警。
手机端的APP需要在Android开发平台完成,目前Android的开发主流平台有eclipse和Android studio两种。这两个平台均为开发者提供了丰富的系统控件,可以编写漂亮的界面,也可以通过扩展系统控件,常见控件有:TextView、Buttion、EditText、一些布局控件等。实验案例选用了Eclipse开发软件进行设计。设计APP时首先需要将Eclipse的开发环境配置好,开发环境搭建好后,即可调用相应的控件完成界面设计。编写蓝牙通信程序时,由于Android对蓝牙设备的一系列操作方法进行了封装,所以设计蓝牙APP只需要调用封装的方法即可。
三、总结
实验案例综合应用了微处理器应用、传感与检测技术、Android智能平台应用开发等专业知识与技术,案例中设计的基于Android的甲醛监测系统不仅可以作为电子信息专业综合实验教学案例,同时其自身也具有较好的应用价值。
参考文献:
[1]吴乐南.用于电类专业综合创新的教学实验平台[J].电气电子教学学报,2016,38(05):99-102.
[2]张义红,李永乐,郝矿荣,韦方.Android物联网创新型实验研究与应用[J].實验室研究与探索,2018,37(01):22-24+37.