基于单片机的多功能视力保护器设计
2018-04-24梁东丽
梁东丽,刘 颖
(天津职业技术师范大学电子工程学院,天津 300222)
近年来,青少年视力呈下降趋势,越来越多的学生戴上了眼镜。在我国,患近视人群数量一直呈上升趋势,学习压力加剧、电子产品的普及和户外活动时间的减少是导致近视率高的原因[1],加之社会各界对视力健康问题的严峻性缺乏基本的认识和应对措施,导致视力下降问题无法得到有效解决,严重影响青少年视力的健康发展,从而影响青少年的学习和生活[2]。针对这一问题,越来越多的研究者都在研发各种视力保护产品,袁小翔[3]设计的CMOS多功能视力保护器,可对读写时间、坐姿及学习环境的光线强度进行监测并对其作出相应提醒,但数据无法实时显示,造成一定的不便;张玉凤等[4]设计的红外视力保护仪,使用W18-D50NK红外测距,测量使用者和书本之间的距离,此产品安装不便,很难测得准确距离,且使用红外线原理测距,其对外界环境要求较高。陈炜[5]设计的简易青少年视力保护器可以对学习环境进行监测,但其数据无法显示且报警方式单一,难以辨别是哪一项参数不符合实际要求。王颖等[6]设计的视力保护仪可以智能化监测使用者的坐姿角度,从而有效纠正坐姿,但功能单一,无法监测学习环境的光线、学习时间等参数,实用性能不高。针对以上问题,本文设计了一款基于单片机的多功能视力保护器。该视力保护器采用精确度较高的超声波模块HC-SR04对人脸距书本的距离进行测量,采用单片机控制主模块、温度检测模块、光线强度检测模块进行读写时间计时、光线强度检测、温度检测等,并使用LCD液晶显示模块对检测数据进行实时显示。此外,该视力保护器还可通过声光报警、马达振动及语音提示等电路,分别对各个参数实现多种方式的报警,更好地满足个性化需求,实用性较大。
1 总体方案设计
本视力保护器由单片机STC89C52RC核心主控模块、超声波测距模块、光线强度检测模块、液晶显示模块、温度检测模块、报警提示模块、按键模块及电源模块组成。系统总体设计框图如图1所示。
图1 系统总体设计框图
图1中,电源模块为电路提供稳定的工作电压。超声波测距模块利用超声波的发射和接收,完成距离的测量,并将数据发送给单片机。光线强度检测模块通过光敏电阻在不同光照条件下的阻值变化,检测不同学习环境的光线强度,将所检测到的数据进行模数转换后发送给单片机。温度检测模块通过集成的温度感应器件,完成环境温度的检测,并将其检测的温度数据发送给单片机。按键模块用来输入读写时间、人脸距书本距离及光照强度的标准值,实现读写参数的设置操作。STC89C52RC单片机负责读取、存储按键模块输入的标准值,负责读写时间的计时,该计时由单片机内部定时器完成。此外,单片机还负责处理其他模块传送来的数据,并发送至LCD1602液晶显示模块电路,控制显示模块电路显示实时数据,同时控制报警提示模块电路对不符合设定标准的读写参数进行提醒,从而实现视力保护功能。
2 硬件设计
2.1 主控制器模块
主控制器模块由控制芯片、振荡电路及复位电路构成,如图2所示。
图2 主控制器模块电路
控制芯片采用STC89C52RC,该单片机I/O接口丰富,可对外围电路的功能进行拓展,且价格低廉,性能强大,实用性较强。该芯片拥有强大的控制功能和运算功能,能够处理外围电路所传送的信号,如超声波测得的距离信号、光照强度信号等。振荡电路由电容C1、C2与晶体振荡器Y1(12 MHz)构成。振荡电路中最主要的器件是晶体振荡器,它能结合单片机内部电路产生单片机所需的时钟频率,实现系统的自动计时,并保证单片机指令的执行。复位电路由电阻R6及电容C3构成,它使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
2.2 超声波测距模块HC-SR04
超声波测距是一种非接触式测量,具有性能可靠、易集成、结构简单和成本低等优点[7]。本设计采用的超声波测距模块HC-SR04可实现最远4 m的非接触式距离测量和高达0.3 cm的测距精度。
超声波测距模块由超声波发射电路、超声波接收电路及主芯片控制模块组成。主控芯片进行定时控制,将发射电路和接收电路所测得的数据根据式(3)进行计算,并将计算结果传送给单片机。超声波测距模块HC-SR04的工作原理框图如图3所示。在超声波测距过程中,发射电路和接收电路存在一定的时序关系,由时序图可得出超声波模块的工作方式。超声波测距时序图如图4所示。
图3 超声波测距模块HC-SR04工作原理框图
图4 超声波测距时序图
图4表明,触发信号是由单片机向TRIG触发控制信号端所输入的触发条件为大于10 μs的高电平信号。当模块收到信号时,模块内部会发送出8个频率为40 kHz的脉冲,同时可以检测所接收的超声波信号。如果超声波接收器能顺利接收到应答信号,则对应的单片机端口会输出一个持续高电平的回响信号,高电平持续的时间t就是超声波从发射到返回的时间[7]。因此,可得测试距离为:
式中:v为超声波在空气中的传播速度,一般取值为331.5 m/s;t为超声波从发射到返回的时间。
由于温度会影响超声波的传播速度,因此超声波的测距精度会随着温度的改变而改变,正常情况下,温度变化1℃,声速相应变化±0.067 m/s[8],可得温度T与超声波速度v的关系式为:
进而可得测试距离为[9]:
式中:S为测量的距离;T为环境温度;t为超声波从发射到返回所用时间。
在测量精度要求高的场合,必须通过温度补偿的方式来减少测量距离的误差。
2.3 温度检测模块
温度采集系统采用DS18B20温度传感器作为温度检测器件,温度传感器DS18B20实物图及其相关电路如图5所示。
图5 温度检测电路
该温度传感器外观类似三极管,有3个引脚,引脚1接地,引脚2接数据端,引脚3接电源。该传感器具有独特的优点[10],采用单总线的接口方式,与微处理器连接时仅需1条口线即可实现微处理器与DS18B20的双向通讯。单总线具有经济性好、抗干扰能力强、测量温度范围广和测量精度高等特点,其测量范围为-55℃~125℃,在-10℃~85℃范围内的精度为±0.5℃。而且该传感器还具有负压特性,即在电路连接过程中发生错误时也不会烧毁。
2.4 光线强度检测模块
光线强度检测模块电路设计如图6所示。
图6 光线强度检测电路
该模块主要由光敏电阻和模数转换芯片ADC0832组成。光敏电阻具有易检测、测量范围广和性价比高等优点。其工作原理属于光电效应,即当有光线照射时,电阻内原本处于稳定状态的电子受到激发,成为自由电子。因此,光线越强,产生的自由电子就越多,电阻就会越小[11],从而引起电路电压变化。在该电路中,光敏电阻在光线照射的作用下所引起的模拟信号的电压变化,经ADC0832模数转换后得到数字信号,并将其传送给单片机。单片机对收到的数字信号即光照强度进行处理并将其显示在LCD液晶屏上。
2.5 电源模块
保护器系统电源采用电压为5 V的稳压供电系统,可保证单片机与各模块之间的正常工作,并使用自锁开关实现电路的闭合与断开,方便使用者操作和控制。电源电路如图7所示。
图7 电源电路
2.6 报警提示模块
本设计提供了多种报警提醒方式,其中蜂鸣器及发光二极管相关电路组成的声光报警电路如图8所示。
此外,还利用语音播放模块电路和振动模块电路,分别对不符合各参数标准的情况进行提醒,方便学习者判断有误学习习惯的类型,从而进行调整。
图8 蜂鸣器驱动电路
YS-M3语音播放模块共有9个触发端口,利用编码模式触发,具备31首歌的点播功能,以丰富的歌曲数量避免单调。其中A1-A5为5个编码端口,端口工作低电平触发,通过单片机的I/O口控制。另外,在I/O口处添加拨码开关,可进行手动选择,方便控制。YS-M3语音播放模块的电路设计如图9所示。
图9 YS-M3语音播放电路
在振动模块中,采用了1027手机扁平马达。由于单片机输出的电平不能使马达正常工作,因此需放大电路电流,即通过1个NPN型三极管8050来放大电路电流,从而驱动马达工作。马达振动驱动电路如图10所示。
2.7 液晶显示模块
采用LCD1602液晶显示器作为显示数据的器件,其引脚图如图11所示,管脚功能表如表1所示。
图10 马达振动驱动电路
图11 LCD1602引脚图
表1 LCD1602管脚功能
LCD1602液晶显示模块电路连接简单,具有体积小、功耗低和显示内容丰富等优点。该显示模块是字符型液晶显示模块,可显示2行数据,每行显示16个字符,字符包括字母、数字和符号等形式[12]。通过在程序中定义各管脚所对应的单片机I/O口,读取各模块电路发送给单片机的数据,并将这些数据实时显示在液晶显示器上。
2.8 按键模块
按键控制模块主要用来对学习时间、光线强度范围及人脸距书本距离的标准值进行设置。系统采用4个独立按键来进行标准值的设定和调节,独立按键的具体功能如表2所示。
表2 独立按键功能
3 程序设计
系统程序设计主要是在Keil uVision4中完成的程序编写和编译。Keil uVision4是ARM公司开发的51系列单片机软件,具有强大的编译功能,同时支持C语言的开发,由于C语言不但具有可读性强、结构清晰、易于移植和可维护性强等特点,而且使用C语言编写程序能很好地整合单片机的软硬件资源,使功能实现更加简单。因此,C语言开发单片机已经被越来越多的单片机开发者所接受。本电路系统采用模块化结构编程的思路,系统程序分为系统主程序、超声波测距子程序、液晶显示子程序、蜂鸣器报警子程序、振动模块子程序、语音播放子程序及按键模块子程序。系统主程序流程图如图12所示。
图12 主程序流程图
超声波测距子程序设计流程如图13所示。
通过系统主程序对超声波测距等子程序的调用,实现各个电路模块的协同工作,使单片机系统能稳定进行数据处理,同时对人脸距书本距离、光线强度大小和学习时间进行监测并实时显示,并将结果与预先设置的相关参数的标准值进行对比,发出相应的报警信号,从而达到保护视力的目的。
图13 超声波测距子程序流程图
4 结语
本文研究了基于单片机的多功能视力保护器的软硬件系统。该视力保护器能够较准确地测量人脸距书本的距离,采集学习环境的光照强度,记录学习的时间及监测温度,能够清楚、实时地显示各参数值,对不符合标准的参数值进行相应的报警提示,以准确纠正学习者的读书习惯。该系统参数测量精度较高,使用方便,性能稳定,只需外加模块即可增加电路功能,具有良好的可扩展性,开发空间较大。
参考文献:
[1]吴晓,程涵荣.青少年的视力保护[J].生物学通报,1995,30(3):30-31.
[2]QI S Y,LI J W,JIA L D,et al.Prevalence of myopia in school children in greater Beijing:the Beijing childhood eye study[J].Acta Ophthalmologica,2014,92(5):398-406.
[3]袁小翔.CMOS多功能视力保护器[J].电子世界,1996(10):25.
[4]张玉凤,李水莲.基于51单片机的红外视力保护仪的设计[J].电子制作,2015(8):7-8.
[5]陈炜.简易青少年视力保护器的设计[J].科技展望,2015,25(33):87.
[6]王颖,王伟,孙兆东,等.基于坐姿监督的智能视力保护仪设计[J].电子世界,2017(2):189-190.
[7]胡萍.超声波测距仪的研制[J].计算机与现代化,2003(10):54-56.
[8]李军,申俊泽.超声测距模块HC-SR04的超声波测距仪设计[J].单片机与嵌入式系统应用,2011,11(10):77-78.
[9]兰羽,周茜.超声波测距系统接收电路研究[J].电子设计工程,2012,20(14):81-83.
[10]曹建海,路长厚,韩旭东.基于单片机的超声波液位测量系统[J].仪表技术与传感器,2004(1):39-40.
[11]王彦华,刘希璐.光敏电阻器原理及检测方法[J].装备制造技术,2012(12):101-102.
[12]于志赣,刘国平,张旭斌.液显LCD1602模块的应用[J].机电技术,2009,32(3):21-23.