S2A第四課(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.螢幕上隨機出現搶答畫面(加上聲音),看(聽)到再搶答。
三、十字路口紅綠燈
1.綠、黃、紅LED輪流閃亮
1.[啟用:數位腳位…為輸出],設定數位腳9、10、11為輸出。
2.[數位輸出:設定腳位…為1],讓數位腳…輸出為高電位,LED燈亮
3.[等待1秒],讓亮燈維持一秒
4.設定[數位輸出:設定腳位….為0],讓數位腳…輸出為 低電位,LED燈熄滅
5.[等待1秒],讓燈熄滅維持一秒
6.輪流讓數位腳9、10、11輸出高、低電位,就可以讓綠、黃、紅LED燈輪流亮、滅的閃爍。
7.加上[重複執行],就可以無限循環這個綠、黃、紅LED燈輪流閃爍。
程式下載:綠紅黃閃亮.sb2
延伸:請學生想想要如何改變閃爍(亮、滅)時間?
2. 綠、黃、紅LED輪流亮
上一個練習的程式在不同顏色LED燈轉換時感覺不連續,請將LED燈轉換改成連續。
將上一個練習的LED燈轉換時的等待一秒移除就可以了。
程式下載:綠紅黃輪亮.sb2
延伸:
燈愈多,程式愈長,請學生想一想可不可以縮短程式?
3. 模擬十字路口
將上一個練習的LED燈等待時間調整,就可以模擬十字路口的紅綠燈號了。
程式下載:紅綠燈.sb2
4.紅燈時,螢幕要顯示倒數計時(模擬十字路口)
主程式同上面的練習。
在紅燈的部分增加顯示倒數計時的改變。
增加一個[紅燈倒數]的變數。
一開始隱藏變數不要顯示,等輪到紅燈再顯示。
紅燈時,先設定變數值紅燈的倒數秒數(10秒),然後在螢幕上顯示變數,設數位腳11的紅燈輸出為1(高電位),將紅燈點亮。
等待一秒後,將變數值減1
重複10次後,隱藏變數,設數位腳11的紅燈輸出為0(低電位),紅燈熄滅。
程式下載:紅燈倒數.sb2
5. 紅、綠燈時,螢幕都要顯示倒數計時
程式設計請參考前面修改
四、隨機閃燈
綠、黃、紅LED隨機點亮又熄滅
增加一個[亮燈]的變數。
[設定變數(亮燈)為(在9到11間隨機選一個變數)],將變數值設定為9到11之間的隨機變數。
設定[亮燈]變數的腳位輸出為1(高電位),將燈點亮。
等待一秒後,將[亮燈]變數的腳位輸出為0(低電位),將燈點熄滅。
然後重複這個[變數改變]、[亮燈]、[熄滅]。
程式下載:隨機閃燈.sb2
五、學生創作:
1.提供多組材料讓學生自由創作
2.學生尋求其他組同學合作創作更多元的作品
3.十字路口有4組紅綠燈一起動作。
4.更多隊伍(5隊、6隊)的搶答系統
5.用LED編排圖形、文字
6.霹靂燈:
接很多LED燈排成一排,讓這些LED燈輪流一顆顆的閃亮過去。
6.1 請學生想想如何可以接更多LED燈?
從數位腳位D0~D13,共有14個數位輸出的位置,可以接14顆LED。
可是大家常用的是D2~D13可以接12顆LED,為什麼D0和D1不用?
因為程式執行時D0和D1負責傳輸訊號,這時接在D0和D1的LED會跟著訊號傳輸亂閃。
6.2 請學生想想可以接更多LED燈嗎?
類比腳A0~A5一般用來接受類比電壓輸入,也可以當作數位輸出的數位腳D14~D19,所以可以接上LED。
這樣數位輸出最多就可以從D2~D19接18顆LED
6.3 同時接18顆LED,如果用前面練習時寫程式的方法,寫出來的程式會很長一串,想想看如何用簡短的程式來控制這麼多顆LED?
6.4 同時接18顆LED,也必須同時接18顆電阻,有沒有辦法簡化?
因為同一時間只有一個燈會亮,所以可以將系統簡化,只接一顆電阻
18顆LED輪亮
設定變數[亮]來決定該輪到哪一顆LED燈要亮。
[啟用數位腳位….為輸出],將D2到D19設定為數位輸出
再讓D2到D19輪流亮、滅
程式下載:18顆霹靂燈.sb2
18顆LED來回亮
程式下載:18顆來回燈.sb2
7.模擬廣告看板
8.打地鼠(看到紅色燈亮按R鍵、黃色燈亮按Y鍵、綠色燈亮按G鍵,按對計分)(請參考林信良老師的書)
9.時鐘
10.光立方
將LED燈排列成立方形
程式下載:LED光立方.sb2
程式下載:LED光立方(亂閃).sb2
———————–
相關連結:
S2A初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97121/634243
S2A課前準備
http://blog.ilc.edu.tw/blog/blog/868/post/97121/630656
網路線上版scratch2.0操控arduino(S2A)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/629471
S2A第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/630098
S2A第二課(LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/630328
S2A第三課(用鍵盤控制LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/630339
S2A第四課(3顆LED紅綠燈)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/630362
S2A第五課(PWM模擬類比輸出)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/630609
S2A第六課(RGB三色LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/630826
S2A第七課(蜂鳴器)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/631037
S2A第八課(按鍵)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/631469
顏色猜猜機(S2A)
http://blog.ilc.edu.tw/blog/blog/868/post/97121/630444
同時控制4片Arduino板子