張水利, 吳瑞智, 李歡敏, 屈俊青
(延安大學(xué) 物理與電子信息學(xué)院, 延安 716000)
每天早晨,當(dāng)我們聽到鬧鐘響起的時候,下意識的反應(yīng)就是直接把鬧鈴關(guān)掉,有時候會由于困乏而本能的躺下,不自覺又睡著了。結(jié)果是上課、上班都遲到,耽誤重要的事情[1]。這也進(jìn)一步說明市場上鬧鐘的設(shè)計人性化關(guān)懷不夠,迫切需要設(shè)計一款人性化的智能喚醒系統(tǒng)。為此,國外有一款地毯鬧鐘Reggie,這款鬧鐘只有被喚醒者在鬧鐘響起時站上去才能將鬧鐘停止,如此就解決了起床困難戶的問題[2];大連理工大學(xué)提出了一種“搖一搖”鬧鐘,當(dāng)鬧鐘響起時,搖晃鬧鐘達(dá)到所設(shè)定次數(shù)才能關(guān)閉鬧鐘,以此來達(dá)到使人清醒的目的[3]。武漢理工大學(xué)提出了一種“會跑的鬧鐘”,當(dāng)鬧鐘響起的時候,鬧鐘小車會在地上到處跑,用戶必須起床抓住它才能關(guān)閉鬧鐘[4]。另外,杭州電子科技大學(xué)、吉林大學(xué)、山東大學(xué)等眾多學(xué)者也進(jìn)行了智能喚醒系統(tǒng)的相關(guān)研究[5]。其研究成果為人性化的智能家居設(shè)計提供了新的思路和技術(shù)支持[6],在很大程度上推動了國內(nèi)智能化系統(tǒng)的發(fā)展進(jìn)步。本文從人性化的角度出發(fā),充分考慮到消費(fèi)者的使用體驗(yàn)等問題[7],設(shè)計了一款具有語音功能的的家用智能喚醒系統(tǒng),系統(tǒng)根據(jù)人們預(yù)先設(shè)定的起床時間,慢慢調(diào)整周圍的光照強(qiáng)度,聲音由低漸高地起喚醒熟睡中的人們,同時,以溫柔的語音提示當(dāng)天的室外溫度來提醒人們穿衣厚度指數(shù)等。本系統(tǒng)不僅能滿足普通人的喚醒需求,也能滿足老年人以及有耳疾的殘疾人的喚醒需求,具有一定的應(yīng)用前景。
本智能家用喚醒系統(tǒng)是以STC89C51單片機(jī)為主控芯片,由單片機(jī)最小系統(tǒng)、溫度檢測、實(shí)時時鐘模塊、PWM波調(diào)光、具有語音提醒功能的鬧鐘模塊、顯示和按鍵模塊等幾個部分組成。STC89C51單片機(jī)最小系統(tǒng)作為主控模塊,時間、日期信息的采集由DS1302時鐘芯片來完成,溫度的獲取用DS18B20溫度傳感器來實(shí)現(xiàn),時間和溫度等的顯示主要是在LCD12864液晶顯示器中完成的;通過按鍵完成日期、時間的初始化設(shè)置和鬧鐘的設(shè)定;借助PWM波的變化實(shí)現(xiàn)喚醒燈自動調(diào)光;采用語音模塊完成鬧鐘喚醒和溫度提醒功能。家用智能喚醒系統(tǒng)設(shè)計原理框圖,如圖1所示。
圖1 系統(tǒng)原理框圖
控制模塊負(fù)責(zé)整體電路的主要工作,是智能家用喚醒系統(tǒng)最重要部分??刂颇K,如圖2所示。
由最小系統(tǒng)和按鍵控制電路兩個主要部分。晶振電路和復(fù)位電路是單片機(jī)最小系統(tǒng)必不可少的部分。單片機(jī)正常工作時的工作速度是由晶振電路提供的,在本系統(tǒng)中選取的是12 MHz晶振。圖中C1和C2(30pF)電容能夠使單片機(jī)迅速起振,且工作時的頻率達(dá)到穩(wěn)定。晶振的一端接XTAL2(19),另一端接是XTAL2(18),兩個電容并聯(lián)接在振蕩源之間,能在工作時為單片機(jī)提供能更好的服務(wù)。復(fù)位電路是單片機(jī)的準(zhǔn)備工作,包括上電復(fù)位和按鍵復(fù)位兩種模式。在按鍵復(fù)位中,電容C3取值為10 uF,電阻R取值為10 kΩ,K5是為實(shí)現(xiàn)按鍵復(fù)位而設(shè)置的。在上電復(fù)位中,由單片機(jī)運(yùn)行后給定的高低電平直接實(shí)現(xiàn)復(fù)位功能。在按鍵控制電路中,設(shè)置五個按鍵實(shí)現(xiàn)設(shè)計所需的要求。按鍵有四個接腳,兩個相連的之間導(dǎo)通,按鍵一端接單片機(jī)的I/O接口,另一端接地,由低電平完成按鍵操作。五個獨(dú)立按鍵實(shí)現(xiàn)的功能分別有確認(rèn)返回、加一、減一、鬧鐘開關(guān)及喚醒燈開關(guān),按鍵K1、K2、K3、K4和K5分別與單片機(jī)的P1.0、P1.1、P1.2、P1.3和P1.4引腳連接。
圖2 控制模塊電路圖
時鐘模塊有兩個電源,時鐘電路與單片機(jī)連接,利用軟件編程實(shí)現(xiàn),將時間信息在顯示器上顯示。DS1302時鐘芯片與單片機(jī)的通信接口由3條線組成,VCC接在系統(tǒng)電源上,GND接在地端, RST復(fù)位管腳與單片機(jī)的P2.2端口連接,實(shí)現(xiàn)了時鐘電路在復(fù)位時由低電平跳變成高電平并啟動一次數(shù)據(jù)傳輸?shù)倪^程,SCLK管腳與P2.1端口連接,時鐘輸入端將記錄的脈沖信號存入時鐘芯片,I/O管腳與P2.0端口連接,數(shù)據(jù)線輸入輸出記錄的時間數(shù)據(jù)。根據(jù)電路的需求,可在三線上加上拉電阻,由于P2口內(nèi)部的緣故,本系統(tǒng)連接的單片機(jī)P2接口也可不加電阻。DS1302時鐘電路在設(shè)計中的原理圖,如圖3所示。
圖3 時鐘電路原理圖
溫度檢測模塊中利用DS18B20采集溫度,早晨智能系統(tǒng)通過鬧鐘喚醒主人之后,通過語音系統(tǒng)提醒當(dāng)前的溫度。溫度模塊經(jīng)與單片機(jī)通信,將采集到的溫度送到顯示器顯示,最后由ISD1760語音模塊播報溫度值。DS18B20與單片機(jī)的通信只需將DS18B20的I/O口與單片機(jī)的的一個雙向端口I/O口相連即可。
語音模塊中采用語音錄放功能強(qiáng)大的語音芯片ISD1760,語音模塊除起到響鈴功能之外,還提醒人們當(dāng)前溫度并給出穿衣建議。通過STC89C51單片機(jī)的P3口完成與ISD1760的通信。ISD1760芯片是在8KHz采樣率下的錄音,錄音經(jīng)過麥克風(fēng)輸入,為得到較好的聲音效果,選擇喇叭來進(jìn)行播報,同時,電路選取合適的電阻和電容來配合語音模塊完成各項(xiàng)功能。語音芯片的MISO管腳接單片機(jī)的P3.2引腳實(shí)現(xiàn)數(shù)據(jù)的輸出,ISD1760輸出的數(shù)據(jù)信號從MISO引腳被單片機(jī)接收存儲;語音芯片MOSI管腳與單片機(jī)的P3.3口實(shí)現(xiàn)數(shù)據(jù)的輸入,所需的讀入操作和放音地址都是從ISD1760的MOSI管腳輸入的;語音芯片的SCLK與單片機(jī)的P3.4端口連接實(shí)現(xiàn)時鐘輸入;P3.5管腳接語音芯片的片選引腳SS用來控制芯片是否選通。SP+和SP-端口分別接外接喇叭的正負(fù)極。語音模塊電路,如圖4所示。
顯示模塊中采用12864液晶顯示器。12864顯示器是數(shù)字式的接口,能在顯示屏上顯示智能鬧鐘的數(shù)據(jù),采用并行接口與單片機(jī)系統(tǒng)連接。在液晶顯示器和單片機(jī)連接時,顯示器的數(shù)據(jù)線DB0(7)-7(14)與單片機(jī)的P0.0-P0.7相連接,且需要10 K的上拉電阻。VO端口接一個103的電位器,通過改變電位器的阻值來調(diào)整液晶顯示器的亮度。PSB引腳在高電平時選擇并口,低電平時選擇串口的接法,引腳NC不需要接任何管腳。液晶顯示模塊原理圖,如圖5所示。
圖5 液晶顯示模塊電路圖
調(diào)光模塊設(shè)計中,采用了較為簡單的三極管驅(qū)動LED電路。根據(jù)設(shè)計需要,選用大功率三極管驅(qū)動喚醒燈模塊[8]。STC89C51單片機(jī)本身不具備PWM配置,通過軟件產(chǎn)生PWM波以實(shí)現(xiàn)自動調(diào)光的功能[9]。利用PWM波對LED中的正向電流進(jìn)行調(diào)節(jié)來控制LED的亮度,從而達(dá)到模擬早晨日光的效果。LED燈串聯(lián)一個上拉電阻限流來對二極管進(jìn)行保護(hù)。用NPN型三極管實(shí)現(xiàn)電流的通斷,PWM波由單片機(jī)的P3.6輸出,低電平有效。單片機(jī)上電后設(shè)置鬧鐘時間,在設(shè)定的時間范圍內(nèi)調(diào)光電路開始啟動,喚醒燈模擬早晨日光的變化效果。
采用Keil C51軟件作為編譯軟件,軟件任務(wù)選用C語言編程來完成。系統(tǒng)的軟件部分主要包括:單片機(jī)主控部分、LCD12864液晶顯示部分、時鐘控制部分、語音播報、溫度檢測部分、調(diào)光及按鍵部分等。主程序?qū)δK進(jìn)行初始化,而后調(diào)用DS1302時間處理子程序、讀溫度、處理溫度、顯示、按鍵及語音錄放子程序等模塊。系統(tǒng)的整體程序流程圖,如圖6所示。
設(shè)計了一款具有語音喚醒功能的智能家用喚醒系統(tǒng)。本系統(tǒng)采用PWM波調(diào)節(jié)喚醒燈亮度, ISD1760語音模塊播報當(dāng)前溫度和穿衣建議,通過按鍵可以設(shè)置具體的時間和日期及鬧鐘等。系統(tǒng)通過單片機(jī)控制,可在設(shè)定鬧鐘的時間到達(dá)之前啟動喚醒燈,待喚醒燈亮度最大時鬧鐘開始響起,并
且語音提醒溫度和時間等信息。這款設(shè)計有一定的可行性和人性化等特點(diǎn),不僅可以用在滿足普通人的喚醒需求,又可以用于老年人以及有耳疾的殘疾人的喚醒需求等場合,在一定程度上體現(xiàn)了智能化。
圖6 流程圖