張海靜,侯建軍,霍娟娟
(北京交通大學(xué) 電子信息工程學(xué)院,北京100044)
地理教學(xué)離不開(kāi)地球儀,傳統(tǒng)地球儀只能借助外力實(shí)現(xiàn)一維轉(zhuǎn)動(dòng),配合教師傳授地理知識(shí),缺乏令人耳目一新的效果,不能積極調(diào)動(dòng)學(xué)生對(duì)地理課的學(xué)習(xí)興趣。為了改善地理教學(xué)的枯燥,增強(qiáng)其趣味性,在教學(xué)過(guò)程中需要借助先進(jìn)的教學(xué)模具,從而激發(fā)學(xué)生的學(xué)習(xí)興趣,保證教學(xué)質(zhì)量。而功能強(qiáng)大的智能地球儀可以在無(wú)任何支撐及觸點(diǎn)電的空中自轉(zhuǎn),如磁懸浮地球儀是一種可以利用無(wú)線發(fā)聲及先進(jìn)隱形碼光學(xué)識(shí)別技術(shù)來(lái)實(shí)現(xiàn)語(yǔ)音控制轉(zhuǎn)動(dòng)的智能語(yǔ)音地球儀[1]。這些地球儀結(jié)構(gòu)設(shè)計(jì)復(fù)雜,成本高昂。
本文采用低成本模塊化設(shè)計(jì),使用單片機(jī)控制模塊、語(yǔ)音識(shí)別模塊及云臺(tái)轉(zhuǎn)動(dòng)模塊,設(shè)計(jì)了一款能將用戶(hù)的聲控命令轉(zhuǎn)化為國(guó)家地理位置的智能地球儀。該地球儀能智能識(shí)別任意用戶(hù)說(shuō)出的國(guó)家名稱(chēng),驅(qū)動(dòng)云臺(tái)轉(zhuǎn)動(dòng)使目標(biāo)國(guó)家正對(duì)著用戶(hù),點(diǎn)亮代表該國(guó)首都的彩色LED指示燈,并且語(yǔ)音播放該國(guó)的詳細(xì)介紹,包括人口、面積、現(xiàn)任領(lǐng)導(dǎo)人、地理、歷史、氣候、資源等。與其他智能地球儀相比,該智能地球儀易于操作、趣味性強(qiáng),能充分激發(fā)學(xué)生的好奇心和求知欲。同時(shí)設(shè)計(jì)簡(jiǎn)單、成本低廉,更適合在各學(xué)校普及使用。
智能語(yǔ)音地球儀硬件系統(tǒng)如圖1所示,主要由雙自由度云臺(tái)模塊、語(yǔ)音識(shí)別播放模塊、單片機(jī)控制單元和外圍控制電路組成;軟件系統(tǒng)包括系統(tǒng)控制主程序和語(yǔ)音識(shí)別播放程序。
圖1 硬件框圖
AT89S52是由Atmel公司設(shè)計(jì)制造的一種低功耗、高性能的8位單片機(jī)[2],作為智能地球儀的主控制器,P1口用來(lái)接收語(yǔ)音識(shí)別結(jié)果控制云臺(tái)的轉(zhuǎn)動(dòng),P2和P3口用來(lái)控制外圍的一些電路,主要包括復(fù)位電路、LED燈的點(diǎn)亮電路等。
語(yǔ)音芯片LD3320芯片是一款基于非特定人語(yǔ)音識(shí)別技術(shù)的聲控芯片,可以實(shí)現(xiàn)語(yǔ)音識(shí)別及MP3播放功能[3]。為了能使芯片正常工作,共有42個(gè)引腳需要配置,而單獨(dú)使用AT89S52單片機(jī)無(wú)法直接完成對(duì)該芯片的配置。雖然采用擴(kuò)展I/O口的做法也能實(shí)現(xiàn),但是為了使整個(gè)系統(tǒng)更加穩(wěn)定可靠地工作,本文選用單片機(jī)STC10L08XE作為系統(tǒng)的協(xié)MCU來(lái)完成對(duì)LD3320語(yǔ)音模塊的控制。
雙自由度云臺(tái)有4個(gè)控制轉(zhuǎn)動(dòng)方向的端口,分別是水平左轉(zhuǎn)、水平右轉(zhuǎn)、上升、下降,需要24 V的交流電來(lái)驅(qū)動(dòng),而語(yǔ)音識(shí)別結(jié)果的二進(jìn)制序列經(jīng)過(guò)解碼后由單片機(jī)AT89S52的I/O口輸出,其端口電平是0~5 V的直流。為了能使單片機(jī)根據(jù)語(yǔ)音識(shí)別結(jié)果驅(qū)動(dòng)云臺(tái)轉(zhuǎn)動(dòng),在AT89S52和云臺(tái)之間放置一個(gè)電流放大器件ULN2003。ULN2003是大電流、高耐壓達(dá)林頓陣列,包括7個(gè)達(dá)林頓管,在5 V的工作電壓下,能夠與 TTL和CMOS電路直接相連,這樣就可以直接處理原來(lái)需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)[4]。將控制云臺(tái)轉(zhuǎn)動(dòng)方向的4個(gè)端口D_Right、D_Left、D_Up、D_Down 分 別 與 繼 電 器 K1、K2、K3、K4相連,單片機(jī)AT89S52根據(jù)解碼后的語(yǔ)音識(shí)別結(jié)果控制繼電器的斷開(kāi)和閉合,從而控制云臺(tái)轉(zhuǎn)動(dòng)的方向和角度。云臺(tái)轉(zhuǎn)動(dòng)電路圖如圖2所示。
語(yǔ)音識(shí)別播放電路主要由語(yǔ)音芯片LD3320、STC10L08XE單片機(jī)及其他外圍電路構(gòu)成。語(yǔ)音芯片LD3320內(nèi)部固化有完整的非特定人語(yǔ)音識(shí)別特征庫(kù)和高效的非特定人語(yǔ)音識(shí)別搜索引擎模塊,不需要事先訓(xùn)練和錄音。只需要單片機(jī)把候選識(shí)別語(yǔ)句的拼音串傳入芯片內(nèi)部,通過(guò)芯片內(nèi)部的DSP算法,找出最佳識(shí)別結(jié)果。同時(shí)此芯片還支持MP3播放功能,此時(shí)需要外接Flash芯片,用來(lái)存儲(chǔ)播放的聲音素材等數(shù)據(jù)。STC10L08XE單片機(jī)讀取串行存儲(chǔ)芯片的MP3數(shù)據(jù),依次送入LD3320芯片內(nèi)部就可以從芯片的相應(yīng)引腳輸出聲音[3]。STC10L08XE單片機(jī)與語(yǔ)音芯片LD3320之間采用并行的通信方式,故在硬件上需要使用8根數(shù)據(jù)線和4個(gè)控制信號(hào)將語(yǔ)音芯片與單片機(jī)并行連接。
2.4.1 復(fù)位電路
為了保證智能地球儀在每次上電啟動(dòng)或復(fù)位操作后具有唯一確定的位置,故需要為其設(shè)定起始轉(zhuǎn)動(dòng)位置。當(dāng)云臺(tái)轉(zhuǎn)到初始位置時(shí),就給單片機(jī)AT89S52發(fā)送一個(gè)判斷信號(hào),表示復(fù)位完成,可以開(kāi)始語(yǔ)音識(shí)別。本設(shè)計(jì)中利用光電開(kāi)關(guān)完成這一信號(hào)的給定。光電開(kāi)關(guān)利用被檢測(cè)物體對(duì)光束的遮擋或反射檢測(cè)物體的有無(wú),一般包括發(fā)射部分和接收部分。發(fā)射部分由發(fā)光管輻射出光脈沖,接收部分為光敏三極管。當(dāng)沒(méi)有物體遮住時(shí),光敏三極管導(dǎo)通,電阻極??;當(dāng)有物體遮住時(shí),電阻極大[5]。系統(tǒng)設(shè)計(jì)中在云臺(tái)平臺(tái)側(cè)面設(shè)置擋板,初始位置固定光電開(kāi)關(guān),當(dāng)云臺(tái)轉(zhuǎn)至初始位置時(shí),擋板會(huì)正好停在光電開(kāi)關(guān)中央,使光電開(kāi)關(guān)處于截止?fàn)顟B(tài),此時(shí)會(huì)給單片機(jī)一個(gè)信號(hào)(低電平 0),此信號(hào)接在 AT89S52單片機(jī)P3_7引腳。光電開(kāi)關(guān)示意圖如圖3所示。
地球儀轉(zhuǎn)動(dòng)至目標(biāo)國(guó)家時(shí),點(diǎn)亮目標(biāo)國(guó)家首都位置的彩色LED指示燈以增強(qiáng)智能地球儀的演示效果。系統(tǒng)設(shè)計(jì)中選用LED彩燈和譯碼器完成由單片機(jī)AT89S52控制的彩色LED燈點(diǎn)亮電路。單片機(jī)AT89S52接收語(yǔ)音識(shí)別結(jié)果二進(jìn)制序列并作為譯碼電路輸入,輸出則與代表目標(biāo)國(guó)家首都的LED彩燈相連。譯碼電路示意圖如圖4所示。
軟件主要由系統(tǒng)控制主程序和語(yǔ)音識(shí)別播放程序組成。編程時(shí)著重考慮了以下幾個(gè)方面:正確地初始化語(yǔ)音識(shí)別播放程序;正確地分析、判斷、處理識(shí)別結(jié)果;精確地控制云臺(tái)轉(zhuǎn)動(dòng)。
AT89S52單片機(jī)接收語(yǔ)音識(shí)別結(jié)果,并根據(jù)識(shí)別結(jié)果控制云臺(tái)的轉(zhuǎn)動(dòng)。程序中通過(guò)標(biāo)志位g(AT89S52單片機(jī)P3_7腳的信號(hào))來(lái)判斷云臺(tái)是否處于初始位置,通過(guò)對(duì)繼電器通電時(shí)間的控制來(lái)完成對(duì)云臺(tái)轉(zhuǎn)動(dòng)角度的控制。系統(tǒng)控制流程圖如圖5所示。
圖5 系統(tǒng)控制流程圖
每個(gè)國(guó)家都對(duì)應(yīng)著繼電器的閉合時(shí)間,控制云臺(tái)轉(zhuǎn)動(dòng)的角度能使智能地球儀準(zhǔn)確轉(zhuǎn)動(dòng),從而使目標(biāo)國(guó)家正對(duì)用戶(hù)。設(shè)定地球儀上經(jīng)度和緯度為0的位置是初始位置,任一國(guó)家首都所在經(jīng)度為 L,緯度為W,從初始位置轉(zhuǎn)動(dòng)到任一國(guó)家首都所在位置需要的水平時(shí)間為T(mén)H(單位為 s),垂直時(shí)間為 TV(單位為 s,符號(hào)代表方向),測(cè)量得出云臺(tái)水平轉(zhuǎn)動(dòng) 360°需 105 s,垂直轉(zhuǎn)動(dòng) 60°需要18 s。根據(jù)下式可以計(jì)算得出從初始位置轉(zhuǎn)到任一國(guó)家首都位置需要的時(shí)間。
式中,E表示東經(jīng),W表示西經(jīng),+表示北緯,-表示南緯。
由于語(yǔ)音識(shí)別和MP3播放會(huì)使用LD3320芯片的一些公共資源,為了使芯片穩(wěn)定地工作,軟件設(shè)計(jì)在功能切換的時(shí)候,必須從“通用初始化”開(kāi)始,對(duì)芯片進(jìn)行一系列的設(shè)置,避免產(chǎn)生沖突。為了提高識(shí)別精度,可以修改語(yǔ)音芯片寄存器35的值,值越大識(shí)別啟動(dòng)就越敏感,但是會(huì)帶來(lái)更多誤識(shí)別,識(shí)別的正確率降低。為了保證識(shí)別靈敏度的同時(shí)兼顧正確率,系統(tǒng)將寄存器35的值設(shè)置為40H。語(yǔ)音識(shí)別播放流程圖如圖6所示。
圖6 語(yǔ)音識(shí)別播放流程圖
在系統(tǒng)設(shè)計(jì)中為了提高語(yǔ)音采集的質(zhì)量,避免誤識(shí)別,硬件方面采用高精度的麥克實(shí)現(xiàn)語(yǔ)音命令采集,并增加按鍵開(kāi)關(guān)以確認(rèn)有效的語(yǔ)音識(shí)別結(jié)果。該系統(tǒng)已經(jīng)實(shí)現(xiàn)了對(duì)48個(gè)國(guó)家的智能語(yǔ)音控制功能用以效果演示,在此基礎(chǔ)上很容易擴(kuò)展實(shí)現(xiàn)對(duì)更多國(guó)家的語(yǔ)音控制。同時(shí)還可以增加液晶顯示模塊,更加生動(dòng)形象地顯示目標(biāo)國(guó)家的圖片和文字。
系統(tǒng)穩(wěn)定正常的工作具有非常重要的意義。智能地球儀在上電后,讓其連續(xù)不斷地工作48 h,期間隨時(shí)對(duì)其發(fā)出語(yǔ)音命令,測(cè)試能否正確識(shí)別。同時(shí)檢測(cè)是否會(huì)出現(xiàn)程序跑飛的現(xiàn)象,導(dǎo)致死機(jī)。經(jīng)測(cè)試該系統(tǒng)運(yùn)行穩(wěn)定可靠,在長(zhǎng)時(shí)間運(yùn)行過(guò)程中未發(fā)生死機(jī)或程序跑飛等異常情況。
總地來(lái)說(shuō),該智能地球儀系統(tǒng)設(shè)計(jì)思路巧妙,利用一些簡(jiǎn)單的芯片和元器件實(shí)現(xiàn)了相對(duì)復(fù)雜的功能。用戶(hù)可以通過(guò)聲音命令對(duì)地球儀進(jìn)行控制,系統(tǒng)根據(jù)語(yǔ)音識(shí)別結(jié)果來(lái)精確計(jì)算地球儀轉(zhuǎn)動(dòng)的角度,點(diǎn)亮目標(biāo)國(guó)家的LED燈,增強(qiáng)整個(gè)系統(tǒng)的演示效果。實(shí)際應(yīng)用表明,該智能地球儀能夠廣泛應(yīng)用于地理、歷史等學(xué)科教學(xué)和科學(xué)素養(yǎng)拓展教育,滿(mǎn)足學(xué)校教學(xué)多元化和個(gè)性化需求,促進(jìn)教師教學(xué)觀念、手段和方法的更新,激發(fā)學(xué)生的學(xué)習(xí)興趣,促進(jìn)學(xué)習(xí)方式的變革。
[1]劉幺和,宋庭新.語(yǔ)音識(shí)別與控制應(yīng)用技術(shù)[M].北京:科學(xué)出版社,2008.
[2]孫育才,王榮興,孫華芳.ATME新型AT89S52系列單片機(jī)及其應(yīng)用[M].北京:清華大學(xué)出版社,2006.
[3]用聲音去溝通VUI Voice User Inter.LD3320開(kāi)發(fā)手冊(cè)[EB/OL].[2011-8-26].http://www.icroute.com/.
[4]友達(dá)電子.ULN2003[EB/OL].[2011-7-20].http://wenku.baidu.com/view/04568009763231126edb119c.html.
[5]維庫(kù)電子市場(chǎng).光電開(kāi)關(guān)原理及應(yīng)用[EB/OL].[2011-7-20].http://www.dzsc.com/data/html/2007-4-18/12659.html.