新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 智能玩具的設計-聰明寶寶

        智能玩具的設計-聰明寶寶

        作者: 時間:2012-06-09 來源:網絡 收藏

        點擊在新窗口中瀏覽產品
        圖3.3光感輸入電路

        3.5 直流電機驅動電路
        直流電機控制電路比較簡單。由I/O口輸出信號,通過NPN型三極管8050反相驅動電路去控制電機。其控制電路如圖 3.4所示。二極管起保護作用,防止電機的反向電流過大擊穿器件。

        點擊在新窗口中瀏覽產品
        圖3.4直流電機控制電路

        3.6 MIC輸入電路和揚聲器輸出電路
        MIC采用駐極體電容話筒,這種話筒具有靈敏度高、無方向性、重量輕、體積小、頻率響應寬、保真度好等特點。內置專門用于語音信號采集的具有自動增益控制放大器(AGC)的麥克風輸入通道(MIC_IN)。語音信號經麥克風轉換成電信號,由隔直電容隔掉直流成分,然后輸入至內部前置放大器,最后通過ADC轉換成數字信號。 揚聲器采用一般的喇叭,電壓不超過5V。凌陽單片機自帶雙通道DAC音頻輸出,DAC1、DAC2轉換輸出的模擬量電流信號分別通過AUD1和AUD2管腳輸出,DAC輸出為電流型輸出,61板自帶音頻放大電路,所以外接一喇叭即可。

        4軟件設計
        4.1 主程序流程及說明
        整個系統的外部輸入包括:按鍵、觸摸鍵、感光控制及語音控制,其中語音控制需等到感光喚醒之后才能進行。當各控制鍵觸發后,系統從睡眠狀態喚醒,通過判斷標志位,進入相應的處理子程序,之后在主程序中不斷檢測,1分鐘內若無任何操作,則再次進入睡眠狀態。 具體程序中,通過判斷gKeyDoubleUseSign的值來確認執行何種操作,當為1時,進入鍵處理子程序;為2時,進入復用鍵處理程序;為0時,不執行任何操作,認為是出錯或出現異常情況。在鍵處理子程序中,根據標志位gKeyID來判斷進入哪一個處理程序,如表 4.1所示。
        表4.1

        gKeyID的值 對應處理
        1 左手按鍵處理
        2 背部按鍵處理
        3 臉部觸摸鍵處理
        4 肚部觸摸鍵處理
        5右手按鍵處理
        0 異常情況

        主程序包括端口的初始化,提示語音的播放,主循環以及進入睡眠狀態前中斷的初始化、端口的初始化。 主循環包括:鍵掃描,判斷標志位及相應子程序,AD轉換及比較。 端口的初始化包括A口和B口的初始化,A口的IOA0~IOA4設置為帶喚醒的下拉電阻輸入,IOA6設置為懸浮輸入的光敏器件輸入端;B口的IOB9設置為低電平輸出,作為TimerA脈寬調制輸出;其余未使用的端口設置為低電平輸出。 提示語音的播放即“您好”的播放,主要應用于系統重新啟動以及復位鍵的觸發,在這里,復位鍵既可當一個功能按鍵來使用,也可以在系統無反應時當作重啟鍵來使用。 進入睡眠狀態前的系統初始化包括:端口A口的重新初始化,保證系統運行的可靠性;喚醒中斷的允許、開中斷;睡眠信號的寫入。 其主流程見圖 4.1:

        點擊在新窗口中瀏覽產品
        圖 4.1主程序流程圖

        4.2 S480語音播放子程序
        SACM-S480自動方式程序流程如圖 4.2:

        點擊在新窗口中瀏覽產品
        圖 4.2 SACM-S480自動方式程序流程

        4.3 語音的識別及訓練程序流程圖
        語音的識別取材于凌陽語音庫bsrv222SDL.lib及相關頭文件,如bsrSD.h。SPCE061只有特定發音人模式,即只能辨識特定的使用者,辨識前需由單個人訓練,且最多識別6條命令,序號范圍從0x100到0x105,每條命令只有1.3秒,超出了1.3秒只有前1.3秒命令有效。在本系統中,利用通過光敏電阻的暗電阻較大,分壓值也較大的原理,產品觸發后通過AD采樣,與原環境光線采集值比較有較大變化時,置標志位,從而在主循環中進入識別模式。而訓練模式通過左手按鍵經IOA0觸發,訓練模塊和框圖如下所示:

        點擊在新窗口中瀏覽產品
        圖4.3 訓練模塊
        點擊在新窗口中瀏覽產品
        圖 4.4框圖

        在辨識主循環中,辨識得到確認后就可以執行相應的處理子程序,整個流程如圖4.5所示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岳阳县| 梨树县| 乌苏市| 许昌县| 二连浩特市| 岳普湖县| 乌拉特后旗| 湖口县| 林甸县| 娄烦县| 安平县| 江城| 株洲县| 沁水县| 蓬溪县| 新巴尔虎左旗| 民和| 日照市| 买车| 株洲市| 六盘水市| 汾西县| 肥西县| 昌宁县| 拜泉县| 井冈山市| 梁河县| 夏河县| 马关县| 女性| 怀柔区| 高碑店市| 柘荣县| 龙山县| 平阴县| 秀山| 玛纳斯县| 五指山市| 望谟县| 青田县| 扎鲁特旗|