大姚
你或許想象著有一天在家里可以這樣:躺在沙發(fā)上想看電視節(jié)目時,說一聲“我想看最近最火的電視劇”,對應的電視節(jié)目就被自動搜索出來給你播放;困了,說一聲“我要睡覺了”,電視機自動關閉,門窗也自動關上。與機器進行語音交流,讓機器明白你說的話,這是人們長期以來夢寐以求的事情。語音識別技術就是讓機器通過識別和理解過程把語音信號轉(zhuǎn)變?yōu)橄鄳奈谋净蛎畹募夹g。然而,語音控制類的智能硬件產(chǎn)品在很多情況下因語音交互體驗不佳而備受詬病,如識別距離近、識別率低。盡管有著諸多不盡人意的缺憾,人們依然對語音識別技術充滿了期待。本期,我們來制作一款簡單的語音控制燈,以體驗一下語音識別技術帶來的奇妙感受。
準 備 材 料
Arduino控制器(DFRDuino UNO R3),中文語音識別擴展板,5V電磁繼電器,12V燈泡,電源適配器,杜邦線,連接端子2套。
中文語音識別擴展板
這款語音識別擴展板只需要在主控MCU的程序中設定好要識別的關鍵詞語列表,并動態(tài)地把這些關鍵詞語以字符的形式傳送到芯片內(nèi)部,就可以對用戶說出的關鍵詞語進行識別,不需要用戶事先訓練和錄音。它可以設置50項候選識別句,每個識別句可以是單字、詞組或短句,長度不超過10個漢字或者79個字母的拼音串,可由一個系統(tǒng)支持多種場景。
該語音識別擴展板采用疊層設計,可以直接插接到Arduino控制器上。
電磁繼電器
電磁繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成。只要在線圈兩端加上一定的電壓,線圈中就會流過一定的電流,從而產(chǎn)生電磁效應,銜鐵就會在電磁力的作用下克服返回彈簧的拉力被吸向鐵芯,動觸點與靜觸點吸合。
當線圈斷電后,電磁吸力隨之消失,銜鐵就會在彈簧的作用下返回原來的位置,動觸點與靜觸點分開。
這樣通過動觸點與靜觸點之間的吸合、分開,達到讓電路導通、切斷的目的。
對于繼電器的常開、常閉觸點,可以這樣來區(qū)分:繼電器線圈未通電時處于斷開狀態(tài)的靜觸點,稱為常開觸點;處于接通狀態(tài)的靜觸點稱為常閉觸點。
制 作 過 程
1. 將中文語音識別擴展板插在Arduino控制器上面。中文語音識別擴展板的紅色和藍色的排針分別插到Arduino控制器對應的I/O排座上。
2. MR16 LED燈泡是直流12V驅(qū)動的燈具,在其頂部有4顆LED燈珠通過磨砂的透鏡結(jié)構(gòu)出光,出射角度較小。其底部有兩根針腳,用于電源輸入。
將MR16 LED燈泡的針腳插在插座上,以便接入12V直流電。
3. 用一根杜邦線連接到電磁繼電器輸出端的公共端。
4. 將MR16插座兩根線中的一根連接到繼電器輸出端的常開端。
5. 用3根杜邦線連接到電磁繼電器的三個輸入端(VCC, GND,IN),然后分別接5V、GND和Arduino控制板的8號I/O端。電磁繼電器輸出端的公共端接Arduino控制板的VIN端,采用12V直流供電.
6. 為進行效果演示,筆者僅做了一個簡單的盒子,將連接好的元器件放入其中,連接好電源適配器。
7. 給Arduino控制器下載控制程序。
先通過D口USB線(藍色數(shù)據(jù)線)連接電腦和Arduino控制器,再下載中文語音識別擴展板庫文件(下載地址:https://github.com/tyjjr/voiceRecognition1.1/),將其解壓在C:\Program Files (x86)\Arduino\libraries。
8.在電腦上運行Arduino,打開VoiceLEDLighting.ino文件(下載地址:https://pan.baidu.com/s/1jHLnqYU)。
9. 打開菜單欄中的“工具”選項,點擊“板卡”選項,選擇Arduino控制器的型號(這里是Arduino Uno)。
10. 選擇Arduino控制器與電腦的連接端口。為了判斷連接是否正確,可以通過插拔USB線,查看COM口。
連接Arduino與電腦時,新增的COM口即為Arduino的通信端口。
11. 點擊“文件”下拉面板中的“上傳”,將程序上傳到Arduino控制器,上傳成功后即可脫離電腦運行。體驗一下語音控制的便捷吧!
程 序 原 理
裝置通電后,程序會實時監(jiān)聽語音信號。
本程序中分別設置“kai deng”和“guan deng”作為開、關燈的語音輸入口令,你也可以根據(jù)個人喜好使用其他語音輸入口令。
當聽到“kai deng”的語音輸入時,程序?qū)⒅噶蠲钪谩?”,同時在Arduino控制板的8號I/O端輸出高電平,5V繼電器通電,使得常開開關閉合,從而接通燈泡的電源,點亮燈泡。當聽到“guang deng”的語音輸入時,程序?qū)⒅噶蠲钪谩?”,同時在Arduino控制板的8號I/O端輸出低電平,5V繼電器斷電,使得常開開關復位,從而斷開燈泡的電源,關閉燈泡。endprint