Arduino第三課(用鍵盤控制LED)
一、使用鍵盤按鍵來控制LED
注意:
記得先檢查[輸入法]是否為[英],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。
1.按下鍵盤上的[空白鍵]讓LED燈亮,鬆開[空白鍵]讓LED燈熄滅。
將LED正極改接Arduino板數位腳位11
如果按下[空白鍵],就讓數位腳位11輸出1(高電位),讓LED亮。
否則就數位腳位11輸出0(低電位),讓LED熄滅。
程式下載:按空白鍵.sb2
實際執行時發現鬆開[空白鍵]時,LED燈並未熄滅,為什麼?
因為程式執行一次,所以如果有按[空白鍵],LED就亮,然後結束。
應該要加上[重複執行],讓程式不斷的去檢查按鍵的情形。(不斷的去檢查是否有按空白鍵)
程式下載:按空白鍵1.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
0.檢查接線
設定[腳位10模式為OUTPUT]、 [腳位11模式為OUTPUT],設定數位腳10、11為輸出。
設定[腳位10、11輸出1](高電位),讓兩顆LED亮。
如果沒有亮,先檢查是否斷線了,再檢查是否接線有錯(LED正負極方向是否正確)。
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只會說英文,不會說中文。
連接方式和前面一樣
主要程式同上面。
使用[說(……)]的擴充積木將搶答結果哪一隊先答轉換為聲音,讓程式真的說出來。
程式下載:搶答(說).sb2
五、十字路口警示紅、黃燈
紅、黃LED輪流閃爍
連接方式和前面一樣
1.[腳位(…)模式為OUTPUT],設定數位腳10、11為輸出。
2.[腳位(…) 數位輸出1],讓數位腳10、11輸出為高電位,LED燈亮
3.[等待1秒],讓亮燈維持一秒
4.設定[腳位(…) 數位輸出0],讓數位腳 (…)10、11輸出為低電位,LED燈熄滅
5. 輪流讓數位腳10、11輸出高、低電位,就可以讓黃、紅LED燈輪流亮、滅的閃爍。
6. 加上[重複執行],就可以無限循環這個綠、黃、紅LED燈輪流閃爍。
程式下載:紅黃閃燈.sb2
延伸:
1.請學生修改LED燈亮、滅的快慢。
2.亮黃燈時,小貓變黃色;亮紅燈時,小貓變紅色
——————————
1.實際上課時,可能無法在一節課內完成,老師視學生情形彈性調整上課進度,可以先請學生另存新檔,下次上課時再開啟舊檔來繼續修改。
2.程式並無標準答案,所附程式僅供參考。
———————————-
相關連結:
初級班課程目錄
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雲端外部感應器