◎北京市東城區(qū)和平里第一小學 劉宗益
2021年,我參加“我的冬奧夢”小記者國際營比賽并獲得了北京賽區(qū)一等獎和全國“冬奧小記者”稱號。在學習并記憶冰雪運動和2022年北京冬奧會場館方面的知識時,我產(chǎn)生了一個強烈的想法,希望利用自己在科技社團學到的單片機開發(fā)方面的知識,設計制作一種能與人語音互動、幫助大家學習冬奧知識的小機器人。
在老師和家長的指導下,我進行課題立項、檢索資料、制訂計劃,不斷學習新知識,終于制作出基于人機語音交互功能的北京冬奧智能小展館(下稱“智能小展館”),實現(xiàn)了自己的設想。
“智能小展館”中有3個虛擬人物:2022年北京冬奧會機器人館長(簡稱“北京機長”)、“冰墩墩”、“雪容融”。北京機長是“智能小展館”的控制者,“冰墩墩”和“雪容融”是講解員。
我們可以通過說出關(guān)鍵詞與虛擬人物進行人機交互,實現(xiàn)控制人物出現(xiàn)、講解開始或停止、介紹2022年北京冬奧會比賽項目和場館、展館關(guān)燈、展示結(jié)束等功能。
“智能小展館”可通過圖像顯示、合成語音播放、圖標彩燈指引、角色動作等形式,介紹2022年北京冬奧會比賽場館和運動項目等知識,還能在完成一定數(shù)量的項目講解后,播報獎牌榜消息。
Arduino Uno控制器連接離線語音識別模塊,離線語音識別模塊識別到語音,便與程序中的關(guān)鍵詞進行比對,匹配后生成返回值,傳送給控制器和MP3播放器??刂破鞲鶕?jù)返回值控制LED燈帶、串口顯示屏、舵機執(zhí)行相應指令,同時控制MP3播放器播放相應文件編號的語音。
圖1 作品設計原理圖
我選用了一款基于Arduino Uno的帶顯示器的語音識別垃圾分類套件,在它的基礎(chǔ)上進行改制。另外,我還準備了兩個SG90舵機、一條WS2812燈帶、連接卡扣、一個給Arduino Uno引腳直接供電的5 V電源模塊、2500 mA的鋰電池和杜邦線。
表1 電子硬件清單
圖2 電子硬件連接圖
我將語音識別模塊的UART接口——TX1、RX1、5V、接地接口分別連接主控板的數(shù)字引腳2、數(shù)字引腳3、5V、接地接口;將BUSY、TX2引腳分別連接MP3播放器的BUSY、RX引腳;將串口顯示屏的UART接口——TX、RX、5V、接地接口分別連接主控板的數(shù)字引腳4、數(shù)字引腳5、5V、接地接口;將LED燈帶連接數(shù)字引腳6;將舵機1連接數(shù)字引腳10;將舵機2連接數(shù)字引腳11。
我用彩色打印機在透明不干膠紙上打印2022年北京冬奧會運動項目圖標(下稱圖標)。在KT板四周切出圖標大小的長方形板,切后的KT板上的長方形孔之間的距離與LED燈帶上兩燈的間距一致。然后,又在KT板中間切出串口顯示屏大小的長方形板,可使串口顯示屏嵌入KT板中間的長方形孔中。
接著,我將打印的圖標貼在KT板四周的長方形孔上。將冰墩墩和雪容融卡片粘在適當長度的吸管上,再將兩根吸管分別插在兩個舵機的轉(zhuǎn)臂上。
為了美觀,我設計了中式大門和門匾圖,也打印在透明不干膠紙上,再粘在亞克力板上。然后,我將LED燈帶剪成分別帶有5個燈、2個燈、6個燈、2個燈的四段,用卡扣將其連接后粘在切有長方形孔的KT板背面,LED燈和圖標的位置需相互對應。
我在亞克力盒內(nèi)墊一塊KT板,按照各模塊的尺寸在KT板的適當位置開孔,再將所有的模塊嵌入。接著,將粘有圖標的KT板插在冰墩墩和雪容融卡片下面,同時扣在串口顯示屏邊框上,最后蓋上“中式大門”和“門匾”。
我采用錄音或合成語音的方式制作MP3語音文件,文件按要求編號上傳至MP3播放器配置的TF卡,內(nèi)容示例見圖5。
圖3 作品內(nèi)部結(jié)構(gòu)圖
圖4 作品實物圖
顯示屏圖像文件需使用廠家官網(wǎng)下載的制作軟件來制作。在網(wǎng)上搜索下載相關(guān)圖片后進行編輯,之后上傳到串口顯示屏中。
程序的主要功能是開啟語音識別模式,并監(jiān)聽語音識別模塊串口。應用循環(huán)條件判斷語句,實現(xiàn)語音識別模塊識別到不同的關(guān)鍵詞后,控制MP3播放器、串口顯示屏、LED燈帶、舵機執(zhí)行關(guān)鍵詞對應的指令。
程序還包含了設置語音識別模塊和串口顯示屏控制函數(shù)的兩個頭文件,它們需與軟串口函數(shù)庫、控制燈帶的Fastled第三方庫、舵機Servo函數(shù)庫一同在程序開始時導入。
圖5 語音內(nèi)容示例
我測試作品“智能小展館”,作品系統(tǒng)運行穩(wěn)定,各功能單元正常工作。語音識別效果體驗良好,在1米以內(nèi)的安靜環(huán)境下使用,準確率在95%以上,在嘈雜的環(huán)境下通過設置屏蔽詞、穩(wěn)定音量等方法可一定程度地降低誤識率。
接下來,我希望能應用大容量語料庫的語音識別模塊,或者開發(fā)物聯(lián)網(wǎng)功能實現(xiàn)在線語音識別,增加應用主題和傳播內(nèi)容,提高語音識別準確率,增強智能交互體驗。
老師推薦:
作者制作作品運用了單片機控制和編程的基礎(chǔ)知識,嘗試了多個智能模塊的應用,表現(xiàn)出很強的自學能力和創(chuàng)新能力。作品緊扣時代主題,實現(xiàn)了人工智能交互功能,使用者體驗感良好。