紅外線避障模組: 左邊一般用於循跡自走車,右邊常用於避障小車,原理都是如同第十四課的說明,紅外線感測器可分為主動式和被動式兩種。 紅外線避障模組是屬於主動式的紅外線感測器,感測器本身會發射紅外線光束,當紅外線光束被物體擋住後,紅外線光束就會反射,接收器接收反射的紅外線,做出動作。例如:廁所的自動沖水小便斗、感應式水龍頭、機器人避障、避障小車、計數器及黑白線循跡自走車等。 特性: 該感測器模組對環境光線適應能力強,其具有一對紅外線發射與接收器,發射器發射出一定頻率的紅外線,當檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收器接收,經過電路處理之後,輸出介面輸出數位訊號(一個低電位訊號)。可透過電位器旋鈕調節檢測距離(順時針,距離增加;逆時針,距離減少。),有效距離範圍2~80cm,檢測角度35°。 一、感應式水龍頭 紅外線避障模組有3個接腳,VCC接5V,GND接地,OUT接數位腳D6當成Arduino的輸入訊號。 另外接一組紅色LED當作感應燈,正極接數位腳D7。(請參考第二課) 先設定要用到的腳位,數位腳位D6為INPUT(輸入),D7為OUTPUT(輸出) 接好線路後,沒有遇到障礙物時,數位腳D6的輸入訊號為高電位(數值1) 當遇到障礙物時,數位腳D6的輸入訊號變為低電位(數值0) 不停重複的偵測數位腳D6的輸入訊號,如果是高電位(數值1)表示沒有遇到障礙物,紅色LED就不亮。 否則就是遇到障礙物,讓數位腳位D7變成高電位,紅色LED亮起來,並且說[沖水了]、發出水滴的聲音。 程式下載:感應洗手.sb2 二、計數器 接線圖跟上面一樣 先設定要用到的腳位,數位腳位D6為INPUT(輸入),D7為OUTPUT(輸出) 接好線路後,沒有遇到障礙物時,數位腳D6的輸入訊號為高電位(數值1) 當遇到障礙物時,數位腳D6的輸入訊號變為低電位(數值0) 當物體經過感應區時,累計加1,可以計算出經過的物體總共有多少個。 每次感應時,同時發出聲音可以增加趣味。 程式設計: 做一個計數的變數,一開始設為0 不停重複的偵測數位腳D6的輸入訊號,如果是高電位(數值1)表示沒有遇到障礙物(東西),紅色LED就不亮。 否則就是遇到障礙物(東西),讓數位腳位D7變成高電位,紅色LED亮起來,並且將計數變數加1、發出鼓聲。 程式下載: 計數.sb2 延伸: 投籃機:做個籃框,在籃框旁加上計數器,球投進就會自動計分。 三、應用: 廁所的自動沖水小便斗:接收訊號後啟動繼電器讓沖水開關打開 感應式水龍頭:接收訊號後啟動繼電器讓水龍頭開關打開 機器人避障:裝置在機器人身上偵測障礙物,控制機器人避免碰撞。 避障小車:裝置在自走車上偵測障礙物,控制自走車避免碰撞。 自走車黑白線循跡:裝置在自走車上偵測地面黑線或白線,控制自走車沿著路線行走。 ———————————- 相關連結: 初級班課程目錄 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 …
Author Archives: roc
WFduino第十課(光敏電阻)
光敏電阻:利用光電導效應的一種特殊的電阻,簡稱光電阻,又名光導管。它的電阻和光線的強弱有直接關係。光強度增加,則電阻減小;光強度減小,則電阻增大。(摘自維基百科) 一、光敏電阻和LED亮度 光敏電阻一端接5V,再接一顆1K歐姆的電阻,然後接GND,在光敏電阻和1K歐姆電阻中間腳接一條線到類比腳A0輸入。 光敏電阻接收到不同的光強度時,電阻值改變,中間的電壓也會改變,類比腳A0也就讀到不同的電壓資料。 另外接一組紅色LED(請參考第五課)。由數位腳D11來控制類比輸出的模擬電壓(PWM)大小。 1.讀取類比腳A0的資料: 使用[說讀取類比腳位A0]指令,理論上螢幕上就會出現0到1023的數值 實際上因為亮度關係,我的螢幕上只出現幾十到三百多的數值。 程式下載: 讀光敏電阻.sb2 2.變大變小隨我變 使用光敏電阻調整腳色(人物、圖片)大小。 將大小設定為類比腳位A0得到的值。 理論上因為讀到的值為0到1023,所以轉換時要將得到的值除以10.23,才是正確的百分比。 實際上因為亮度關係,可能不會出現到1023,您可以自行調整比例。 程式下載: 光敏電阻(變大小).sb2 3.光敏電阻調整LED亮度 設定腳位11類比輸出,輸出的模擬電壓大小由A0來決定。 類比腳位A0讀到的值為0到1023,腳位11的類比輸出值為0到255,因此需要做公式轉換。 增加一個說的指令,可以顯示公式轉換結果,驗證公式是否正確。 用手在光敏電阻上揮動,改變光敏電阻接收到的光強度,就會改變電阻值,讓LED亮度改變。 程式下載: 光敏電阻(調亮度).sb2 二、自動控制路燈 晚上(天黑)路燈自動打開,天亮路燈自動熄滅 同上面一樣接線。 增加一個說的指令,來看看光強度和光敏電阻的接收情形。 用運算指令 [ < ] 來判斷天空多暗才要啟動路燈亮起來。 當光強度減弱,光敏電阻的電阻值增加,類比腳位A0讀到的值減少到判斷標準,就讓路燈(LED)亮起來。 測試時,用手靠近光敏電阻,改變光敏電阻接收到的光強度(天黑了),達到標準時路燈(LED)就亮起來。 程式下載: 路燈.sb2 三、光吉他 依照光線亮度發出不同音調聲音 光敏電阻一端接5V,再接一顆1K歐姆的電阻,然後接GND,在光敏電阻和1K歐姆電阻中間腳接一條線到類比腳A0輸入。 光敏電阻接收到不同的光強度時,電阻值改變,中間的電壓也會改變,類比腳A0也就讀到不同的電壓資料。 另外接一組蜂鳴器(請參考第七課)。由數位腳D11來控制輸出的音調(頻率)。 設置數位腳位D11為音調輸出,輸出的音調(聲音頻率)由A0來決定。 用手在光敏電阻上揮動,改變光敏電阻接收到的光強度,就會改變電阻值,A0讀到的值改變,音調也跟著改變。 註:真正音符的頻率(赫茲)轉換有些複雜,這裡只簡單的讓學生體驗音調的改變。 程式下載: 光吉他.sb2 延伸: 將上面的裝置增加組數,就可以發出更多的音階,組成一個多音階的樂器。 可以將A0的值做一些運算,讓頻率改變。 四、打擊樂 當遮蔽光敏電阻時,電腦就發出一個聲音,一群人輪流遮蔽光敏電阻,讓電腦完成歌曲演奏。 光敏電阻一端接5V,再接一顆1K歐姆的電阻,然後接GND,在光敏電阻和1K歐姆電阻中間腳接一條線到類比腳A0輸入。 光敏電阻接收到不同的光強度時,電阻值改變,中間的電壓也會改變,類比腳A0也就讀到不同的電壓資料。 LED可以不用接。 用運算指令 [ < ] …
WFduino顏色猜猜機(第8-1課)
設計一個遊戲機器,讓玩家猜顏色。 在螢幕上先出現三個顏色讓玩家選擇(猜),選好後玩家按下麵包板上的按鍵,三個顏色的LED燈開始亂數閃爍,鬆開按鍵時,某一個顏色的燈恆亮,如果猜中顏色,就說[猜對了],如果猜錯,就說[猜錯了]。 一、類比輸入 紅色LED,正極接Arduino板數位腳位11 黃色LED,正極接Arduino板數位腳位10 綠色LED,正極接Arduino板數位腳位9 控制數位腳位9、10、11的輸出為1(5V)或0(0V)。來控制三種顏色LED的亮或熄滅。 按鍵一邊接5V,另一邊接10K歐姆電阻再接地(GND),中間拉一條訊號線到類比腳A0當作判斷輸入訊號。 主程式 程式開始先將說明圖片移到定點。 設定要用到的腳位。(D9、D10、D11輸出) 等待按下按鍵。 (紅、黃、綠等角色的程式負責選顏色) 如果按鍵按下時,類比腳A0得到1023,就開始隨機讓D9、D10、D11其中一個輸出高電位,讓LED亮。 直到放開按鍵,類比腳A0得到0 然後判斷答對了嗎? 使用[說(……)]的擴充積木可以將文字轉換為聲音,讓程式真的說出來。 紅色角色 程式開始先將顏色圖片移到定點。 當被選中,就將選色變數設為11,做為主程式判斷對錯的依據。 如果選的是其他顏色,會收到其他顏色的廣播,就將自己隱藏。 黃色角色 程式開始先將顏色圖片移到定點。 當被選中,就將選色變數設為10,做為主程式判斷對錯的依據。 如果選的是其他顏色,會收到其他顏色的廣播,就將自己隱藏。 綠色角色 程式開始先將顏色圖片移到定點。 當被選中,就將選色變數設為9,做為主程式判斷對錯的依據。 如果選的是其他顏色,會收到其他顏色的廣播,就將自己隱藏。 程式下載:顏色猜猜機(類比).sb2 二、數位輸入 紅色LED,正極接Arduino板數位腳位11 黃色LED,正極接Arduino板數位腳位10 綠色LED,正極接Arduino板數位腳位9 控制數位腳位9、10、11的輸出為1(5V)或0(0V)。來控制三種顏色LED的亮或熄滅。 按鍵一邊接5V,另一邊接10K歐姆電阻再接地(GND),中間拉一條訊號線到數位腳D7當作判斷輸入訊號。 主程式 程式跟[類比輸入]很像。 開始先將說明圖片移到定點。 設定要用到的腳位。(數位腳位D7輸入,D9、D10、D11輸出) 等待按下按鍵。 如果按鍵按下時,數位腳位D7得到1,就開始隨機讓D9、D10、D11其中一個輸出高電位,讓LED亮。 直到放開按鍵,數位腳位D7得到0 然後判斷答對了嗎? 使用[說(……)]的擴充積木可以將文字轉換為聲音,讓程式真的說出來。 其他角色程式請參考[類比輸入]。 程式下載: 顏色猜猜機(數位).sb2 三、增加效果 1.加上蜂鳴器,在按鍵時發出特殊聲音,答對或答錯時也可以發出不同的音樂。 2.答對或答錯時更換不同的造型。 3.如果是win10或Mac系統,可以使用[說(……)]的擴充積木可以將文字轉換為聲音,讓程式真的說出來中文。 四、學生作品 六年級林辰皓、吳至勤同學作品 六年級藍培誠、四年級李盺澤同學作品。 ———————————- 相關連結: 初級班課程目錄 http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433 …
WFduino第十一課(伺服馬達)
伺服馬達:又稱為舵機,可以依照指示角度做轉動的馬達。 一般伺服馬達有三條線,電源(紅色)、接地(黑或棕色)、訊號線(白、黃、橘、藍….)。透過訊號線傳送PWM脈波來控制軸柄的停止位置旋轉角度,只要一個指令就可以控制了。 若想使用超過兩個以上的伺服馬達,要以另外的電源供電,而且要記得共同接地。 一、控制伺服馬達轉動 將伺服馬達的三條線,電源(紅色)接5V、接地(黑或棕色)接GND、訊號線(白色)接數位腳D12。 1.轉動伺服馬達 使用 [ 伺服馬達為腳位(…)轉動角度為(…)度] 的指令積木來控制馬達的轉動角度。 改變角度數字就可以改變伺服馬的轉動角度。 程式下載:伺服馬達.sb2 2.讓伺服馬達慢慢從0度轉到180度,再轉回0度,重複轉動。 使用 [ 伺服馬達為腳位(…)轉動角度為(…)度] 的指令積木來控制馬達的轉動角度。 製做一個[角度]變數,使用[重複 …次] (迴圈) 來讓程式變的簡短一點 加上[等待0.5秒],讓馬達有時間去轉動。 程式下載: 伺服馬達.sb2 二、使用鍵盤按鍵來控制轉動角度 注意: 記得先檢查[輸入法]是否為[英],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。 按下鍵盤上的[空白鍵]讓伺服馬達轉動到0度,[向左鍵]讓伺服馬達轉動到90度,[向右鍵]讓伺服馬達轉動到180度。[向上鍵]讓伺服馬達轉動角度增加5度,[向下鍵]讓伺服馬達轉動角度減少5度。 程式下載:鍵盤控制轉動.sb2 延伸: 1.利用拉霸(變數)控制伺服馬達 先做一個[角度]變數,在舞台區會顯示變數的圖案,在圖案上用滑鼠左鍵點一下,就會變成只有數值,在圖案上再點一下滑鼠左鍵,就會出現有[拉霸]小點的圖形。 用滑鼠左鍵拖曳小點往左右滑動,就可以改變變數大小,也就是改變輸出值的大小。 這樣就可以拉霸來控制伺服馬達的轉動角度。 程式下載:拉霸控制伺服馬達.sb2 2.調整成可以控制到最大的180度 [拉霸]小點的圖形,內定最大就是100度,如何可以讓轉動角度達到最大的180度呢? 動動腦想想看吧! 增加一個變數,將拉動的變數除以100再乘以180,就可以將拉動的值轉換成最大到180度了。 程式下載:拉霸控制伺服馬達180.sb2 三、用按鍵控制轉動角度 選擇上面的伺服馬達線路,再設置兩個按鍵線路(請參考第八課(按鍵)) A按鍵讓伺服馬達轉動角度會增加1度,B按鍵讓伺服馬達轉動角度會減少1度。 程式設計請參考上面和第八課(按鍵) 四、可變電阻控制伺服馬達轉動 可變電阻改變時類比腳A0讀到的值也會改變。 輸入的電壓是0到5V,A0讀到的數值範圍為0到1023, 伺服馬達的轉動角度為0到180度,顯示時需要做公式轉換。 程式中有一個說的指令,可以讓我們看到輸出的角度。 設置伺服馬達的輸出角度為轉換結果。 程式下載:可變電阻轉動馬達1.sb2 上面程式執行時發現太過靈敏,會有抖動現象。 程式修正如下: 在程式中多加一個 [ …
WFduino第九課(可變電阻)
可變電阻:又稱為可變電阻器,可經由滑動(轉動)而改變滑動端與兩個固定端間電阻值的電子零件。 線性尺度式:電阻值的變化與旋轉角度或移動距離呈線性關係,此種電位器稱為 B 型電位器。 註:滑動式可變電阻 ,價格稍貴。 一、直接控制LED亮度 利用Arduino的5V供電,經過LED再接220歐姆電阻然後接10K可變電阻的中間腳再接GND,形成一個迴路 轉動可變電阻,改變電阻值就可以調整LED亮度 二、電壓計 可變電阻兩端各接GND及5V,中間腳接類比腳A0輸入。 當轉動可變電阻時,中間接腳得到的電壓也會改變,類比腳A0也就讀到不同的電壓資料。 1.讀取類比腳A0的資料: 使用[說(讀取類比腳位A0)]指令,螢幕上就會出現0到1023的數值 程式下載: 讀可變電阻.sb2 2.電壓計 同上面一樣接線。 輸入的電壓是0到5V,讀到的數值為0到1023,顯示時需要做公式轉換 程式下載: 電壓計.sb2 3.電壓計(顯示時加說明) 增加文字說明指令,讓顯示時更清楚。 程式下載:電壓計A.sb2 三、變大變小隨我變 同上面一樣接線。 使用可變電阻調整腳色(人物、圖片)大小。 將大小設定為類比腳位A0得到的值。 因為讀到的值為0到1023,所以轉換時要將得到的值除以10.23,才是正確的百分比。 程式下載:變大變小隨我變.sb2 四、移動腳色位置 同上面一樣接線。 使用可變電阻移動腳色(人物、圖片)大小。 舞台左右X座標為-240到240,共480個座標點。 因此做一些轉換可以得到正確的座標。 程式下載:移動腳色位置.sb2 延伸: 1.如果增加一些飛彈射擊,就可以變成射擊遊戲。 2.如果加一些水果掉下來,就可以變成猴子接水果遊戲。 3.打磚塊遊戲的棍子可以使用可變電阻來操控。 4.如果再多加一組可變電阻,就可以控制腳色的Y座標位置,變成2D(維)的遊戲設計。 五、控制LED亮度 轉動可變電阻,調整LED亮度 可變電阻兩端各接GND及5V,中間腳接類比腳A0輸入。 當轉動可變電阻時,中間接腳得到的電壓也會改變,類比腳A0也就讀到不同的電壓資料。 另外接一組紅色LED(請參考第五課)。由數位腳D11來控制輸出的類比電壓大小。 設置數位腳位D11為類比輸出,輸出的模擬電壓大小由A0來決定。 類比腳位A0讀到的值為0到1023,腳位11類比輸出的輸出值為0到255,因此需要做公式轉換。 增加一個說的指令,可以顯示公式轉換結果,驗證公式是否正確。 程式下載:可變電阻(調亮度).sb2 延伸: 設計調整可變電阻,改變LED閃爍(亮、暗)的時間間隔。 六、可變電阻改變音調 可變電阻兩端各接GND及5V,中間腳接類比腳A0輸入。 當轉動可變電阻時,中間接腳得到的電壓也會改變,類比腳A0也就讀到不同的電壓資料。 另外接一組蜂鳴器(請參考第七課)。由數位腳D11來控制輸出的音調(頻率)。 設定數位腳位D11為音調輸出,輸出的音調(聲音頻率)由A0來決定。 …
WFduino第八課(按鍵)
按鍵:可以控制通路或斷路的開關,一般使用為按下為通路,放開為斷路。 小學生建議用2腳的 ,比較不會接錯方向。(最近發現針腳容易折斷) 一、直接控制LED亮或熄滅 利用Arduino的5V供電,經過按鍵接LED再接電阻再接GND,形成一個迴路 按下開關,形成通路,LED亮 鬆開開關,LED熄滅 注意: 如果是四腳的開關 ,請學生要注意方向,翻開背面,以中間的溝槽為分界,AB相連,CD相連,AB和CD不相通。 如果沒有溝槽的,直接如上面的接線圖插入麵包板試試看,如果還沒按按鍵就會亮,那就拔起來轉90度再插下去,試試看是否變成需要按按鍵才會亮。 二、運用Arduino的數位輸入來控制LED亮或滅 按鍵一邊接5V,另一邊接10K歐姆電阻再接地(GND),中間拉一條訊號線到數位腳D8當作判斷輸入訊號。 數位腳D11接紅色LED正極,再串接220歐姆電阻後接地(GND)。 加上[說(讀取數位腳位(8))],可以從螢幕上看到讀取(輸入)的結果。 如果按鍵按下時,數位腳D8得到1(高電位),這時就輸出一個高電位(1)給數位腳D11,讓紅色LED亮。 否則(沒有按鍵按下時),數位腳D8是0(低電位),這時就設定腳為11為低電位,讓紅色LED熄滅。 程式下載:按鍵(數位).sb2 延伸: 1.請同學思考[重複執行]這個積木可不可以去掉? 2.試試看去掉後的執行結果有什麼不同? 3.加上蜂鳴器,讓按下時蜂鳴器會響。 三、運用Arduino的類比輸入來控制LED亮或滅 按鍵一邊接5V,另一邊接10K歐姆電阻再接地(GND),中間拉一條訊號線到類比腳A0當作判斷輸入訊號。 數位腳D11接紅色LED正極,再串接220歐姆電阻後接地(GND)。 如果按鍵按下時,類比腳A0得到1023,這時就輸出一個高電位給數位腳D11,讓紅色LED亮。 否則(沒有按鍵按下時),類比腳A0得到0,這時就設置數位腳D11為低電位,讓紅色LED熄滅。 程式下載:按鍵(類比).sb2 註: 1.這裡多一個[說類比腳位(A)0]的指令,讓我們可以看到類比腳A0的數值變化。 2.類比腳A0~A5一般用來接受類比電壓輸入,接收後顯示的值為0~1023 四、兩段式開關 只有一個按鍵,第一次按下代表啟動,第二次按下代表停止。 第一次按下時LED燈亮,第二次按下時LED燈滅。 程式下載:兩段式開關.sb2 延伸: 兩顆LED,按下按鍵,其中一個LED亮,第二次再按下時LED燈滅,換另一個LED亮。兩顆LED輪流亮。 程式下載:兩段式開關(紅綠輪流).sb2 五、按鍵啟動音樂 按鍵後LED亮,並使用電腦喇叭發出聲音 1.彈奏鼓聲 重複執行:判斷按鍵是不是有按下按鍵,讀取數位腳位(8)的值。 如果按鍵按下時(數位腳位8的值=1),就輸出一個高電位給數位腳D11,讓紅色LED亮,並[彈奏鼓聲] 可以選擇發出不同的[鼓聲]及節拍。 程式下載:按鍵(鼓).sb2 2.打擊樂 將程式的[彈奏鼓聲]改為[播放聲音],可以選擇發出不同的[聲音] 選取程式的[音效],點選新聲音的小喇叭圖示 選擇要播放的聲音檔(可以先點檔案內的小三角形試聽),按[確定]。 這次選敲鑼。 重複執行:判斷按鍵是不是有按下按鍵。 如果按鍵按下時(數位腳位8的值=1),就輸出一個高電位給數位腳D11,讓紅色LED亮,並發出鑼聲的音效。 程式下載:按鍵(打擊樂).sb2 …
WFduino第七課(蜂鳴器)
蜂鳴器:可以產生聲音的裝置。 (註) 聲音的三要素 1.音量(響度) :聲音的大小(強弱),聲波的振幅(即振動的能量),振幅愈大,響度愈大,單位為分貝(dB)。 2.音調(音頻) :聲音的高低,聲波的頻率,振動愈快,頻率愈大,音調愈高,單位為赫茲(Hz)(次/秒)。 3.音色(音品) :聲音的特色,聲波的波形,不同的發聲體會有不同的波形。 壹、音量測試 利用PWM模擬不同的電壓輸出,讓蜂鳴器發出不同的音量。 蜂鳴器的正極(長腳)接數位腳D6,負極接GND 先拉一個[腳位(號碼)模式設為(OUTPUT)]的積木。 做一個變數[音量],[腳位(6類比輸出(音量)],改變[音量]的數值,輸出的電壓就會改變,蜂鳴器發出的音量也就跟著改變。 將音量變數由255慢慢減少,蜂鳴器發出的音量就愈來愈小聲。 程式下載:音量.sb2 貳、音調改變 一、播放一聲Do 聲音的高低就是聲波的頻率得快慢,聲音振動愈快,頻率愈大,發出的音調愈高,單位為赫茲(Hz)(次/秒)。 先拉一個[腳位(號碼)模式設為OUTPUT]的積木,設定數位腳位D6為輸出。 使用 [腳位(6)播放音調,頻率為:(C2,523)Hz,時間為:(500)ms] ,就可以播出0.5秒的Do 程式下載:Do.sb2 二、播放一首歌 音階–頻率對照表(單位:Hz) 低音 Do Re Mi Fa So La Si 頻率 262 294 330 349 392 440 494 中音 Do Re Mi Fa So La Si 頻率 523 587 659 698 …
WFduino第六課(RGB三色LED)
一顆RGB三色LED裡面就有RGB(紅、綠、藍)三種顏色的LED,我們用的是共陰極,有四支腳,其中最長的腳要接地(GND),其他三支腳分別控制 R、G、B 三個顏色。(註) 為了避免電流太大,負極接地前先接一顆電阻; 其他三支腳分別接D9(藍)、D10(綠)、D11(紅) ————————- 一、使用鍵盤按鍵來控制LED 程式設計請參考第四課(LED紅綠燈) 二、搶答 程式設計請參考第四課(LED紅綠燈) 三、綠色、藍色、紅色輪流亮 程式設計請參考第四課(LED紅綠燈) 四、呼吸燈 程式設計請參考第五課(pwm) 五、色光三原色 參考教案: 色光三原色(S4A運用) http://blog.ilc.edu.tw/blog/blog/868/post/2172/583619 老師說明三原色的原理、混成光的特性,讓學生練習調整三種顏色LED不同的輸出功率,研究三種色光的混成顏色和輸出功率之關係,也可以認識LED燈的發光特性。 先做一個紅色變數,在舞台區會顯示變數的圖案,在圖案上用滑鼠左鍵點一下,就會變成下圖(只有數值) 在圖案上再點一下滑鼠左鍵,就會出現下圖 用滑鼠左鍵拖曳小點往左右滑動,就可以改變變數大小,也就是改變輸出值的大小。 依序再設定綠色、藍色變數,一樣在變數前要打勾,舞台區上的變數圖形要點按2次,變成可以拖曳改變數值的圖案。 使用[腳位(號碼)模式設為(OUTPUT)]的積木,設定數位腳位9、10、11為輸出。 設定D9輸出為藍色,D10輸出為綠色,D11輸出為紅色。 接著用滑鼠左鍵拖曳三原色的小點往左右滑動,就可以改變變數大小,也就是改變輸出值的大小,輸出各種不同的顏色了。 學生練習: 1.請學生依序調出黃光(紅+綠)、洋紅(紅+藍)、青(綠+藍)、白(藍+綠+紅)……..等顏色。 2.讓學生動手後,提醒學生觀察 RGB 三個顏色不同的調整比例和複合後顏色的關係。並不是按照 1:1:1 的比例就會真的混成視覺白光,因為 RGB 的視覺亮度不一樣,還有 LED 的品質和轉換效率都會影響混成效果。 3.請學生依序調出彩虹的七種顏色,並記錄各顏色時所調的RGB值各是多少。 程式下載:RGB.sb2 六、三原色組合 設計程式讓三原色自動組合成所有可能的顏色。 程式下載:RGB(所有).sb2 延伸: 改用鍵盤控制調整RGB三顏色變數。 七、彩虹燈(隨機顏色) 讓RGB三色LED隨意變化顏色,形成五彩繽紛的彩虹燈 設定D9(藍色),D10(綠色),D11(紅色)的輸出值為隨機,配出來的顏色就會不一樣 程式下載:RGB(彩虹燈).sb2 八、打地鼠 看到紅色燈亮按R鍵、黃色燈亮按Y鍵、綠色燈亮按G鍵,按對計分 九、學生創作: 1.提供多組材料讓學生自由創作 2.學生尋求其他組同學合作創作更多元的作品 例如: …
WFduino第三課(用鍵盤控制LED)
一、使用鍵盤按鍵來控制LED 注意: 記得先檢查[輸入法]是否為[英],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。 1.按下鍵盤上的[空白鍵]讓LED燈亮,鬆開[空白鍵]讓LED燈熄滅。 將LED正極改接Arduino板數位腳位11 如果按下[空白鍵],就讓數位腳位11輸出1(高電位),讓LED亮。否則就數位腳位11輸出0(低電位),讓LED熄滅。 程式下載:按空白鍵.sb2 2.按鍵盤上的[a]鍵讓LED燈一直亮,按鍵盤上的[b]鍵讓LED燈熄滅。 連接方式和前面一樣 2.1 程式下載:按a鍵.sb2 2.2 另一種方式也可以喔! 程式下載:按a鍵1.sb2 3.同時按住[a]和[p]兩個鍵,LED才會亮。 使用[如果..否則]加[…和…]來決定LED要不要亮。 要[不停重複]來偵測鍵盤動作。 程式下載: 同時按才亮.sb2 4.按住[a]或[p]任一個鍵,LED都會亮。 使用[如果..否則]加[…或…]來決定LED要不要亮。 要加上[不停重複]來偵測鍵盤動作。 程式下載:按a或p.sb2 二、雙色LED 再增加一組LED,第二顆用黃色LED,正極接Arduino板數位腳位10 1.按鍵盤上的[向上鍵]讓黃色LED燈亮,鬆開[向上鍵]讓黃色LED燈熄滅。 按鍵盤上的[空白鍵]讓紅色LED燈亮,鬆開[空白鍵]讓紅色LED燈熄滅。 設定[腳位10模式為OUTPUT]、 [腳位11模式為OUTPUT],設定數位腳10、11為輸出。 如果按下[向上鍵],就讓數位腳位10輸出1(高電位),讓LED亮。否則就數位腳位10輸出0(低電位),讓LED熄滅。 如果按下[空白鍵],就讓數位腳位11輸出1(高電位),讓LED亮。否則就數位腳位11輸出0(低電位),讓LED熄滅。 程式下載:按空白向上鍵.sb2 三、搶答 甲、乙兩隊搶答,先按的亮燈,後按的燈不亮。 紅隊按[空白鍵]讓紅色LED燈亮,黃隊按[向上鍵]讓黃色LED燈亮。 連接方式和前面一樣 先設定數位腳位10、11為輸出。 設定[腳位10、11數位輸出0],讓2顆LED先熄滅。因為上一次執行的結果,會讓LED燈亮著,先讓它熄滅,才進行。 然後偵測[空白鍵]和[上移鍵]是否被按下,來決定哪一隊先答題。 如果按下[向上鍵],就讓數位腳位10輸出1(高電位),讓LED亮。並說[黃隊先答],然後停止[這個程式],以免另一隊也按了,也亮燈。 如果按下[空白鍵],就讓數位腳位11輸出1(高電位),讓LED亮。 並說[紅隊先答],然後停止[這個程式],以免另一隊也按了,也亮燈。 程式下載:搶答.sb2 四、搶答(說出結果) 甲、乙兩隊搶答,先按的亮燈,後按的燈不亮,並說出 哪一隊先答。 紅隊按[空白鍵]讓紅色LED燈亮並說出 紅隊先答,黃隊按[向上鍵]讓黃色LED燈亮並說出 黃隊先答。 註:win7和chromebook只會說英文,不會說中文。 連接方式和前面一樣 主要程式同上面。 使用[說(……)]的擴充積木將搶答結果哪一隊先答轉換為聲音,讓程式真的說出來。 …
WFduino第四課(3顆LED紅綠燈)
增加為紅 、黃、綠三顆LED 紅色LED,正極接Arduino板數位腳位11黃色LED,正極接Arduino板數位腳位10綠色LED,正極接Arduino板數位腳位9 控制數位腳位9、10、11的輸出為高電位(5V)或低電位(0V)。來控制三種顏色LED的亮或熄滅。 一、使用鍵盤按鍵來控制LED 注意: 記得先檢查[輸入法]是否為[英],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。 按鍵盤上的[a]鍵讓綠色LED燈亮,鬆開[a]鍵讓綠色LED燈熄滅。 按鍵盤上的[空白鍵]讓紅色LED燈亮,鬆開[空白鍵]讓紅色LED燈熄滅。 按鍵盤上的[向上移]讓黃色LED燈亮,鬆開[向上鍵]讓黃色LED燈熄滅。 程式設計請參考上一節修改 二、搶答 1.甲、乙、丙三隊搶答,先按的亮燈,後按的燈不亮。 紅隊按[空白鍵]讓紅色LED燈亮,黃隊按[向上鍵]讓黃色LED燈亮,綠 隊按[a]鍵讓綠色LED燈亮。 程式設計請參考上一節修改 2.螢幕上加上倒數計時,時間到,再搶答。 3.螢幕上隨機出現搶答畫面(加上聲音),看(聽)到再搶答。 三、十字路口紅綠燈 a.綠、黃、紅LED輪流亮 1.[腳位(…)模式為(OUTPUT)],設定數位腳9、10、11為輸出。 2.[數位輸出:設定腳位…為1],讓數位腳9、10、11輸出為高電位,LED燈亮 3.[等待1秒],讓亮燈維持一秒 4.設定[數位輸出:設定腳位….為0],讓數位腳…輸出為 低電位,LED燈熄滅 5. 輪流讓數位腳9、10、11輸出高、低電位,就可以讓綠、黃、紅LED燈輪流亮、滅的閃爍。 6. 加上[重複執行],就可以無限循環這個綠、黃、紅LED燈輪流閃爍。 程式下載:綠黃紅閃燈.sb2 延伸: 1.請學生想想要如何改變閃爍(亮、滅)時間? 2.燈愈多,程式愈長,請學生想一想可不可以縮短程式? b. 模擬十字路口 將上一個練習的LED燈等待時間調整,就可以模擬十字路口的紅綠燈號了。 程式下載:紅綠燈.sb2 c.紅燈時,螢幕要顯示倒數計時(模擬十字路口) 主要程式同上面的練習。 在紅燈的部分增加顯示倒數計時的改變。 增加一個[紅燈倒數]的變數。 一開始隱藏變數不要顯示,等輪到紅燈再顯示。 紅燈時,先設定變數值紅燈的倒數秒數(10秒),然後在螢幕上顯示變數,設數位腳11的紅燈輸出為1(高電位),將紅燈點亮。 等待一秒後,將變數值減1 重複10次後,隱藏變數,設數位腳11的紅燈輸出為0(低電位),紅燈熄滅。 程式下載:紅燈倒數.sb2 d. 紅、綠燈時,螢幕都要顯示倒數計時 主要程式同上面的練習。 在綠燈的部分增加顯示倒數計時的改變。 增加一個[綠燈倒數]的變數。 程式下載: 紅綠燈倒數.sb2 四、隨機閃燈 綠、黃、紅LED隨機點亮又熄滅 增加一個[亮燈]的變數。 [設定變數(亮燈)為(在9到11間隨機選一個變數)],將變數值設定為9到11之間的隨機變數。 設定[亮燈]變數的腳位輸出為1(高電位),將燈點亮。 …