APP下载

基于STM32的智能视力检测仪

2018-06-27仝硕吴正朕秦枫

山东工业技术 2018年11期
关键词:单片机

仝硕 吴正朕 秦枫

摘 要:随着时代的发展,近视人数在增多,所以人们要求可以更加方便的测试视力。传统的视力检测方法需要医护人员参与到检测过程中,对于测试者及其不方便。本文提出了一种基于STM32F103c8t6单片机的视力测试仪的设计方案,软件采用 C 语言编程, 显示部分采用串口屏显示, 以国际标准视力表“E”字为视标,每次随机显示一个字符。因此本系统可以进行自我视力检测,且本产品使用方便,成本低,具有较大优势。

关键词:单片机;视力检测仪;串口屏

DOI:10.16640/j.cnki.37-1222/t.2018.11.125

1 引言

視力,常用视角分辨率来表示,指的是人眼辨别细节的能力。而视力的检测又常用视力表来检测,当今世界视力表有很多种,目前我国常用的视力表是用“E”字作视标。本文提出了一种基于STM32C8T6单片机的视力检测仪的设计方案,该检测仪以单片机为控制核心,串口屏为显示手段,语音播报为提示手段,可进行自我视力检测.

2 硬件设计

本设计硬件由单片机主控模块、串口触摸屏、蓝牙模块和键盘输入模块、语音合成模块构成,硬件结构图如图1所示。单片机CPU控制语音合成模块发出“开始测试”声音,引导测试者进行视力检测;测试者只需将视标开口方向的判断情况通过键盘输入即可;单片机对输入按键值进行判断是否正确,同时发出语音提示,最后通过发送语音告诉测试者视力情况。

2.1 单片机模块

单片机主控模块使用STM32单片机,他具有性能好、功耗低和成本低的优点,其程序存储器容量是64KB,单片机主要完成串口屏控制,语音合成控制以及结果判决等过程,串口屏通过蓝牙与单片机串口连接,用于接收单片机的指令传输。

2.2 液晶显示模块

串口屏是指带微处理器的液晶屏,它包括处理器、LCD液晶显示屏和其他部分。它接收单片机UART串口发送过来的指令,完成在液晶屏上显示汉字图案的操作。本系统使用的是淘晶驰串口屏,可以使单片机对液晶屏的控制变得更加简单,让普通的单片机可以驱动复杂的图像处理。

2.3 无线通信模块

蓝牙是一种支持设备短距离通信的无线电技术。蓝牙的标准是IEEE802.15,工作在2.4GHz 频带。本系统使用的是蓝牙模块 HC-05,其RXD 接单片机的 PA9端口,TXD 连接单片机的 PA10端,这样,就可实现蓝牙模块与单片机的串口通信。

2.4 语音合成模块

本系统使用的是SYN6288语音合成芯片,其支持BIG5、GB2312、GBK和UNICODE 等常见的格式的文本,具有可靠的、清晰的、标准的中文语音合成效果。工作方式是通过单片机向串口发送文本,然后通过单片机控制该芯片合成语音,具有使用方便,开发方便的优点。

3 软件设计

采用 Keil5 作为开发平台,流程如图2所示。根据结构化的思想,软件可以分为以下模块:随机数模块、输入识别模块、语音合成模块、视力等级判别模块.随机模块可生成0~3的随机数,利用这一随机数可控制屏幕显示图标,输入识别模块用于输入的键值,语音合成模块用于语音提示体验者的选择是否正确。结果判别模块是将收到的键值与单片机存储的视力表比较,得出视力结果,通过语音播报视力值与近视度数。

3.1 随机数生成模块

为了避免每次视力测试的”E”图标的开口具有规律性,本系统采用了随机数去控制每一行中“E”的开口方向,而这随机数是由可确定的线性同余函数通过一个种子产生的,也就是说可以引用头文件”stalib.h”中的rand()函数,即t=rand()%4,因此这些随机数在闭区间[0,3]之间分布,从而确定了图标的开口方向。

3.2 输入识别模块

本模块是将键值信息传递给单片机,本系统共使用了六个按键值,按键功能如表1所示。

3.3 语音合成模块

当单片机需要发出语音的时候,单片机就会向串口UART1发送需要的中文字符,然后语音合成函数speech()就会对其处理,最后发出语音提示测试者。

3.4 视力等级判别模块

单片机将获得的键值与程序中的视力表数组进行对比,采用的算法是,从视力表的首行开始,每次每行随机取出三个视标,参与者答对的话,flag_correct加1,当flag_correct大于3的时候,就会直接进入下一行测试。当第一次出现同一行的答错次数大于3次时,则返回上一行进行测试,记录标志位flag_return为1.在接下来的测试中再次出现答错次数大于3次时,记录标志位flag_return为2,这时输出结果为当前上行的视力值。

4 结束语

本文设计了一种基于STM32C8T6单片机的智能视力测试仪,相比较古老的、传统的视力检验,可在无专业人员帮助的情况下,自我进行对视力测试。通过实验表明本系统对视力大的检测确实带来了方便,测试结果也较为准确。不足之处在于,每次通过rand()函数取得随机数是否是真正的随机数,是否会对视力测试结果造成影响。

参考文献:

[1]姚开麒等.微机化视力检查系统[J].中国医疗器械,1992,16(06):340.

[2]胡忠林.验光与视力表视力[J].中国眼睛科技,2006,12(12):104-105.

[3]邱杰等 基于MCS-51单片机的视力测试仪设计[J],玉林师范学院学报,2015,4(02):31-34.

[4]蔡金川,张超,樊丽.基于 ZigBee和GPRS的智能家居控制系统设计以及传感数据基于时间序列的聚类分析[J].新型工业化,2017, 7(03):52-55.

作者简介:仝硕(1996-),男,江苏徐州人,本科,研究方向:数控技术。

猜你喜欢

单片机
基于单片机MCU的IPMI健康管理系统设计与实现
浅析51单片机的特点与应用
单片机在智能控制中的应用
C8051F020与80C51单片机的异同点
MCS—51单片机多串口通讯技术应用分析
一种单片机虚拟实验室的建立方法
点阵式液晶显示器lMl2864与51单片机的接口设计
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器