WFduino第十九課語音控制(for scratch2.0)

使用WFduino的[監聽語音]和[語音文字]擴充積木來控制動作。

硬體:chromebook、win7、Mac都可以

軟體: Scatch2.0(線上或離線都可以)+WFduino

*語音辨識要判斷是否講完一個詞,所以執行時會感覺有點遲頓。

*語音功能可以將您說的話轉成文字,也可以將文字轉成聲音播出。

*說話轉成文字,各系統都可以做到中英文語音轉文字。

*文字轉成聲音目前win7和chromebook只能說英文,win10及Mac可以說中文。

————————————–

啟動WFduino APP

——————————–——

1.開啟chrome瀏覽器, 啟動WFduino APP(如果有設書籤列,在書籤列的應用程式裡)

2.在APP上面,[雲端積木]前面的方框,按一下滑鼠左鍵,打勾

3.點下面[範本下載Scratch2.0],下載範本檔案

4.開啟Scatch2.0(線上或離線都可以)

5.開啟剛剛的範本檔(WFduinoScratch2.sb2)。(點[更多積木],看到下面亮[綠燈]

請確認APP上面的[scratch2 已連接 ] ,如果沒有,請先按下面[關閉WFduino],再重新啟動一次WFduino APP,如果還是不行,請登出帳號(或關閉瀏覽器)後,再啟動一次。

——————————————– 

一、讓主角在螢幕上移動

1.當綠旗被點一下,使用[監聽語音]啟動語音轉換。

2.設定旋轉方式為左右

3.[重複執行],判斷輸入的語音指令要做要做什麼動作。

使用[語音文字]積木,讓說出來的話,由程式轉換為文字。

4.使用[清空語音文字]積木,才不會重複執行同一個指令。

程式下載:語音移動.sb2

延伸:

1.說話讓角色改變大小

2.說話讓角色改變顏色

一.A 應聲蟲

會學你說話的應聲蟲

1.當綠旗被點一下,[清空語音文字],將之前存的語音資料清除。

2.使用[監聽語音]啟動語音轉換。

3.[重複執行]使用[語音文字]積木,讓說出來的話,由程式轉換為文字。

4.再用[說….] 積木將剛剛轉換的文字說出來。

程式下載: 應聲蟲.sb2

二、聲控霹靂燈

聲控讓Arduino 板子上的LED依序閃亮又熄滅

接線圖

將18顆LED的短腳(負極)接麵包板同一邊,再串接串接220歐姆電阻後接地(GND)。

18顆LED的長腳(正極)分別接D2~D13和A0~A5,由這18個腳位來控制輸出電位,讓LED亮或滅。

將原來是類比輸入的A0~A5也當成數位輸出的D14~D19

——————————————————————————–

啟動WFduino APP

注意:請先確認是否有其他程式連接arduino板子(例如:燒錄程式),要先將其他連線關閉。

1.機器接上Arduino,開啟chrome瀏覽器, 啟動APP

2.記得在上面選USB連接port

3.狀態:WFduino已連接,韌體版本:未連接

表示Arduino的韌體沒有安裝(之前用過別的韌體),請重新安裝韌體。

4.如果有重新拔、插USB連線,請先按下面[關閉WFduino],再重新啟動一次WFduino APP,才可以抓到正確的連接port

5.看到下面畫面表示都準備好了

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次,觀察有什麼不一樣?

程式下載:語音霹靂燈.sb2

三、聲控開、關燈

利用語音控制來啟動繼電器,控制電燈開或關。

Arduino端接線圖

 

使用WFduino的[監聽語音]和[語音文字]積木來控制繼電器動作。

由數位腳7來控制繼電器的開和關。

先將[腳位7模式設為OUTPUT]。

使用[監聽語音]啟動語音轉換。

重複執行監聽語音,使用[語音文字]積木來讓程式判斷要做什麼動作,要開,還是要關。

使用[語音文字]積木來讓程式判斷要做什麼動作

如果說[開燈]就讓腳位7輸出為1(高電位),讓繼電器連接的電器打開(檯燈亮)。

如果說[關燈]就讓腳位7輸出為0(低電位),讓繼電器連接的電器關閉(檯燈暗)。

程式下載: 繼電器(語音).sb2

如果插座改插其他電器,一樣可以做控制。

家電控制插座製作,請看WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

———————————-

相關連結:

WFduino Chrome App

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303

初級班課程目錄

http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433

設計視訊互動遊戲超簡單

http://blog.ilc.edu.tw/blog/blog/868/post/10898/621592

WFduino課前準備

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665

WFduino第一課(概論、連接)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745

WFduino第二課(LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840

WFduino第三課(用鍵盤控制LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841

WFduino第四課(3顆LED紅綠燈)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850

WFduino第五課(PWM模擬類比輸出)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450

WFduino第六課(RGB三色LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

WFduino第七課(蜂鳴器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

WFduino第八課(按鍵)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090

WFduino顏色猜猜機(第8-1課)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091

WFduino第九課(可變電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092

WFduino第十課(光敏電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093

WFduino第十一課(伺服馬達)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094

WFduino第十二課(超音波感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

WFduino第十四課(人體紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850

WFduino第十五課(主動式紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852

WFduino第十六課(七段顯示器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853

WFduino第十七課(搖桿)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/645549

WFduino第十八課視訊控制 

http://blog.ilc.edu.tw/blog/blog/868/post/97509/647945

WFduino第十九課語音控制(for scratch2.0)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/644624

WFduino第二十課(遙控車)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/648422

英文聽音打字練習(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484

會說時間的鬧鐘(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772

會說話的九九乘法表(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482

WF8266R無線遙控車

http://blog.ilc.edu.tw/blog/blog/868/post/10898/648630

WFduino語音控制(forcratchX)

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592

WFduino無線操控arduino

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819

WFduino原廠使用方法介紹網頁

http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks

WFduino for ScratchX

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190

WF8266R雲端外部感應器

http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305

文章來源:WFduino第十九課語音控制(for scratch2.0) 由 roc 發表。

新學期!就用e點通APP紀錄學生學習表現!

這學期想完整紀錄學生表現,利用給予點數的方式增進學生學習動機嗎?現在就可以使用「e點通」APP達成目標囉!

掃描下列QR Code,直接下載e點通APP就可以給予班上學生點數!

              

e點通APP給予學生點數說明

一、下載e點通APP後,輸入您的EIP帳號,系統會自動建立105這個學期的班級學生表現紀錄活動,直接點選「點數」就可以幫學生加點

二、選擇班級、學生、項目,就完成加點

三、加點完成後,還可以讓學生在線上兌換獎品跟抽獎

四、同時,還有抽籤功能

五、e點通完整說明 http://goo.gl/aTvX0l

班級e點通.jpg

EIP學校及學習領域通訊錄支援tmail寄信及群組人員查詢

EIP學校及學習領域通訊錄支援tmail寄信及群組人員查詢

進入EIP->資訊交流區->學校及學習領域通訊錄,

當查詢某位教師的單位及email時,可直接點選Tmail位置,即可開啟寄信畫面

利用學校及學習領域通訊錄也可以查詢相對應的群組人員,只要點選學校單位群組,即可查詢該群組的人員

Tmail寄信,發現同名同姓的教師時,如何確認寄信帳號?

最近常有老師反應在tmail寄信時,如果輸入收件者姓名,有時會發現有多筆同名同姓的教師,如下圖,不知道能不能有單位名稱以確認哪個email才是要寄信的使用者?

現在,在tmail的通訊錄利用姓名查詢,就可以知道該帳號教師的所屬單位,如下圖,以某位老師姓名進行搜尋會出現兩位同名同姓的教師,

點選教師姓名後,於部門欄位即可顯示該帳號所屬單位,以方便確認要寄信的帳號。

老師可以將tmail的通訊錄加入chrome的書籤列以方便查詢,以下圖,tmail的通訊錄可完整整合手機、平板的通訊錄,老師亦可以試著將所有的通訊錄整合到tmail的通訊錄中,以方便日常的連絡。

如果找不到tmail的通訊錄可於tmail介面中,選左上角的郵件->通訊錄,即可切換到tmail的通訊錄

WFduino第十八課視訊控制

Scratch2.0有[視訊控制]積木,搭配使用電腦(筆電)的攝影機就可以控制Arduino。

在[偵測]類下有3個視訊的積木。

一、視訊控制LED亮、滅

當碰到畫面上的紅、黃、綠色圖案時,對應顏色的LED燈就會亮起來。

紅色LED,正極Arduino板數位腳位11
黃色LED,正極Arduino板數位腳位10
綠色LED,正極Arduino板數位腳位9

控制數位腳位9、10、11的輸出為高電位(5V)或低電位(0V),來控制三種顏色LED的亮或熄滅。

舞台程式:

1.[腳位(…)模式為(OUTPUT)],設定數位腳9、10、11為輸出。

2.[將視訊設定為(開啟)],啟動視訊攝影機。

[紅]腳色:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到

如果有碰到,數值會大於20,就讓腳位11輸出1(高電位)讓紅燈亮。

[黃]腳色:

[video(動作)on(這個腳色)],判斷黃色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位10輸出1(高電位)讓黃燈亮。

[綠]腳色:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位9輸出1(高電位)讓綠燈亮。

程式下載: 3色LED.sb2

二、視訊控制LED亮、滅加音樂彈奏

當碰到畫面上的紅、黃、綠色圖案時,對應顏色的LED燈就會亮起來,同時發出音樂聲音。

紅色LED,正極Arduino板數位腳位11
黃色LED,正極Arduino板數位腳位10
綠色LED,正極Arduino板數位腳位9

控制數位腳位9、10、11的輸出為高電位(5V)或低電位(0V),來控制三種顏色LED的亮或熄滅。

舞台程式:

1.[腳位(…)模式為(OUTPUT)],設定數位腳9、10、11為輸出。

2.[將視訊設定為(開啟)],啟動視訊攝影機。

[紅]腳色:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位11輸出1(高電位)讓紅燈亮,並彈奏音符。

[黃]腳色:

[video(動作)on(這個腳色)],判斷黃色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位10輸出1(高電位)讓黃燈亮,並彈奏音符。

[綠]腳色:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就讓腳位9輸出1(高電位)讓綠燈亮,並彈奏音符。

程式下載:   3色LED+音樂.sb2

 

延伸:

使用[說(……)]的擴充積木將碰觸到的顏色說出來。

三、控制三種顏色LED的亮度

當碰到畫面上的紅、黃、綠色圖案時,對應顏色的LED燈亮度會改變,同時發出音樂聲音。

紅色LED,正極Arduino板數位腳位11
黃色LED,正極Arduino板數位腳位10
綠色LED,正極Arduino板數位腳位9

Arduino UNO控制板的數位腳位上有[~]符號的D3,D5,D6,D9,D10,D11也可以當作類比輸出,利用PWM模擬不同的電壓輸出。(請參考第五課)

控制數位腳位9、10、11的類比輸出(PWM),來控制三種顏色LED的亮度。

在舞台背景畫出漸暗、漸亮(因為不能直接輸入中文,可以利用繪圖軟體製作圖片,再匯入,舞台大小為寬480像素、高360像素)。

製作紅、黃、綠三個變數,來控制亮度。

製作6個顏色腳色,碰觸後分別增加或減少LED的亮度變數。

紅、黃、綠腳色代表碰觸後變數減少(變暗),圖案放左邊;紅+、黃+、綠+腳色代表碰觸後變數增加(變亮),圖案放右邊。

為了區別漸暗和漸亮,設定樂器為1(漸暗)和12(漸亮),讓碰觸時發出的樂器不一樣。

將變數值放中間可以觀察變數的改變情形。

舞台程式:

1.[腳位(…)模式為(OUTPUT)],設定數位腳9、10、11為輸出。

2.[設定變數(…)為0],將亮度一開始設定為0

3.[將視訊設定為(開啟)],啟動視訊攝影機。

[紅]腳色:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數紅改變 -5 ] (變暗), [ 腳位11類比輸出(紅) ] ,並彈奏音符。

[如果 (紅) 變數 > 0 ],因為類比輸出(PWM)的值在0~255之間,怕變數變成負數,所以增加這個判斷。

[黃]腳色:

[video(動作)on(這個腳色)],判斷黃色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數黃改變 -5 ] (變暗), [ 腳位10類比輸出(黃) ] ,並彈奏音符。

[如果 (黃) 變數 > 0 ],因為類比輸出(PWM)的值在0~255之間,怕變數變成負數,所以增加這個判斷。

[綠]腳色:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數綠改變 -5 ] (變暗), [ 腳位9類比輸出(綠) ] ,並彈奏音符。

[如果 (綠) 變數 > 0 ],因為類比輸出(PWM)的值在0~255之間,怕變數變成負數,所以增加這個判斷。

[紅+]腳色:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數紅改變 5 ] (變亮), [ 腳位11類比輸出(紅) ] ,並彈奏音符。

[如果 (紅) 變數 < 255 ],因為類比輸出(PWM)的值在0~255之間,怕變數大於255,所以增加這個判斷。

[黃+]腳色:

[video(動作)on(這個腳色)],判斷黃色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數黃改變 5 ] (變亮), [ 腳位10類比輸出(黃) ] ,並彈奏音符。

[如果 (黃) 變數 < 255 ],因為類比輸出(PWM)的值在0~255之間,怕變數大於255,所以增加這個判斷。

[綠+]腳色:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數綠改變 5 ] (變亮), [ 腳位9類比輸出(綠) ] ,並彈奏音符。

[如果 (綠) 變數 < 255 ],因為類比輸出(PWM)的值在0~255之間,怕變數大於255,所以增加這個判斷。

程式下載:3色LED(PWM).sb2

四、控制RGB三色LED

一顆RGB三色LED裡面就有RGB(紅、綠、藍)三種顏色的LED,我們用的是共陰極,有四支腳,其中最長的腳要接地(GND),其他三支腳分別控制 R、G、B 三個顏色。(請參考第六課)

當碰到畫面上的紅、黃、綠色圖案時,對應顏色的LED燈亮度會改變,同時發出音樂聲音,調整RGB(紅、綠、藍)的不同亮度,就可以混成各種不同的顏色。

RGB

為了避免電流太大,負極接地前先接一顆電阻;

其他三支腳分別接D9(藍)、D10(綠)、D11(紅)

利用PWM模擬不同的電壓輸出,控制數位腳位9、10、11的類比輸出(PWM),來控制三種顏色LED的亮度,控制混成的顏色。

在舞台背景畫出漸暗、漸亮(因為不能直接輸入中文,可以利用繪圖軟體製作圖片,再匯入,舞台大小為寬480像素、高360像素)。

製作紅、綠、藍三個變數,來控制RGB顏色亮度。

製作6個顏色腳色,碰觸後分別增加或減少LED的亮度變數。

紅、綠、藍腳色代表碰觸後變數減少(變暗),圖案放左邊;紅+、綠+、藍+腳色代表碰觸後變數增加(變亮),圖案放右邊。

為了區別漸暗和漸亮,設定樂器為1(漸暗)和12(漸亮),讓碰觸時發出的樂器不一樣。

將變數值放中間可以觀察變數的改變情形。

舞台程式:

1.[腳位(…)模式為(OUTPUT)],設定數位腳9、10、11為輸出。

2.[設定變數(…)為0],將亮度一開始設定為0

3.[將視訊設定為(開啟)],啟動視訊攝影機。

[紅]腳色:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數紅改變 -5 ] (變暗), [ 腳位11類比輸出(紅) ] ,並彈奏音符。

[如果 (紅) 變數 > 0 ],因為類比輸出(PWM)的值在0~255之間,怕變數變成負數,所以增加這個判斷。

[綠]腳色:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數綠改變 -5 ] (變暗), [ 腳位10類比輸出(綠) ] ,並彈奏音符。

[如果 (綠) 變數 > 0 ],因為類比輸出(PWM)的值在0~255之間,怕變數變成負數,所以增加這個判斷。

[藍]腳色:

[video(動作)on(這個腳色)],判斷藍色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數藍改變 -5 ] (變暗), [ 腳位9類比輸出(藍) ] ,並彈奏音符。

[如果 (藍) 變數 > 0 ],因為類比輸出(PWM)的值在0~255之間,怕變數變成負數,所以增加這個判斷。

[紅+]腳色:

[video(動作)on(這個腳色)],判斷紅色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數紅改變 5 ] (變亮), [ 腳位11類比輸出(紅) ] ,並彈奏音符。

[如果 (紅) 變數 < 255 ],因為類比輸出(PWM)的值在0~255之間,怕變數大於255,所以增加這個判斷。

[綠+]腳色:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數綠改變 5 ] (變亮), [ 腳位10類比輸出(綠) ] ,並彈奏音符。

[如果 (綠) 變數 < 255 ],因為類比輸出(PWM)的值在0~255之間,怕變數大於255,所以增加這個判斷。

[藍+]腳色:

[video(動作)on(這個腳色)],判斷綠色圖案是否有被碰到。

如果有碰到,數值會大於20,就 [ 將變數藍改變 5 ] (變亮), [ 腳位9類比輸出(藍) ] ,並彈奏音符。

[如果 (藍) 變數 < 255 ],因為類比輸出(PWM)的值在0~255之間,怕變數大於255,所以增加這個判斷。

當碰到畫面上的紅、黃、綠色圖案時,對應顏色的LED燈亮度會改變,調整上面的RGB(紅、綠、藍)的不同亮度,就可以混成各種不同的顏色的光。

程式下載:RGBLED.sb2

五、音樂演奏(不用接Arduino)

當碰觸鍵盤圖案時,電腦就發出一個聲音,輪流碰觸鍵盤圖案,讓電腦完成歌曲演奏。

主程式:

[將視訊設定為(開啟)],啟動視訊攝影機。

[設定(亮度)特效為(60)],讓鍵盤圖案變透明。

設定樂器種類,上圖[設定樂器為1] 是鋼琴。

副程式:

製作一個變數[彈奏]

[video(動作)on(這個腳色)],判斷是否有被碰到鍵盤圖案。

如果有碰到,數值會大於10(實際值請自行調整),就[設定變數(彈奏)為1],否則讓變數為0。

製作音樂積木:

將歌曲音符編排好,加上[等待(彈奏)=1]。

當碰到鍵盤圖案時,變數(彈奏)為1,就彈奏一個音符。

這樣就可以依序將歌播完。

因為歌曲常常有一些重複的曲段,所以用積木來編排,節省程式長度,比較簡潔。

如果想要變換樂器,只要更改[樂器種類]就可以了。

以小星星為例,主要分成3段,各用了2次。

主程式變得很簡短。

註:如果使用[製作一個積木]來寫程式的好處就是程式比較有規律,修改、除錯都比較容易。

程式下載: 音樂演奏.sb2

延伸:

1.學生自由創作不同的音樂

2.如何加快音樂節奏?

3.增加一組蜂鳴器,使用蜂鳴器來演奏樂曲。

六、使用蜂鳴器演奏音樂

當碰觸鍵盤圖案時,蜂鳴器就發出一個聲音,輪流碰觸鍵盤圖案完成歌曲演奏。

請參考第七課(蜂鳴器)

音量接線圖

音量接線

蜂鳴器的正極(長腳)接數位腳D6,負極接GND

主程式:

先拉一個[腳位(號碼)模式設為OUTPUT]的積木,設定數位腳位D6為輸出。

[將視訊設定為(開啟)],啟動視訊攝影機。

[設定(亮度)特效為(60)],讓鍵盤圖案變透明。

副程式:

製作一個變數[彈奏]

[video(動作)on(這個腳色)],判斷是否有被碰到鍵盤圖案。

如果有碰到,數值會大於10(實際值請自行調整),就[設定變數(彈奏)為1],否則讓變數為0。

製作音樂積木:

使用 [等待(彈奏)=1],當碰到鍵盤圖案時,變數(彈奏)為1,蜂鳴器就發出一個音。。

在 [腳位(6)播放音調,頻率為:(C2,523)Hz,時間為:(500)ms] 積木上選擇要發出的音階頻率,或是參考上面的音階-頻率對照表,設定不同音階對應的頻率。

依照歌曲需求拉一些音調播放積木就可以組合成一首歌了。

記得每個音之後都要接等待幾秒,讓音階唱完。

這樣就可以依序將歌播完。

因為歌曲常常有一些重複的曲段,所以用積木來編排,節省程式長度,比較簡潔。

如果想要變換樂器,只要更改[樂器種類]就可以了。

以小星星為例,主要分成3段,各用了2次。

主程式變得很簡短。

註:如果使用[製作一個積木]來寫程式的好處就是程式比較有規律,修改、除錯都比較容易。

程式下載:  音樂演奏(蜂鳴器).sb2

———————————-

相關連結:

WFduino Chrome App

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303

初級班課程目錄

http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433

設計視訊互動遊戲超簡單

http://blog.ilc.edu.tw/blog/blog/868/post/10898/621592

WFduino課前準備

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665

WFduino第一課(概論、連接)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745

WFduino第二課(LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840

WFduino第三課(用鍵盤控制LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841

WFduino第四課(3顆LED紅綠燈)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850

WFduino第五課(PWM模擬類比輸出)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450

WFduino第六課(RGB三色LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

WFduino第七課(蜂鳴器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

WFduino第八課(按鍵)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090

WFduino顏色猜猜機(第8-1課)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091

WFduino第九課(可變電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092

WFduino第十課(光敏電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093

WFduino第十一課(伺服馬達)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094

WFduino第十二課(超音波感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

WFduino第十四課(人體紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850

WFduino第十五課(主動式紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852

WFduino第十六課(七段顯示器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853

WFduino第十七課(搖桿)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/645549

WFduino第十八課視訊控制 

http://blog.ilc.edu.tw/blog/blog/868/post/97509/647945

英文聽音打字練習(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484

會說時間的鬧鐘(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772

會說話的九九乘法表(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482

WFduino語音控制(forcratchX)

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592

WFduino無線操控arduino

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819

WFduino原廠使用方法介紹網頁

http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks

WFduino for ScratchX

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190

WF8266R雲端外部感應器

http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305

文章來源:WFduino第十八課視訊控制 由 roc 發表。

WFduino語音控制(for scratch2.0)

使用WFduino的[監聽語音]和[語音文字]擴充積木來控制動作。

硬體:chromebook、win7、Mac都可以

軟體: Scatch2.0(線上或離線都可以)+WFduino

*語音辨識要判斷是否講完一個詞,所以執行時會感覺有點遲頓。

*語音功能可以將您說的話轉成文字,也可以將文字轉成聲音播出。

*說話轉成文字,各系統都可以做到中英文語音轉文字。

*文字轉成聲音目前win7和chromebook只能說英文,win10及Mac可以說中文。

————————————–

啟動WFduino APP

——————————–——

1.開啟chrome瀏覽器, 啟動WFduino APP(如果有設書籤列,在書籤列的應用程式裡)

2.在APP上面,[雲端積木]前面的方框,按一下滑鼠左鍵,打勾

3.點下面[範本下載Scratch2.0],下載範本檔案

4.開啟Scatch2.0(線上或離線都可以)

5.開啟剛剛的範本檔(WFduinoScratch2.sb2)。(點[更多積木],看到下面亮[綠燈]

請確認APP上面的[scratch2 已連接 ] ,如果沒有,請先按下面[關閉WFduino],再重新啟動一次WFduino APP,如果還是不行,請登出帳號(或關閉瀏覽器)後,再啟動一次。

——————————————– 

一、讓主角在螢幕上移動

1.當綠旗被點一下,使用[監聽語音]啟動語音轉換。

2.設定旋轉方式為左右

3.[重複執行],判斷輸入的語音指令要做要做什麼動作。

使用[語音文字]積木,讓說出來的話,由程式轉換為文字。

4.使用[清空語音文字]積木,才不會重複執行同一個指令。

程式下載:語音移動.sb2

延伸:

1.說話讓角色改變大小

2.說話讓角色改變顏色

二、聲控霹靂燈

聲控讓Arduino 板子上的LED依序閃亮又熄滅

接線圖

將18顆LED的短腳(負極)接麵包板同一邊,再串接串接220歐姆電阻後接地(GND)。

18顆LED的長腳(正極)分別接D2~D13和A0~A5,由這18個腳位來控制輸出電位,讓LED亮或滅。

將原來是類比輸入的A0~A5也當成數位輸出的D14~D19

——————————————————————————–

啟動WFduino APP

注意:請先確認是否有其他程式連接arduino板子(例如:燒錄程式),要先將其他連線關閉。

1.機器接上Arduino,開啟chrome瀏覽器, 啟動APP

2.記得在上面選USB連接port

3.狀態:WFduino已連接,韌體版本:未連接

表示Arduino的韌體沒有安裝(之前用過別的韌體),請重新安裝韌體。

4.如果有重新拔、插USB連線,請先按下面[關閉WFduino],再重新啟動一次WFduino APP,才可以抓到正確的連接port

5.看到下面畫面表示都準備好了

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次,觀察有什麼不一樣?

程式下載:語音霹靂燈.sb2

三、聲控開、關燈

利用語音控制來啟動繼電器,控制電燈開或關。

Arduino端接線圖

 

使用WFduino的[監聽語音]和[語音文字]積木來控制繼電器動作。

由數位腳7來控制繼電器的開和關。

先將[腳位7模式設為OUTPUT]。

使用[監聽語音]啟動語音轉換。

重複執行監聽語音,使用[語音文字]積木來讓程式判斷要做什麼動作,要開,還是要關。

使用[語音文字]積木來讓程式判斷要做什麼動作

如果說[開燈]就讓腳位7輸出為1(高電位),讓繼電器連接的電器打開(檯燈亮)。

如果說[關燈]就讓腳位7輸出為0(低電位),讓繼電器連接的電器關閉(檯燈暗)。

程式下載: 繼電器(語音).sb2

如果插座改插其他電器,一樣可以做控制。

家電控制插座製作,請看WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

———————————-

相關連結:

WFduino Chrome App

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303

初級班課程目錄

http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433

設計視訊互動遊戲超簡單

http://blog.ilc.edu.tw/blog/blog/868/post/10898/621592

WFduino課前準備

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665

WFduino第一課(概論、連接)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745

WFduino第二課(LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840

WFduino第三課(用鍵盤控制LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841

WFduino第四課(3顆LED紅綠燈)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850

WFduino第五課(PWM模擬類比輸出)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450

WFduino第六課(RGB三色LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

WFduino第七課(蜂鳴器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

WFduino第八課(按鍵)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090

WFduino顏色猜猜機(第8-1課)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091

WFduino第九課(可變電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092

WFduino第十課(光敏電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093

WFduino第十一課(伺服馬達)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094

WFduino第十二課(超音波感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

WFduino第十四課(人體紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850

WFduino第十五課(主動式紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852

WFduino第十六課(七段顯示器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853

英文聽音打字練習(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484

會說時間的鬧鐘(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772

會說話的九九乘法表(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482

WFduino語音控制(forcratchX)

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592

WFduino無線操控arduino

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819

WFduino原廠使用方法介紹網頁

http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks

WFduino for ScratchX

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190

WF8266R雲端外部感應器

http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305

文章來源:WFduino語音控制(for scratch2.0) 由 roc 發表。

WFduino第十七課(搖桿)

雙軸按鍵搖桿:

 

特性:

兩路類比量輸出,一路數位量輸出;

十字搖桿為一個雙向的10K電阻器,隨著搖杆方向不同,X、Y軸的電阻值隨著變化。

向下按搖杆,可以觸動一個開關,為數位輸出。

一、基本操作

 

搖桿有五個接腳,GND接地,+5V接5V,VRx接類比腳A0輸入,VRy接類比腳A1輸入,SW接類比腳A2輸入(SW也可以接數位輸入)。

各家廠商的接腳位置稍有不同,實際接線請對照板子上的針腳記號。

A.搖桿畫圖1

將類比腳位A0、A1、A2讀到的值分別用變數x、y、z來表示,方便程式寫作。

操作搖桿移動角色,就會畫出移動的軌跡。

按下按鍵,清除筆跡,重新開始畫軌跡。

理論上不動搖桿時,X、Y軸的值為中間值512,搖動搖桿分別會加或減,最高為1023最低為0,實際上因為材料關係,會有一些變化。

畫圖時要做一些公式轉換,才可以轉換成畫面上的座標位置。

實際畫圖時發現搖桿移動太靈敏(間隔太小)無法控制微調。

程式下載:搖桿畫圖1.sb2

B.搖桿畫圖2

改成用[如果…就…]來判斷往哪個方向移動。

這樣就比較好控制了。

程式下載:搖桿畫圖2.sb2

二、電流急急棒 

在舞台的背景畫上電流急急棒的路線圖形。

重複播放音樂。

主要程式同上面,用[如果…就…]來判斷往哪個方向移動。。

再加上如果超過路線(碰到外面)就回到原點,如果碰到障礙(藍色短棍)也回到原點。

用蘋果來代表終點。

蘋果如果碰到小球,表示小球走到終點了,就說[恭喜過關]並播音樂,然後[停止全部]結束。

畫一個[障礙短棍]的腳色,讓它來回移動。

程式下載:搖桿電流急急棒.sb2

延伸:

1.設計結束畫面,結束時換成結束的畫面。

2.增加倒數計時,超過時間沒過關,顯示失敗。

三、方向燈

在麵包板上接四顆LED,讓搖桿四個方向控制不同燈亮。

搖桿有五個接腳,GND接地,+5V接5V,VRx接類比腳A0輸入,VRy接類比腳A1輸入,SW接類比腳A2輸入。

四顆LED的負極分別接220歐姆電阻後接arduino的GND,LED的正極分別接數位腳D8、D9、D10、D11

[腳位(8、9、10、11)模式為OUTPUT],設定數位腳D8、D9、D10、D11為輸出。

將類比腳位A0、A1、A2讀到的值分別用變數x、y、z來表示,方便程式寫作。

用[如果…就…否則…]來判斷往哪個方向移動。

[果X>900就腳位8輸出1否則腳位8輸出0],如果搖桿往右偏,A0讀到的值就會大於900,就讓腳位8輸出1,右邊的LED亮,否則就不亮。

同理,利用X、Y的值來判斷讀到的值,讓4顆LED分別亮或不亮。

程式下載:XY方向燈.sb2

壓下搖桿時,A2(Z軸)讀到的值為0

同上,利用Z的值來判斷讀到的值,讓4顆LED一起亮或全部不亮。

程式下載:方向燈(4燈).sb2

結合前面兩個程式,搖桿向前、後、左、右搖時分別是前、後、左、右的LED燈亮。

壓下搖桿時,4顆LED一起亮。

程式下載:方向燈(全部).sb2

延伸:

執行結果發現會變成一閃一閃的,為什麼?請找出原因。

四、其他

十字搖桿為一個雙向的10K電阻器,所以請參考第九課(可變電阻)設計相關活動。

延伸:加在自走車上變成線控自走車。

五、遊戲設計

常見的許多電腦遊戲都會運用搖桿來操控腳色移動,我們也可以模仿製作類似的遊戲。

1.如果增加一些飛彈射擊,就可以變成射擊遊戲。

2.如果加一些水果掉下來,就可以變成猴子接水果遊戲。

3.打磚塊遊戲的棍子可以使用搖桿來操控。

4.其他2D(維)的遊戲。

———————————-

相關連結:

WFduino Chrome App

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303

初級班課程目錄

http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433

設計視訊互動遊戲超簡單

http://blog.ilc.edu.tw/blog/blog/868/post/10898/621592

WFduino課前準備

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665

WFduino第一課(概論、連接)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745

WFduino第二課(LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840

WFduino第三課(用鍵盤控制LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841

WFduino第四課(3顆LED紅綠燈)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850

WFduino第五課(PWM模擬類比輸出)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450

WFduino第六課(RGB三色LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

WFduino第七課(蜂鳴器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

WFduino第八課(按鍵)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090

WFduino顏色猜猜機(第8-1課)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091

WFduino第九課(可變電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092

WFduino第十課(光敏電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093

WFduino第十一課(伺服馬達)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094

WFduino第十二課(超音波感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

WFduino第十四課(人體紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850

WFduino第十五課(主動式紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852

WFduino第十六課(七段顯示器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853

英文聽音打字練習(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484

會說時間的鬧鐘(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772

會說話的九九乘法表(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482

WFduino語音控制(forcratchX)

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592

WFduino無線操控arduino

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819

WFduino原廠使用方法介紹網頁

http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks

WFduino for ScratchX

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190

WF8266R雲端外部感應器

http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305

文章來源:WFduino第十七課(搖桿) 由 roc 發表。

WFduino第十四課(人體紅外線感測器)

HC-SR501 人體紅外線模組

 

紅外線感測器可分為主動式被動式兩種。

主動式的紅外線感測器,感測器本身會發射紅外線光束,當紅外線光束被物體擋住後,紅外線光束就會反射,接收器接收反射的紅外線,做出動作。例如:廁所的自動沖水小便斗、感應式水龍頭。

紅外線動作感測器 (Passive Infrared Sensor) 又稱為(PIR Motion Sensor),是屬於被動式的紅外線裝置,感應器本身不會發射紅外線光束。原理就是利用物體發射出來的紅外線的變化,來感應物體的移動。一般利用人體會發出紅外線的特性,常用來當作感應人體的感測器。

紅外線動作感測器一般用在防盜系統上,例如:有人入侵屋內便響警報的紅外警報器,或是自動照明裝置,例如:玄關、走廊、樓梯間或車庫門口等不常有人走動的的地方,將紅外線感應器和燈具裝在這些地方,只要有人靠近就會自動開燈照明,人離開後就自動關燈省電。有些感應式玩具上也會使用。

HC-SR501 人體紅外線感測器光敏控制溫度補償可以外接使用,還有兩個可變電阻Sx調整敏感度Tx調整延遲時間。當有人進入感應範圍時輸出高電位,人離開感應範圍時自動延時關閉高電位,輸出低電位。

一、感應亮燈(數位) 

當有人靠近時,就會自動亮燈,人離開後燈就自動熄滅。

HC-SR501 人體紅外線感測器有3個接腳,VCC接5V,GND接地,中間OUT接數位腳D6當成Arduino的輸入訊號。

另外接一組紅色LED當作感應燈,正極接數位腳D7。(請參考第二課)

先將[腳位6模式設為INPUT]、[腳位7模式設為OUTPUT]。

當感測器感應到有人經過時,數位腳位D6會出現高電位(數值1),這時就讓數位腳位D7變成高電位,紅色LED亮起來。

沒有人時,感測器沒有感應,數位腳位D6會維持低電位,D7變成低電位紅色LED就不會亮。

程式下載:人體紅外線感測燈(數位輸入).sb2

延伸:

配合繼電器(第十三課),可以點亮大電燈。

PS:影片中可以看到用掃把晃過感測器時因為沒有發出紅外線,感測器並無反應動作。

二、感應亮燈(類比) 

當有人靠近時,就會自動亮燈,人離開後燈就自動熄滅。

HC-SR501 人體紅外線感測器有3個接腳,VCC接5V,GND接地,中間OUT接類比腳A0當成Arduino的輸入訊號。

另外接一組紅色LED當作感應燈,正極接數位腳D7。(請參考第二課)

先將[腳位7模式設為OUTPUT]。

當感測器感應到有人經過時,類比腳位A0會出現數值676。

加上判斷式,如果[讀取類比腳位A0>600,就[腳位7數位輸出1],紅色LED就亮起來。

沒有人時,感測器沒有感應,類比腳位A0會出現數值0,[腳位7數位輸出0],紅色LED就不會亮。

程式下載:人體紅外線感測燈(類比輸入).sb2

三、防盜器

接線圖跟上面一樣。

先將[腳位7模式設為OUTPUT]。

當感測器感應到有人經過時,類比腳位A0會出現數值676。

加上判斷式,如果[讀取類比腳位A0>600,就重複執行:

[腳位7數位輸出1],紅色LED就亮起來,螢幕上說[有小偷!有小偷!],播放警報器音效。

沒有人時,感測器沒有感應,類比腳位A0會出現數值0,[腳位7數位輸出0],紅色LED就不會亮。

程式下載: 防盜器.sb2

注意事項:

1.使用時將感測器放置在適當位置。

2.依據需求調整兩個可變電阻,Sx調整敏感度、Tx調整延遲時間。

四、超商來客通知

接線圖跟前面一樣。

先將[腳位7模式設為OUTPUT]。

當感測器感應到有[人]經過時,類比腳位A0會出現數值676。

加上判斷式,如果[讀取類比腳位A0>600,就重複執行:

[腳位7數位輸出1],紅色LED就亮起來,螢幕上顯示說[歡迎光臨!歡迎光臨!],並播放來客音樂,再用[說…..]的擴充積木,讓電腦說出[歡迎光臨!歡迎光臨!]。

沒有[人]時,感測器沒有感應,類比腳位A0會出現數值0,[腳位7數位輸出0],紅色LED就不會亮,也不會有音樂。

程式下載: 超商.sb2

 

PS:win10及Mac才可以說中文

———————————-

相關連結:

初級班課程目錄

http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433

WFduino課前準備

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665

WFduino第一課(概論、連接)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745

WFduino第二課(LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840

WFduino第三課(用鍵盤控制LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841

WFduino第四課(3顆LED紅綠燈)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850

WFduino第五課(PWM模擬類比輸出)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450

WFduino第六課(RGB三色LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

WFduino第七課(蜂鳴器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

WFduino第八課(按鍵)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090

WFduino顏色猜猜機(第8-1課)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091

WFduino第九課(可變電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092

WFduino第十課(光敏電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093

WFduino第十一課(伺服馬達)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094

WFduino第十二課(超音波感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

WFduino第十四課(人體紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850

WFduino第十五課(主動式紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852

WFduino第十六課(七段顯示器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853

英文聽音打字練習(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484

會說時間的鬧鐘(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772

會說話的九九乘法表(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482

WFduino Chrome App

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303

WFduino語音控制(forcratchX)

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592

WFduino無線操控arduino

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819

WFduino原廠使用方法介紹網頁

http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks

WFduino for ScratchX

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190

WF8266R雲端外部感應器

http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305

文章來源:WFduino第十四課(人體紅外線感測器) 由 roc 發表。

WFduino第十六課(七段顯示器)

七段顯示器(Seven-segment display):為常用顯示數字的電子元件,七段顯示器由四個直向、三個橫向及上右下角一點的發光二極體組成,七段顯示器分為共陽極共陰極

詳細原理及說明請看:

http://thats-worth.blogspot.tw/2014/06/arduino-7-seven-segment-display-1.html

    

 

共陰極七段顯示器接線圖如下:下圖中P(小數點)未接,但是我們可以同前面加電阻接D9,讓小數點也可以亮起來。

 

下表列出對應顯示 0~9 的數字及HELLO,各接腳的明亮狀態,這邊用 1 表示高電位,0 表示低電位。

注意:下表的A~G排列順序是由右到左 

 (以上圖片來源:http://thats-worth.blogspot.tw/2014/06/arduino-7-seven-segment-display-1.html)

如前面所說將共陰極七段顯示器的各腳,分別接上220歐姆電阻後,再接到D2~D8。

顯示器中間的COM腳接GND。

一、基本測試

讓各節點輪流亮起來。

先製作一個變數[亮]。

因為要從數位腳2開始,所以[設定變數(亮)為2]

先用[重複8次],[腳位(亮)模式設為OUTPUT],來設定D2~D9為OUTPUT。

接下來再依序讓各腳位輸出1(高電位),節點亮;輸出0(低電位),節點滅。

程式下載: 7段顯示器輪流亮.sb2

二、輪流出現上表所示的0~9 的數字

用字串來表示字元中顯示器各段LED的亮或暗,L表示低電位,H表示高電位。例如:0除了第七腳低電位外,其他腳位都是高電位。

先將各字元變數該亮該暗的LED字串設置好。

注意:前面有一張列表所顯示的節點順序和這裡字元變數字串的順序剛好相反喔!

然後用[重複8次],[腳位(亮)模式設為OUTPUT],來設定D2~D9為OUTPUT。

然後用[製做積木]指令來讓顯示器顯示變數字元。

[清除顯示]積木:輪流將顯示器每一段都設為低電位,讓顯示器熄滅。

[顯示器狀態(type) ] 積木:先清除前一個字元,再讓新的字元,每一段LED輪流亮或不亮,以顯示該字元。

要顯示的字元變數內的各段LED代表字串如果是H,就讓該腳位輸出高電位,亮起來。

讓七段顯示器輪流顯示0~9的字元,每個字元間等待0.5秒,讓我們能看到字元的完成。

[顯示器狀態(type) ] ,這個積木用到特別的指令功能。

要先按[製做一個積木]後,輸入積木名稱(顯示器狀態),形成(顯示器狀態)的積木指令。

然後再按[選項],再點[新增字串輸入後面的方形,輸入(type),再按[確定],就可以了。 

[ letter(索引)of(type)=H ] 裡面的 (索引)直接去變數裡面拉,裡面的 (type) 就直接將上面 [定義 [顯示器狀態(type) ] 積木 裡面的 (type) 拉下來就可以了。

程式下載:數字輪流顯示.sb2

三、用鍵盤控制七段顯示器顯示結果

依照鍵盤按下的結果來顯示字元,例如:按下鍵盤的[0],就顯示器顯示[0]。

注意:

記得先檢查[輸入法]是否為[英],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。
按數字鍵盤上的數字沒有作用,請按文字鍵盤上面的數字鍵才有作用。

基本程式同上,將輪流顯示字元,改成按下字元後顯示。

程式下載:  鍵盤控制顯示數字.sb2

四、依據輸入內容顯示,類似跑馬燈效果

點綠旗開始後,先詢問想要顯示的數字,輸入完畢後,依照輸入數字,輪流顯示。

除了原來的[清除顯示] 積木和 [顯示器狀態(type) ] 積木外,再增加製作一個 [顯示字(number1) ] 積木

這裡多用了一些變數

主程式跟前面一樣,先各先將各字元變數該亮該暗的LED字串設置好。

然後用[重複8次],[腳位(亮)模式設為OUTPUT],來設定D2~D9為OUTPUT。

接下來用[提問(…)並等待],來輸入字串

[設定變數(字串)為答案]

[設定變數(字串長)為(字串)的長度],來計算字串長度,等一下才知道要重複幾次才能將字串顯示完。

[設定變數(第幾個字)為0],從第0開始

[重複(字串長)次],讓字串的每一個字都能依序顯示。

[顯示字(第幾個字) ] ,判斷要顯示的字元是什麼。

[顯示器狀態(顯示) ]  ,將要顯示的字元顯示出來。

[顯示字(number1) ] 這個積木,就是要判斷字串裡面的字要顯示什麼。

[設定變數(顯示)為(letter(number1)of(字串)],將字串裡面的字轉換出來

接下來用[如果…就…] ,來將顯示的字,變成字元變數,才能顯示

程式下載: 輸入字串顯示.sb2

五、模擬十字路口(紅燈時,顯示倒數計時)

配合第四課(LED紅綠燈),將螢幕顯示倒數計時改成由七段顯示器顯示。

———————————-

相關連結:

初級班課程目錄

http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433

WFduino課前準備

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665

WFduino第一課(概論、連接)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745

WFduino第二課(LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840

WFduino第三課(用鍵盤控制LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841

WFduino第四課(3顆LED紅綠燈)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850

WFduino第五課(PWM模擬類比輸出)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450

WFduino第六課(RGB三色LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

WFduino第七課(蜂鳴器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

WFduino第八課(按鍵)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090

WFduino顏色猜猜機(第8-1課)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091

WFduino第九課(可變電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092

WFduino第十課(光敏電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093

WFduino第十一課(伺服馬達)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094

WFduino第十二課(超音波感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

WFduino第十四課(人體紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850

WFduino第十五課(主動式紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852

WFduino第十六課(七段顯示器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853

英文聽音打字練習(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484

會說時間的鬧鐘(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772

會說話的九九乘法表(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482

WFduino Chrome App

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303

WFduino語音控制(forcratchX)

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592

WFduino無線操控arduino

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819

WFduino原廠使用方法介紹網頁

http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks

WFduino for ScratchX

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190

WF8266R雲端外部感應器

http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305

文章來源:WFduino第十六課(七段顯示器) 由 roc 發表。