便携式语音称重器的设计与实现

2021-07-01 07:33陈双燕陈佳尧汤巧治
辽宁科技学院学报 2021年3期
关键词:液晶屏重物串口

陈双燕,陈佳尧,汤巧治

(闽南理工学院 电子与电气工程学院/工业自动化控制技术与信息处理重点实验室,福建 泉州 362700)

随着经济与科学技术的不断发展,重物的检测不仅仅在制造业、冶金业当中占决定地位,而且在人们的饮食、健身和娱乐等领域也越来越显出其重要性。但传统机械秤存在着称重显示不直观,或界面不够友好,或不方便携带等问题。基于此,本文给出了一款便携式语音称重器的设计与实现过程。

1 系统的总体设计方案

本语音电子称重器的系统结构框架如图1所示。其中,重物数据采集模块由电阻式应变片,压敏电阻,亚克力板和HX711模块等构成。由STM32单片机〔1-2〕作为主控芯片,实现重物数据的实时接收、显示以及语音播报。同时STM32单片机将重物重量数据经HC-05蓝牙模块传送至手机APP端并显示出数值。

图1 系统的结构框架设计

2 硬件电路设计

2.1 STM32模块

本文采用专为嵌入式设计的STM32单片机。该单片机具有12个通信串口,112个I/O复用端口,具有丰富的外设资源。STM32与其它模块的硬件连接示意图如图1所示,其中串口1与HC-05蓝牙模块连接,串口2与SYN6288语音模块连接,PB口与TFT液晶屏相连,PC口与HX711模块连接。

2.2 数据采集与分析模块

重力感测部分采用电阻式应变片,其由压敏电阻与亚克力板进行构成。对于数据采集模块,本文采用的HX711模块,HX711模块是一款24位A/D转换器的高精度称重传感器〔3〕。HX711通过INA+和INA-接收重物模拟量,经过内部24位A/D转换模块变为数字量,通过数字接口PD-SCK和DOUT将此数字量传至STM32单片机。

2.3 语音播报模块

SYN6288中文语音合成芯片是北京宇音天下科技有限公司于2010年初推出的一款性价比更高,效果更自然的一款中高端语音合成芯片〔1〕。STM32单片机以其规定的命令帧的格式向SYN6288发送触发命令,SYN6288根据收到的命令帧进行相应的动作〔3〕。

2.4 TFT液晶屏模块

本设计采用TFT液晶屏进行显示称重传感器的数据,TFT-LCD液晶屏采用“背透式”的照射方式。TFT液晶屏的数据线SDA、时钟线SCL以及控制线RS、CS分别与STM32的PB15、PB13、PB10、PB11相连〔3〕。

2.5 APP实时监测模块

本称重器采用HC-05蓝牙模块来实现与手机APP的通信。当蓝牙设备与蓝牙设备配对连接成功后,可忽视蓝牙内部的通信协议,直接将HC-05蓝牙模块当做串口用。当建立连接时,将蓝牙模块设置成能进行配对连接的AT模式,即两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据。

3 软件部分设计

软件设计部分的具体程序流程如图2所示。通过STM32内部串口读取HX711传感器的数值,单片机将数据送至TFT液晶屏并控制其实时显示重物值,同时通过SYN6288语音芯片实现重物重量的实时播报。另外,采用HC-05蓝牙模块来实现单片机与手机APP的通信。

图2 系统程序流程图

3.1 HX711重物检测

当系统上电后,先将STM32的定时器和串口进行初始化,设置单片机的串口中断优先级大于定时器的中断优先级。其次,通过压力传感器感应是否有重物放置,如果存在则通过HX711模块内部进行数据分析,并由SCK(GPIOC4)和DOUT(GPIOC5)引脚将数据传入STM32单片机中,若不存在,则继续进行判断重物指令〔4〕。

3.2 TFT液晶屏显示

当HX711模块进行数据分析之后,单片机再将数据在送至TFT液晶屏上进行实时显示。同时,由于HX711模块传回来的数据为数字量,具有Shiwu_Weight的返回值,所以本文将此数据传入TFT液晶屏。

3.3 SYN6288的语音播报

显示完成后,单片机通过USART2的GPIOA_Pin_2串口触发SYN6288语音芯片进行语音播报。由于在触发SYN6288语音芯片时需要按照其规定的数据帧格式才能实现〔5〕。数据帧格式表的帧头尾0xFD,数据区的长度为2字节,数据区不大于203字节,其中包括命令字0x01,命令参数0x03,待发送的文本(不大于200字节),最后是1字节的异或校验0xc3。

由于语音芯片播报的内容为“当前千克值为XX”。数据区待发送文本长度length为13,所以数据区长度至少大于0x10。采用void syn6288_SpeakStr(char *text,char MusicID)函数实现,其中,MusicID为需要播放的背景音乐,0为不播放,text是语音播报的文本内容,是字符型数组。在主函数中调用syn6288_SpeakStr(text,2);语句,就可以在重物检测完成后进行播报。

3.4 USART1数据的发送与接收

当SYN6288播报语音之时,MCU将测出来的称重数据,在忽略HC-05模块内部协议的情况下,通过串口USART1的GPIOA_Pin_9与GPIOA_Pin_10传送至蓝牙串口助手进行检测。

4 系统测试结果与分析

将该称重器置于水平台面上进行测试,将5~6本书籍整齐叠放在称重器上,测试结果如图3(a)所示。TFT显示的数据为3.0 kg。当数据传至SYN6288芯片,通过外喇叭或者耳机线可以听到:“当前千克值为3”。同时通过HC-05蓝牙模块将数据传至手机APP进行数据接收,APP显示结果如图3(b)所示,可知实现了所需的功能。

(a)实物的测试结果及TFT显示

5 结语

利用HX711称重传感器与SYN6288语音合成芯片设计的便携式语音称重器使用方便,操作简单,可采用USB或者+5 V电源供电,移动性能良好。该称重器同时具备了称重数据的TFT液晶显示、语音播报和手机APP实时显示功能,具有一定的生活应用价值。

猜你喜欢
液晶屏重物串口
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
超重失重演示器
基于FPGA的车内环境监测系统设计
一种消除液晶屏高温MURA的工艺研究
搬运重物时怎样才能不伤腰
MCS—51单片机中的多串口通讯技术的应用
基于单片机的点餐系统硬件设计
最初的陆地交通
基于机器视觉的液晶屏字符缺陷检测系统设计