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板子

http://blog.ilc.edu.tw/blog/blog/868/post/97121/630334

文章來源:S2A第四課(3顆LED紅綠燈) 由 roc 發表。