我的創(chuàng)客初體驗(yàn)_第1頁
我的創(chuàng)客初體驗(yàn)_第2頁
我的創(chuàng)客初體驗(yàn)_第3頁
我的創(chuàng)客初體驗(yàn)_第4頁
我的創(chuàng)客初體驗(yàn)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

我的創(chuàng)客初體驗(yàn)低學(xué)齡孩子寫作業(yè)往往是一件令家長頭疼的事。孩子們寫一會(huì)兒作業(yè)就喊著要吃東西、喝水或是上廁所,不能高效安靜地完成作業(yè),家長們看著只能干著急。孩子小,注意力不集中是其中的原因之一。那么,怎樣訓(xùn)練孩子的注意力,使其能夠?qū)W⒌貙懽鳂I(yè)呢?筆者設(shè)計(jì)了一款培養(yǎng)孩子專注力的作品,現(xiàn)分享如下。●設(shè)計(jì)思路具體的設(shè)計(jì)思路是:①在孩子準(zhǔn)備寫作業(yè)前,提醒孩子做好準(zhǔn)備。②孩子寫作業(yè)過程中,若有交互需求,給3次機(jī)會(huì)和孩子交流,并溫馨提醒孩子專心寫作業(yè)。③倒計(jì)時(shí)。默認(rèn)給孩子20分鐘時(shí)間專心寫作業(yè),倒計(jì)時(shí)時(shí)間到了,詢問作業(yè)寫好了沒有,若孩子作業(yè)寫完了,給予孩子表揚(yáng),鼓勵(lì)孩子的進(jìn)步;若孩子作業(yè)沒有完成,也要用激勵(lì)性的語言給孩子加油,同時(shí)提醒孩子休息10分鐘,為下一段學(xué)習(xí)時(shí)間做好準(zhǔn)備。④其他簡單的語音交互功能。⑤簡單娛樂功能,如語音點(diǎn)播歌曲?!裣到y(tǒng)硬件設(shè)計(jì)1.硬件準(zhǔn)備(1)Arduino主控板筆者選擇了Arduino平臺(tái)的Nano板作為主控板。Nano是一款基于ATmega328P的開發(fā)板,它有14路數(shù)字輸入輸出口,6路模擬輸入口,支持串口、I2C接口和SPI接口三種通信方式,方便外接各種傳感器,小巧而又便宜,適合編程造物。為了方便調(diào)試和使用,系統(tǒng)還選配了一塊擴(kuò)展板(如圖1)。(2)語音識(shí)別模塊自動(dòng)語音識(shí)別技術(shù)(AutomaticSpeechRecognition)是一種將人的語音轉(zhuǎn)換為文本的技術(shù),簡稱ASR。本作品大量使用了語音識(shí)別功能,筆者選擇了圖2這款語音識(shí)別模塊,它是一款非特定人語音識(shí)別模塊,只需要在主控MCU的程序中設(shè)定好要識(shí)別的關(guān)鍵詞語列表,并動(dòng)態(tài)地把這些關(guān)鍵詞語以字符的形式傳送到芯片內(nèi)部,就可以對(duì)用戶說出的關(guān)鍵詞語進(jìn)行識(shí)別。它具有不需要用戶事先訓(xùn)練和錄音、不需要聯(lián)網(wǎng)就可實(shí)現(xiàn)離線語音識(shí)別、響應(yīng)速度快等優(yōu)點(diǎn)。該模塊可以設(shè)置50個(gè)詞條,每個(gè)詞條可以是單字、詞組或短句,長度不超過10個(gè)漢字或者79個(gè)字母。該語音識(shí)別模塊集成了LD3320芯片以實(shí)現(xiàn)漢語語音識(shí)別,有循環(huán)檢測模式、口令檢測模式和按鈕檢測模式三大識(shí)別檢測模式,適應(yīng)不同的應(yīng)用場景。它采用了I2C總線接口,節(jié)省了主控板的IO口,能夠方便地與主控芯片進(jìn)行通信。(3)DS1302時(shí)鐘模塊(4)TM1650四位數(shù)碼管(帶冒號(hào))為方便顯示實(shí)時(shí)時(shí)間,系統(tǒng)選用了數(shù)碼管(如圖4),而TM1650四位數(shù)碼管采用I2C總線接口,只占用單片機(jī)兩個(gè)IO口,減少了主控板IO口的占用。(5)MP3語音模塊及TF卡語音輸出是語音交互必不可少的,為節(jié)約成本,作品中選用了如圖5所示的MP3語音模塊,使用前將需要輸出的語音內(nèi)容列出清單,使用語音合成工具軟件生成MP3文件,需要播放語音時(shí)用主控板按文件名的方式控制本模塊播放TF卡中對(duì)應(yīng)的MP3文件。(6)微型數(shù)字功放模塊MP3模塊播放的聲音較小,只能供耳機(jī)使用,不能驅(qū)動(dòng)喇叭,為驅(qū)動(dòng)小喇叭播放交互的語音,系統(tǒng)中使用了如圖6所示的微型數(shù)字功放模塊。它是D類功放,效率極高,可配4-8歐姆2-8瓦的喇叭。(7)小喇叭如下圖頁7所示是4Ω3W的小喇叭。2.硬件連接硬件連接如下頁圖8所示。為方便各功能模塊的連接與調(diào)試,筆者選配了Nano擴(kuò)展板,步驟如下:①將Nano主控板插到擴(kuò)展板中;②將各功能模塊接入擴(kuò)展板的引腳上;③將DS1302時(shí)鐘模塊的CLK、DAT和RST引腳分別接入擴(kuò)展板數(shù)字接口11、10和9引腳;④將MP3語音模塊RX、TX引腳分別接入擴(kuò)展板串口的TX、RX引腳;⑤將MP3語音模塊的L、R引腳分別接入微型數(shù)字功放的L、R引腳;⑥將各模塊中的5V、VCC引腳接入擴(kuò)展板中對(duì)應(yīng)的5V引腳;⑦將各模塊中的GND引腳接入擴(kuò)展板中的GND引腳。由于擴(kuò)展板只有一個(gè)I2C通信接口,但TM1650四位數(shù)碼管模塊和語音識(shí)別模塊都使用了I2C通信方式,經(jīng)查閱資料后筆者發(fā)現(xiàn),擴(kuò)展板上I2C接口的SDA、SCL引腳實(shí)際上是和A4、A5引腳連通的,所以將TM1650模塊的SDA和SCL引腳分別接入擴(kuò)展板的A4、A5引腳,將語音識(shí)別模塊的SCL、SDA引腳分別接入擴(kuò)展板的對(duì)應(yīng)SCL、SDA引腳,主控板依據(jù)它們的地址訪問這兩個(gè)模塊,互不干擾。由于Nano板上傳程序是通過串口與電腦通信的,而系統(tǒng)中MP3模塊也是通過串口通信,在上傳程序時(shí)會(huì)出現(xiàn)沖突。在上傳程序時(shí),將MP3模塊的電源線暫時(shí)從擴(kuò)展板上拔下即可解決串口通信沖突的問題。3.造型設(shè)計(jì)●系統(tǒng)軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)基于ArduinoIDE軟件開發(fā)環(huán)境,使用C/C++編程語言。Arduino有豐富的庫文件以供開發(fā)使用,利用庫文件簡化了程序開發(fā)工作。整個(gè)系統(tǒng)的軟件設(shè)計(jì)可以分為五個(gè)部分:初始化模塊、主循環(huán)loop函數(shù)、語音識(shí)別(ASR)功能模塊、其他功能函數(shù)和其他功能模塊程序。下面對(duì)軟件系統(tǒng)的各個(gè)子模塊分別加以闡述。1.初始化模塊初始化模塊主要完成系統(tǒng)的初始化工作。各種標(biāo)準(zhǔn)庫頭文件的引入、全局變量的定義、時(shí)鐘模塊等各種對(duì)象的實(shí)例化都是在此模塊中完成的。需要注意的是,系統(tǒng)時(shí)間的設(shè)置和詞條的錄入也是在本模塊中完成的。但系統(tǒng)時(shí)間的設(shè)置和詞條的錄入不必每次都去編譯,因此筆者這里使用了條件編譯#if指令,預(yù)處理器可以在編譯前處理c程序,這樣的處理不會(huì)在目標(biāo)代碼中占用空間,減少程序運(yùn)行時(shí)間。例如,要修改系統(tǒng)語音識(shí)別的關(guān)鍵字詞條,只需要將“#if0”修改成“#if1”,編譯時(shí)即可調(diào)用ASR對(duì)象的AddWords()方法將新的詞條燒錄進(jìn)語音識(shí)別模塊。2.主循環(huán)loop函數(shù)主程序主要負(fù)責(zé)整個(gè)系統(tǒng)的時(shí)序流程。流程大致分三個(gè)部分:①調(diào)用displayTime函數(shù),更新數(shù)碼管,按“時(shí):分”的模式顯示實(shí)時(shí)的時(shí)間信息;②調(diào)用isTime函數(shù),判斷是否有倒計(jì)時(shí)時(shí)間到了,若時(shí)間到了則語音提示“時(shí)間到”;③監(jiān)聽語音,并根據(jù)語音識(shí)別的結(jié)果執(zhí)行相應(yīng)的處理。圖10為系統(tǒng)主程序流程圖。3.語音識(shí)別功能模塊幻爾科技提供了語音識(shí)別模塊的Arduino參考例程,筆者將其改造成了語音識(shí)別模塊頭文件和語音識(shí)別模塊函數(shù)實(shí)現(xiàn)兩個(gè)子模塊,方便系統(tǒng)的使用。(1)語音識(shí)別模塊頭文件(ASR.h)語音識(shí)別模塊頭文件主要完成ASR類的聲明和宏定義,這里有語音識(shí)別模塊中需要的成員函數(shù)的聲明和各類地址、參數(shù)的宏定義。(2)語音識(shí)別模塊函數(shù)實(shí)現(xiàn)部分(ASR.CPP)本模塊單元的主要內(nèi)容是語音識(shí)別類(ASR)的成員函數(shù)的實(shí)現(xiàn)。增刪、修改語音識(shí)別關(guān)鍵字詞條的成員函數(shù)AddWords()就在此模塊中,當(dāng)需要修改關(guān)鍵字詞條時(shí),只需先在此模塊中增刪、修改AddWords()中的詞條,然后將初始化模塊中的條件編譯“#if0”修改成“#if1”,編譯時(shí)即可將新的詞條錄入語音識(shí)別模塊中。在函數(shù)ASRAddWords(unsignedcharidNum,unsignedchar*words)中,idNum是詞條對(duì)應(yīng)的識(shí)別號(hào),1~255隨意設(shè)置。當(dāng)識(shí)別到該號(hào)碼對(duì)應(yīng)的詞條語音時(shí),模塊會(huì)將識(shí)別號(hào)存放到ASR_RESULT_ADDR處,等待主機(jī)讀取,讀取后清0,words為要識(shí)別漢字詞條的拼音,漢字之間用空格隔開。4.其他功能函數(shù)為實(shí)現(xiàn)系統(tǒng)的功能,軟件系統(tǒng)中還設(shè)計(jì)了一些其他的功能函數(shù):①我要寫作業(yè)函數(shù)(iWanttoWork)實(shí)現(xiàn)寫作業(yè)的整個(gè)交互流程;②displayTime函數(shù)實(shí)現(xiàn)數(shù)碼管更新顯示實(shí)時(shí)時(shí)間功能;③倒計(jì)時(shí)函數(shù)(daoJiShi)和時(shí)間到了函數(shù)(isTime)實(shí)現(xiàn)設(shè)置倒計(jì)時(shí)時(shí)間和判斷倒計(jì)時(shí)時(shí)間是否到了的功能。下頁圖11為“iWanttoWork”功能函數(shù)的流程圖。5.其他功能模塊程序本系統(tǒng)中還使用了其他的功能模塊,諸如MP3音頻模塊、DS1302時(shí)鐘模塊、TM1650數(shù)碼管模塊。但由于在Arduino平臺(tái)上使用這些模塊很方便,相比語音識(shí)別模塊這些模塊的頭文件和范例程序在ArduinoIDE中很容易獲取和使用,在此就不一一闡述了。在ArduinoIDE上獲取所需模塊的庫文件的方法:項(xiàng)目→加載庫→管理庫,在彈出的“庫管理器”窗口中輸入關(guān)鍵詞即可搜索到所需的庫文件。本文主要對(duì)基于Arduino和語音識(shí)別(ASR)的專注力提升神器的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了闡述。系統(tǒng)的設(shè)計(jì)工作主要包括系統(tǒng)硬件平臺(tái)的搭建和軟件的實(shí)現(xiàn)。經(jīng)過反復(fù)測試和修改,該系統(tǒng)在無噪或低噪環(huán)境下運(yùn)行良好,可以實(shí)現(xiàn)非特定人聲語音識(shí)別和交互,識(shí)別精度非常高,系統(tǒng)各項(xiàng)功能運(yùn)行正常,能實(shí)現(xiàn)陪伴孩子寫作業(yè)、提高孩子寫作業(yè)時(shí)的專注力、幫助孩子養(yǎng)成良好習(xí)慣的設(shè)定目標(biāo)。[1]ArduinoNano引腳分配圖及定義詳解DB/[EB/OL].https:///malcolm_110/article/details/95320094,2019-7-10.[2]深圳市幻爾科技有限公司.語音

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論