一种具有语音功能的智能家用唤醒系统设计

2018-10-30 07:59张水利吴瑞智李欢敏屈俊青
微型电脑应用 2018年10期
关键词:管脚闹钟按键

张水利, 吴瑞智, 李欢敏, 屈俊青

(延安大学 物理与电子信息学院, 延安 716000)

0 引言

每天早晨,当我们听到闹钟响起的时候,下意识的反应就是直接把闹铃关掉,有时候会由于困乏而本能的躺下,不自觉又睡着了。结果是上课、上班都迟到,耽误重要的事情[1]。这也进一步说明市场上闹钟的设计人性化关怀不够,迫切需要设计一款人性化的智能唤醒系统。为此,国外有一款地毯闹钟Reggie,这款闹钟只有被唤醒者在闹钟响起时站上去才能将闹钟停止,如此就解决了起床困难户的问题[2];大连理工大学提出了一种“摇一摇”闹钟,当闹钟响起时,摇晃闹钟达到所设定次数才能关闭闹钟,以此来达到使人清醒的目的[3]。武汉理工大学提出了一种“会跑的闹钟”,当闹钟响起的时候,闹钟小车会在地上到处跑,用户必须起床抓住它才能关闭闹钟[4]。另外,杭州电子科技大学、吉林大学、山东大学等众多学者也进行了智能唤醒系统的相关研究[5]。其研究成果为人性化的智能家居设计提供了新的思路和技术支持[6],在很大程度上推动了国内智能化系统的发展进步。本文从人性化的角度出发,充分考虑到消费者的使用体验等问题[7],设计了一款具有语音功能的的家用智能唤醒系统,系统根据人们预先设定的起床时间,慢慢调整周围的光照强度,声音由低渐高地起唤醒熟睡中的人们,同时,以温柔的语音提示当天的室外温度来提醒人们穿衣厚度指数等。本系统不仅能满足普通人的唤醒需求,也能满足老年人以及有耳疾的残疾人的唤醒需求,具有一定的应用前景。

1 系统的设计方案

本智能家用唤醒系统是以STC89C51单片机为主控芯片,由单片机最小系统、温度检测、实时时钟模块、PWM波调光、具有语音提醒功能的闹钟模块、显示和按键模块等几个部分组成。STC89C51单片机最小系统作为主控模块,时间、日期信息的采集由DS1302时钟芯片来完成,温度的获取用DS18B20温度传感器来实现,时间和温度等的显示主要是在LCD12864液晶显示器中完成的;通过按键完成日期、时间的初始化设置和闹钟的设定;借助PWM波的变化实现唤醒灯自动调光;采用语音模块完成闹钟唤醒和温度提醒功能。家用智能唤醒系统设计原理框图,如图1所示。

图1 系统原理框图

2 硬件电路设计

2.1 控制模块的设计

控制模块负责整体电路的主要工作,是智能家用唤醒系统最重要部分。控制模块,如图2所示。

由最小系统和按键控制电路两个主要部分。晶振电路和复位电路是单片机最小系统必不可少的部分。单片机正常工作时的工作速度是由晶振电路提供的,在本系统中选取的是12 MHz晶振。图中C1和C2(30pF)电容能够使单片机迅速起振,且工作时的频率达到稳定。晶振的一端接XTAL2(19),另一端接是XTAL2(18),两个电容并联接在振荡源之间,能在工作时为单片机提供能更好的服务。复位电路是单片机的准备工作,包括上电复位和按键复位两种模式。在按键复位中,电容C3取值为10 uF,电阻R取值为10 kΩ,K5是为实现按键复位而设置的。在上电复位中,由单片机运行后给定的高低电平直接实现复位功能。在按键控制电路中,设置五个按键实现设计所需的要求。按键有四个接脚,两个相连的之间导通,按键一端接单片机的I/O接口,另一端接地,由低电平完成按键操作。五个独立按键实现的功能分别有确认返回、加一、减一、闹钟开关及唤醒灯开关,按键K1、K2、K3、K4和K5分别与单片机的P1.0、P1.1、P1.2、P1.3和P1.4引脚连接。

图2 控制模块电路图

2.2 时钟模块的设计

时钟模块有两个电源,时钟电路与单片机连接,利用软件编程实现,将时间信息在显示器上显示。DS1302时钟芯片与单片机的通信接口由3条线组成,VCC接在系统电源上,GND接在地端, RST复位管脚与单片机的P2.2端口连接,实现了时钟电路在复位时由低电平跳变成高电平并启动一次数据传输的过程,SCLK管脚与P2.1端口连接,时钟输入端将记录的脉冲信号存入时钟芯片,I/O管脚与P2.0端口连接,数据线输入输出记录的时间数据。根据电路的需求,可在三线上加上拉电阻,由于P2口内部的缘故,本系统连接的单片机P2接口也可不加电阻。DS1302时钟电路在设计中的原理图,如图3所示。

图3 时钟电路原理图

2.3 温度检测模块的设计

温度检测模块中利用DS18B20采集温度,早晨智能系统通过闹钟唤醒主人之后,通过语音系统提醒当前的温度。温度模块经与单片机通信,将采集到的温度送到显示器显示,最后由ISD1760语音模块播报温度值。DS18B20与单片机的通信只需将DS18B20的I/O口与单片机的的一个双向端口I/O口相连即可。

2.4 语音模块的设计

语音模块中采用语音录放功能强大的语音芯片ISD1760,语音模块除起到响铃功能之外,还提醒人们当前温度并给出穿衣建议。通过STC89C51单片机的P3口完成与ISD1760的通信。ISD1760芯片是在8KHz采样率下的录音,录音经过麦克风输入,为得到较好的声音效果,选择喇叭来进行播报,同时,电路选取合适的电阻和电容来配合语音模块完成各项功能。语音芯片的MISO管脚接单片机的P3.2引脚实现数据的输出,ISD1760输出的数据信号从MISO引脚被单片机接收存储;语音芯片MOSI管脚与单片机的P3.3口实现数据的输入,所需的读入操作和放音地址都是从ISD1760的MOSI管脚输入的;语音芯片的SCLK与单片机的P3.4端口连接实现时钟输入;P3.5管脚接语音芯片的片选引脚SS用来控制芯片是否选通。SP+和SP-端口分别接外接喇叭的正负极。语音模块电路,如图4所示。

2.5 显示模块的设计

显示模块中采用12864液晶显示器。12864显示器是数字式的接口,能在显示屏上显示智能闹钟的数据,采用并行接口与单片机系统连接。在液晶显示器和单片机连接时,显示器的数据线DB0(7)-7(14)与单片机的P0.0-P0.7相连接,且需要10 K的上拉电阻。VO端口接一个103的电位器,通过改变电位器的阻值来调整液晶显示器的亮度。PSB引脚在高电平时选择并口,低电平时选择串口的接法,引脚NC不需要接任何管脚。液晶显示模块原理图,如图5所示。

图5 液晶显示模块电路图

2.6 PWM唤醒灯模块设计

调光模块设计中,采用了较为简单的三极管驱动LED电路。根据设计需要,选用大功率三极管驱动唤醒灯模块[8]。STC89C51单片机本身不具备PWM配置,通过软件产生PWM波以实现自动调光的功能[9]。利用PWM波对LED中的正向电流进行调节来控制LED的亮度,从而达到模拟早晨日光的效果。LED灯串联一个上拉电阻限流来对二极管进行保护。用NPN型三极管实现电流的通断,PWM波由单片机的P3.6输出,低电平有效。单片机上电后设置闹钟时间,在设定的时间范围内调光电路开始启动,唤醒灯模拟早晨日光的变化效果。

3 软件系统设计

采用Keil C51软件作为编译软件,软件任务选用C语言编程来完成。系统的软件部分主要包括:单片机主控部分、LCD12864液晶显示部分、时钟控制部分、语音播报、温度检测部分、调光及按键部分等。主程序对模块进行初始化,而后调用DS1302时间处理子程序、读温度、处理温度、显示、按键及语音录放子程序等模块。系统的整体程序流程图,如图6所示。

4 总结

设计了一款具有语音唤醒功能的智能家用唤醒系统。本系统采用PWM波调节唤醒灯亮度, ISD1760语音模块播报当前温度和穿衣建议,通过按键可以设置具体的时间和日期及闹钟等。系统通过单片机控制,可在设定闹钟的时间到达之前启动唤醒灯,待唤醒灯亮度最大时闹钟开始响起,并

且语音提醒温度和时间等信息。这款设计有一定的可行性和人性化等特点,不仅可以用在满足普通人的唤醒需求,又可以用于老年人以及有耳疾的残疾人的唤醒需求等场合,在一定程度上体现了智能化。

图6 流程图

猜你喜欢
管脚闹钟按键
多彩创意闹钟
面向DSP+FPGA通用处理架构检测的硬件系统设计
基于有限状态机的按键检测程序设计
天然闹钟
一种异步FIFO的Read/Write Data Flow Through功能测试方法∗
小闹钟的提醒
能帮我设个闹钟不等四则
按键消抖在单片机和FPGA实验教学中的应用
一种多方向导光按键结构设计
基于图像处理的异型电子元器件管脚偏移误差检测方法研究