第十六課kittenblock語音控制(AIOT)
使用kittenblock擴展功能[文字轉語音]、[翻譯]和[語音識別]的擴充積木來控制腳色動作或硬體。
硬體:Arduino、Micro:bit、……….
軟體:kittenblock 1.84i (win)
*[語音識別]要判斷是否講完一個詞,所以執行時會感覺有點遲頓。
*[語音識別]可以將您說的話轉成文字。
*[文字轉語音]可以將文字轉成聲音播出。
—————————
引起動機:
我們也可以做到喔!
出門不用帶鑰匙,也不用背密碼、按指紋了。
說話就可以開門囉!
https://youtube.com/watch?v=PKLafGeRtUQ
————————————–
1.下載kittenblock 1.84i (win)版,解壓縮,執行。(註1)
2.在網頁左下角點[添加擴展]
3.添加[文字轉語音]、[翻譯]和[語音識別],這三個擴展功能積木。
PS:目前只有支援簡體中文的語音積木,所以先用[翻譯]積木將繁體中文,翻譯成簡體中文,再用簡體中文的語音積木說出來。
4.開始使用擴充積木寫程式。
PS:如果要控制硬體請參考:
http://blog.ilc.edu.tw/blog/blog/868/post/116505/778655
http://blog.ilc.edu.tw/blog/blog/868/post/116505/778654
完成硬體連接。
注意:
[語音識別]需要透過網路傳輸資料進行辨識,執行時請連線上網。
——————————————-
一、讓主角在螢幕上移動
使用語音控制主角在螢幕上移動
1.當綠旗被點一下,設定迴轉方式為[左-右]
2.[重複j無限次],判斷輸入的語音指令要做要做什麼動作。
3.使用[收聽並等待]積木,等待語音輸入,畫面會出現紅色麥克風
4.使用[語音文本]積木,讓說出來的話,由程式轉換為文字。
5.使用[字串(……)包含(……)?]積木,只要說出來的控制語含有關鍵字就可以執行。
注意:
積木區的[語音文本]積木前口,請打勾,
舞台區就會出現語音識別後的文字,可以確認語音轉換是否正確。
程式下載:語音移動6.sb3
延伸:
1.說話讓角色改變大小
2.說話讓角色改變顏色
———————————-
以下範例摘自使用WFduino程式語音控制:
http://blog.ilc.edu.tw/blog/blog/868/post/97509/644624
請直接參考仿作
二、聲控走迷宮
使用語音控制主角在螢幕上走迷宮。
聲控指令:往上走,往下走,往右走,往左走
只要說出指令就可以控制螢幕上的小貓走迷宮。
主畫面
程式說明:
1.當綠旗被點一下,使用[監聽語音]啟動語音轉換。
2.設定小貓起始位置。
3.[重複執行],判斷輸入的語音指令要做要做什麼動作。
使用[語音文字]積木,讓說出來的話,由程式轉換為文字。
4.如果碰到黑線,就退回原位。
5.當走到終點遇到蛋糕就停止程式。
延伸:
使用[語音文字]積木,讓說出來的話,由程式轉換為文字後,會重複執行同一個指令,無法停止。要如何讓下一個能夠指令執行?
三、應聲蟲
會學你說話的應聲蟲
1.當綠旗被點一下,[清空語音文字],將之前存的語音資料清除。
2.使用[監聽語音]啟動語音轉換。
3.[重複執行],使用[語音文字]積木,讓說出來的話,由程式轉換為文字。
4.再用[說….] 積木將剛剛轉換的文字說出來。
四、聲控霹靂燈
聲控讓Arduino 板子上的LED依序閃亮又熄滅
接線圖
將18顆LED的短腳(負極)接麵包板同一邊,再串接串接220歐姆電阻後接地(GND)。
18顆LED的長腳(正極)分別接D2~D13和A0~A5,由這18個腳位來控制輸出電位,讓LED亮或滅。
將原來是類比輸入的A0~A5也當成數位輸出的D14~D19
1.當綠旗被點一下,使用[監聽語音]啟動語音轉換
2.設定變數[亮燈]來決定該輪到哪一顆LED燈要亮。
3.重複18次[腳位(…)模式為OUTPUT],將D2到D19設定為數位輸出
4.使用[語音文字]積木來讓程式判斷要做什麼動作
5.如果說[霹靂燈]就讓LED輪流閃,直到說[停止]才不閃。
6.LED輪流閃的程式說明:
6.1重複18次[腳位(…) 數位輸出1]、[腳位(…)數位輸出0]、[將變數亮燈改變(1)],讓D2到D19輪流亮、滅
6.2[重複執行],讓上面LED亮、滅的動作重複進行。
請學生思考有18顆LED,為什麼重複執行只有17次?
試試看改變重複執行為18次,觀察有什麼不一樣?
五、聲控開、關燈
利用語音控制來啟動繼電器,控制電燈開或關。
Arduino端接線圖
使用[語音識別]積木來控制繼電器動作。
由數位腳7來控制繼電器的開和關。
先將[腳位7模式設為OUTPUT]。
使用[監聽語音]啟動語音轉換。
重複執行監聽語音,使用[語音文字]積木來讓程式判斷要做什麼動作,要開,還是要關。
使用[語音文字]積木來讓程式判斷要做什麼動作
如果說[開燈]就讓腳位7輸出為1(高電位),讓繼電器連接的電器打開(檯燈亮)。
如果說[關燈]就讓腳位7輸出為0(低電位),讓繼電器連接的電器關閉(檯燈暗)。
如果插座改插其他電器,一樣可以做控制。
家電控制插座製作,請看WFduino第十三課(繼電器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096
———————-
註1:
kittenblock 1.84i (win)版下載
下載後,直接解壓縮,產一個資料匣,直接開啟(Kittenblock.exe),開始使用。
——————————————–
註2:
更新韌體:(只要第一次做就好)
———————————————–
先將硬體(Micro:bit )用USB線連接到電腦。
開啟Kittenblock
1.點[沒有找到硬體],選擇要連接的硬體名稱,[Microbit Python],[serial]
PS:
1.直接透過USB線控制Micro:bit,所以選[serial]
2.如果要透過藍芽控制Micro:bit,就要選[ble]
2.點[沒有連接]或[驚嘆號]
3.出現裝置連接的畫面,點[開始連線]
積木區自動載入[Micro:bit ]擴充積木
5.點[升級韌體]
將韌體燒錄到Micro:bit
完成後就可以開始拉積木寫程式,執行。
注意:
1.確定下面截圖3個藍色框是否正確。
2.如果沒有做其他燒錄,只要第一次做就好。
之後要寫程式,只要接好Micro:bit ,不需要再做燒錄韌體動作
———————————-
相關連結:
kittenblock(microbit)課程目錄(scratch3)
http://blog.ilc.edu.tw/blog/blog/868/post/10898/778778
Scratch3控制外部感應器概論
http://blog.ilc.edu.tw/blog/blog/868/post/113115/778543
micro:bit與robotbit擴展板
http://blog.ilc.edu.tw/blog/blog/868/post/112597/741365
kittenblock(Arduino)第一課
http://blog.ilc.edu.tw/blog/blog/868/post/116505/778654
kittenblock(microbit)第0課(概論)
http://blog.ilc.edu.tw/blog/blog/868/post/116505/778655
kittenblock(microbit)多板控制
http://blog.ilc.edu.tw/blog/blog/868/post/116505/778705
設計視訊互動遊戲超簡單
http://blog.ilc.edu.tw/blog/blog/868/post/10898/621592
Arduino(WFduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433
WFduino第十九課語音控制
http://blog.ilc.edu.tw/blog/blog/868/post/97509/644624
聲控走迷宮
http://blog.ilc.edu.tw/blog/blog/868/post/97509/730472
kittenblock語音控制(AIOT)
http://blog.ilc.edu.tw/blog/blog/868/post/116505/778730