S3i第10課按鍵(下)

iL學習板有2個開關,分別接數位腳位D12和類比腳位A2。

使用Jump直接將D12和12KEY、A2和KEY2兩兩連接。(請看上一課)

一、計數器

按一次按鍵,計數器加1,計算按鍵次數。

做一個[計數器]變數。

一開始先將變數計數器值設為0

重複無限次:判斷按鍵是不是有按下按鍵,讀取數位腳位(12)的值。

如果按鍵按下時(數位腳位12的值=1),數位腳13輸出一個1(高電位),讓黃色LED亮,並將計數器的值加1

程式下載

二、計數器(修正)

上面的程式跟我們的需求是不符的,按一下會跳很多次。

因為按下去以後,數位腳12會一直收到高電位直到放開,所以計數器的值就一直加上去了。

要如何修正呢? 

[等待直到(讀取數位腳12=1)] ,等待按下按鍵,按下後就亮燈,並讓計數器的值加1。

[等待直到(讀取數位腳12=0)],等待放開按鍵,放開後就關燈。

程式下載:

延伸:

1.增加倒數計時功能,限制時間內的按鍵次數才有效

2.增加[按鍵2]計數器,變成2組,比賽看哪一組在時間內的按鍵按最多

三、檯燈開關(兩段式開關)

同一顆按鍵,按第一次燈亮,再按燈滅,再按燈亮,再按燈滅….。

程式下載:

延伸:

1.範例程式在判斷按鍵時,為什麼要使用[等待直到]而不使用[如果…那麼…]?

2.將RGB LED 的JUMP都插上,改變成設計程式讓RGB LED 輪流亮藍、綠、紅三個顏色。

3.增加JUMP連接數位腳位6和蜂鳴器,讓按下按鍵時蜂鳴器也會同時響。

四、反應測試

測試你的神經反應:

準備好時,按下按鍵,隨機時間後LED亮,看到亮燈,要立刻按下按鍵。螢幕上顯示你看到亮燈到按下按鍵的反應時間。

按綠旗後的說明

開始先出現主題及說明頁,等待按鍵開始。

如果按下按鍵,數位腳D12收到高電位,小貓出現。

等待放開按鍵,才開始隨機選擇亮燈時間。

計時器歸零,重新計時,並顯示時間,一直到再一次按下按鍵,停止程式,顯示反應時間。

程式下載

延伸:

1.增加JUMP連接數位腳位6和蜂鳴器,準備好時,按下按鍵,隨機時間後LED亮,並且蜂鳴器發出聲音,看到亮燈或聽到聲音,要立刻按下按鍵。螢幕上顯示你看到亮燈或聽到聲音到按下按鍵的反應時間。

2.增加[按鍵2]的計數功能,變成2組比賽,看哪一組先按下按鍵。(搶答)

五、電子骰子

按下按鍵,LED開始變化不同顏色,鬆開按鍵,停在某一顏色。按鍵按下後鬆開的時間不同,最後停止時的顏色不同。

[腳位12模式設為INPUT],設定數位腳12為輸入。

接著不斷的偵測有沒有按下按鍵。

如果有按下按鍵,就先關閉上次亮的顏色,然後隨機讓D9、D10、D11其中一個輸出1(高電位),那個顏色就亮起來。

鬆開按鍵時,D12沒有訊號輸入,燈就停止隨機亂閃顏色。

程式下載

延伸:

1.比大小:藍色代表1,綠色代表2,紅色代表3,看看誰骰的比較大。

2.加上[說…..積木],說出燈亮的顏色

3.增加JUMP連接數位腳位6和蜂鳴器,按下按鍵時發出聲音,增加聲音效果。

六、顏色猜猜機

設計一個遊戲機器,讓玩家猜顏色。

在螢幕上先出現三個顏色讓玩家選擇(猜),選好後玩家按下板子上的按鍵,三個顏色的LED燈開始亂數閃爍,鬆開按鍵時,某一個顏色的燈恆亮,如果猜中顏色,就說[猜對了],如果猜錯,就說[猜錯了]。

螢幕畫面

主程式:

開始先將說明圖片移到定點。

[腳位12模式設為INPUT],設定數位腳12為輸入。

說出使用方法

等待按下按鍵。

如果按鍵按下時,數位腳位D12得到1,就開始隨機讓D9、D10、D11其中一個輸出1(高電位),讓LED亮,再暗,再亮另一個顏色………。

直到放開按鍵,數位腳位D12得到0

然後判斷答對了嗎?

使用[說(……)]的擴充積木可以將文字轉換為聲音,讓程式真的說出來。

藍色角色:

程式開始先將顏色圖片移到定點。

當被選中,就將選色變數設為9,做為主程式判斷對錯的依據,並說出選色結果。

如果選的是其他顏色,會收到其他顏色的廣播,就將自己隱藏。

綠色角色:

程式開始先將顏色圖片移到定點。

當被選中,就將選色變數設為10,做為主程式判斷對錯的依據,並說出選色結果。

如果選的是其他顏色,會收到其他顏色的廣播,就將自己隱藏。

紅色角色:

程式開始先將顏色圖片移到定點。

當被選中,就將選色變數設為11,做為主程式判斷對錯的依據,並說出選色結果。

如果選的是其他顏色,會收到其他顏色的廣播,就將自己隱藏。

程式下載

延伸:

1.增加JUMP連接數位腳位6和蜂鳴器,在按鍵時發出特殊聲音,答對或答錯時也可以發出不同的音樂。

2.答對或答錯時更換不同的造型。

注意:

win10或Mac系統,才可以使用[說(……)]的擴充積木可以將文字轉換為聲音,讓程式真的說出來中文,否則只能說英文。

PS:

chromebook只會說英文,不會說中文。
win7系統請使用下面積木才可以說中文(需要網路)。
 

七、樓梯電燈

讓樓梯(房間)燈能樓上樓下雙切。

圖片來源:http://old.pep.com.cn/czwl/jszx/tbjx/jc/jxck8x/jc8s5/201008/W020100824562135618059.gif

上下樓梯時,若燈熄著,只要在樓下打開開關(ON),樓梯燈就會點亮,等人到樓上再把樓上的開關關掉(OFF),燈就會熄滅,此種控制電路即如下圖(a)所示。

圖片來源:http://content.saihs.edu.tw/contentbook/bep1/U1/09/d/d3.htm

按[KEY1]數位腳位13的黃色LED亮,再按[KEY2]或再按一次[KEY1]LED熄滅。

按[KEY2]數位腳位13的黃色LED亮,再按[KEY1]或再按一次[KEY2]LED熄滅。

延伸:

1.請比較按鍵的功能和家用開關有甚麼不同?這裡做的是模擬這個功能。

2.家用開關,程式設計請參考:

http://cheng-min-i-taiwan.blogspot.tw/2018/05/tinkercad-programming21led.html

—————————–

相關連結:

S32E(Scratch3 to Esp8266)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/113127/750388

S3i(Scratch3 to arduino iL學習板)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/113128/750428

S3A(Scratch3 to Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/113129/750447

arduino iL學習板課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/111175/727272

WFduino(Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433 

新DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192

roc

宜蘭縣國小資訊小站

您可能也會喜歡…