智能玩具的設計-聰明寶寶
圖3.3光感輸入電路
3.5 直流電機驅動(dòng)電路
直流電機控制電路比較簡(jiǎn)單。由I/O口輸出信號,通過(guò)NPN型三極管8050反相驅動(dòng)電路去控制電機。其控制電路如圖 3.4所示。二極管起保護作用,防止電機的反向電流過(guò)大擊穿器件。
圖3.4直流電機控制電路
3.6 MIC輸入電路和揚聲器輸出電路
MIC采用駐極體電容話(huà)筒,這種話(huà)筒具有靈敏度高、無(wú)方向性、重量輕、體積小、頻率響應寬、保真度好等特點(diǎn)。SPCE061A內置專(zhuān)門(mén)用于語(yǔ)音信號采集的具有自動(dòng)增益控制放大器(AGC)的麥克風(fēng)輸入通道(MIC_IN)。語(yǔ)音信號經(jīng)麥克風(fēng)轉換成電信號,由隔直電容隔掉直流成分,然后輸入至內部前置放大器,最后通過(guò)ADC轉換成數字信號。 揚聲器采用一般的喇叭,電壓不超過(guò)5V。凌陽(yáng)SPCE061A單片機自帶雙通道DAC音頻輸出,DAC1、DAC2轉換輸出的模擬量電流信號分別通過(guò)AUD1和AUD2管腳輸出,DAC輸出為電流型輸出,61板自帶音頻放大電路,所以外接一喇叭即可。
4軟件設計
4.1 主程序流程及說(shuō)明
整個(gè)系統的外部輸入包括:按鍵、觸摸鍵、感光控制及語(yǔ)音控制,其中語(yǔ)音控制需等到感光喚醒之后才能進(jìn)行。當各控制鍵觸發(fā)后,系統從睡眠狀態(tài)喚醒,通過(guò)判斷標志位,進(jìn)入相應的處理子程序,之后在主程序中不斷檢測,1分鐘內若無(wú)任何操作,則再次進(jìn)入睡眠狀態(tài)。 具體程序中,通過(guò)判斷gKeyDoubleUseSign的值來(lái)確認執行何種操作,當為1時(shí),進(jìn)入鍵處理子程序;為2時(shí),進(jìn)入復用鍵處理程序;為0時(shí),不執行任何操作,認為是出錯或出現異常情況。在鍵處理子程序中,根據標志位gKeyID來(lái)判斷進(jìn)入哪一個(gè)處理程序,如表 4.1所示。
表4.1
gKeyID的值 | 對應處理 |
1 | 左手按鍵處理 |
2 | 背部按鍵處理 |
3 | 臉部觸摸鍵處理 |
4 | 肚部觸摸鍵處理 |
5 | 右手按鍵處理 |
0 | 異常情況 |
主程序包括端口的初始化,提示語(yǔ)音的播放,主循環(huán)以及進(jìn)入睡眠狀態(tài)前中斷的初始化、端口的初始化。 主循環(huán)包括:鍵掃描,判斷標志位及相應子程序,AD轉換及比較。 端口的初始化包括A口和B口的初始化,A口的IOA0~IOA4設置為帶喚醒的下拉電阻輸入,IOA6設置為懸浮輸入的光敏器件輸入端;B口的IOB9設置為低電平輸出,作為T(mén)imerA脈寬調制輸出;其余未使用的端口設置為低電平輸出。 提示語(yǔ)音的播放即“您好”的播放,主要應用于系統重新啟動(dòng)以及復位鍵的觸發(fā),在這里,復位鍵既可當一個(gè)功能按鍵來(lái)使用,也可以在系統無(wú)反應時(shí)當作重啟鍵來(lái)使用。 進(jìn)入睡眠狀態(tài)前的系統初始化包括:端口A(yíng)口的重新初始化,保證系統運行的可靠性;喚醒中斷的允許、開(kāi)中斷;睡眠信號的寫(xiě)入。 其主流程見(jiàn)圖 4.1:
圖 4.1主程序流程圖
4.2 S480語(yǔ)音播放子程序
SACM-S480自動(dòng)方式程序流程如圖 4.2:
圖 4.2 SACM-S480自動(dòng)方式程序流程
4.3 語(yǔ)音的識別及訓練程序流程圖
語(yǔ)音的識別取材于凌陽(yáng)語(yǔ)音庫bsrv222SDL.lib及相關(guān)頭文件,如bsrSD.h。SPCE061只有特定發(fā)音人模式,即只能辨識特定的使用者,辨識前需由單個(gè)人訓練,且最多識別6條命令,序號范圍從0x100到0x105,每條命令只有1.3秒,超出了1.3秒只有前1.3秒命令有效。在本系統中,利用通過(guò)光敏電阻的暗電阻較大,分壓值也較大的原理,產(chǎn)品觸發(fā)后通過(guò)AD采樣,與原環(huán)境光線(xiàn)采集值比較有較大變化時(shí),置標志位,從而在主循環(huán)中進(jìn)入識別模式。而訓練模式通過(guò)左手按鍵經(jīng)IOA0觸發(fā),訓練模塊和語(yǔ)音識別框圖如下所示:
圖4.3 訓練模塊
圖 4.4語(yǔ)音識別框圖
在辨識主循環(huán)中,辨識得到確認后就可以執行相應的處理子程序,整個(gè)流程如圖4.5所示。
評論