S3i第11課滾珠開關

滾珠開關

也稱為震動傳感器或傾斜感測器,可以控制通路或斷路的開關,也可用來偵測是否傾斜。

微動開關、按鍵開關、磁簧開關等原理也都類似,可以控制電路的通路或斷路,也都可以參考本課的教學及範例。(註1)

一、基本測試

iL學習板有2個滾珠開關,分別接數位腳位D5和D8

A、滾珠開關模組1:[SW1]

使用Jump直接將D5和[5 SW1]連接:

左右搖動板子(滾珠開關),當形成通路時,數位腳位D5讀到高電位(1),當變成斷路,數位腳位D5讀到低電位(0),測試讀取結果。

設定腳位5模式為INPUT。

加上[說(讀取數位腳位(5))],可以從螢幕上看到讀取(輸入)的結果。

如果形成通路時,數位腳D5得到1(高電位)。

否則(變成斷路時),數位腳D5是0(低電位)。

測試結果:左下右上時為1,左上右下時為0

程式下載:

延伸:

1.請同學思考[重複無限次]這個積木可不可以去掉?

2.試試看去掉後的執行結果有什麼不同?

3.加上LED指令,讓通路時LED會亮,斷路時LED會熄滅。

4.加上蜂鳴器指令,讓通路時蜂鳴器會響。

B、滾珠開關模組2:[SW2]

使用Jump直接將D8和[8 SW2]連接:

前後搖動板子(滾珠開關),當形成通路時,數位腳位D8讀到高電位(1),當變成斷路,數位腳位D8讀到低電位(0),測試讀取結果。

設定腳位8模式為INPUT。

加上[說(讀取數位腳位(8))],可以從螢幕上看到讀取(輸入)的結果。

如果形成通路時,數位腳D8得到1(高電位)。

否則(變成斷路時),數位腳D8是0(低電位)。

測試結果:前上後下時為1,前下後上時為0

程式下載

延伸:

1.請同學思考[重複無限次]這個積木可不可以去掉?

2.試試看去掉後的執行結果有什麼不同?

3.加上LED指令,讓通路時LED會亮,斷路時LED會熄滅。

4.加上蜂鳴器指令,讓通路時蜂鳴器會響。

二、運用數位輸入來控制LED亮或滅

搖動滾珠開關,黃色LED亮燈或熄滅。

使用Jump直接將D5和[5 SW1]、D8和[8 SW2]及D13和[13LDY]連接:

使用滾珠開關1(SW1)控制

先設定D5為輸入[INPUT]

加上[說(讀取數位腳位(5))],可以從螢幕上看到讀取(輸入)的結果。

如果接通時,數位腳D5得到1(高電位),這時就給數位腳D13輸出一個高電位(1),讓黃色LED亮。

否則(沒有接通時),數位腳D5是0(低電位),這時就設定腳為13為低電位,讓黃色LED熄滅。

程式下載

延伸

1.請同學思考[重複執行]這個積木可不可以去掉?

2.試試看去掉[重複執行]這個積木後的執行結果有什麼不同?

3.加上蜂鳴器,讓滾珠開關通路時蜂鳴器會響。

4.將程式修改成使用滾珠開關2(SW2)控制

5.修改程式,使用滾珠開關1(SW1)及滾珠開關2(SW2)一起控制

6.搖動板子,讓滾珠開關形成通路又斷路,每次改變,螢幕上就隨機顯示1~6的數字,模擬搖骰子。

三、彈奏鼓聲

搖動滾珠開關讓LED亮,並使用電腦喇叭發出鼓聲。

重複執行:判斷滾珠開關是否接通,讀取數位腳位(5)的值。

如果開關接通時(數位腳位5的值=1),就輸出一個1(高電位)給數位腳13,讓LED亮,並[彈奏鼓聲]

可以選擇發出不同的[鼓聲]及節拍。

程式下載:

四、打擊樂(鑼)

搖動滾珠開關讓LED亮,並使用電腦喇叭發出音樂聲

將程式的[彈奏鼓聲]改為[播放聲音],可以選擇發出不同的[聲音]

選取程式的[音效],點選新聲音的小喇叭圖示

選擇要播放的聲音檔(可以先點檔案內的小三角形試聽),按[確定]。

這次選敲鑼。

重複執行:判斷滾珠開關是否接通。

如果開關接通時(數位腳位5的值=1),就輸出一個1(高電位)給數位腳13,讓LED亮,並發出鑼聲的音效。

程式下載:

五、打擊樂(修正)

如果開關一直接通,會發現鑼聲被中斷變成不像鑼聲。

修正如下:

改成[播放音效…..直到播放完畢],可以讓鑼聲完整的播完。

程式下載:

六、播放音樂

搖動滾珠開關讓LED亮,並使用電腦喇叭發出scratch音樂聲或錄音。

重複執行:判斷滾珠開關是否接通,讀取數位腳位(5)的值。

如果開關接通時(數位腳位5的值=1),就輸出一個1(高電位)給數位腳13,讓LED亮,並播放音效。

選擇長一點的音效,變成按下按鍵播放一首音樂。

程式下載:

七、播放樂器聲音

如果將程式的[播放音效],修改為使用[設定樂器為..],加上[彈奏音符……]的指令,就可以發出更悅耳的聲音了。

設定腳位5為[輸入]。

使用[設定樂器為(…)],可以選擇不同的樂器

使用[彈奏音符(音階)(…)拍,來設定(音階)和節拍。

程式下載:

八、播放樂器聲音(延伸)

搖動滾珠開關讓電腦喇叭發出兩種音調。

搖動滾珠開關,當滾珠開關接通時發出一個音階,當滾珠開關沒有接通時發出另一個音階,就會發出模擬救護車的聲音。

程式下載:

九、改變主角造形

搖動滾珠開關讓LED亮,並讓小貓改變造型移動,像走路一樣。

設定腳位5為[輸入]。

主程式跟上面一樣,再多加[下一個造型]及[播放音效…到底]指令,當搖動滾珠開關,播放音效並改變主角造型。

加上[移動5步],讓小貓看起來像在走路。

程式下載:

感覺小貓走路卡卡的,不連續。

請再檢查程式讓小貓可以像下面影片一樣,連續移動。

將[播放音效…到底]指令改成[播放音效],就可以連續移動了。

可是聲音變成怪怪的囉,為什麼?

程式下載:

延伸:

如果將[播放音效]積木移除,動作就可以連續了。

十、主角做特效

搖動滾珠開關控制螢幕主角做特效動作。

增加錄音效果

1.點選[音效],再點[麥克風]圖樣,再點黑色圓點開始錄音

圓點變成紅色,開始錄音,錄好,再按一下,完成錄音。

按[編輯]可以作一些簡單的剪輯。

重複判斷滾珠開關是否接通?

如果滾珠開關沒有接通,就說 [請搖動開關!]

如果滾珠開關接通時,就說[啊!我變形了!],並做魚眼效果及播放錄音音效。

程式下載:

延伸:

1.改用其他特效試試看。

2.可再增加聲音效果,或變換造型,或移動…….

十一、演奏自編歌曲

搖動滾珠開關就彈奏演奏自編歌曲。

主程式:

設定樂器種類,上圖[設定樂器為1] 是鋼琴。

重複執行:判斷滾珠開關是否接通,讀取數位腳位(5)的值。

如果滾珠開關接通時(數位腳位5的值=1),就輸出一個1(高電位)給數位腳13,讓LED亮,並演奏自編歌曲。

否則就輸出一個0(低電位)給數位腳13,讓LED熄滅。

製作音樂積木:

因為歌曲常常有一些重複的曲段,所以用積木來編排,節省程式長度,比較簡潔。

如果想要變換樂器聲音,只要更改[樂器種類]就可以了。

以小星星為例,主要分成3段,各用了2次。

主程式變得很簡短。

PS:如果使用[製作一個積木]來寫程式的好處就是程式比較有規律,修改、除錯都比較容易。

程式下載:

十二、搖動演奏歌曲

搖動滾珠開關,接通就彈奏一個單音,一直接通就一直演奏,斷開就停止演奏。

主程式:

設定樂器種類,上圖[設定樂器為1] 是鋼琴。

重複執行:演奏歌曲的音樂積木。

製作音樂積木:

[等待讀取數位腳位(5)=0],判斷滾珠開關是否有接通,如果滾珠開關接通,就進行下一步[彈奏音符…….],發出一個音。

將歌曲音符編排好,當滾珠開關接通時,就彈奏一個音符。

這樣就可以依序將歌播完。

因為歌曲常常有一些重複的曲段,所以用積木來編排,節省程式長度,比較簡潔。

如果想要變換樂器聲音,只要更改[樂器種類]就可以了。

以小星星為例,主要分成3段,各用了2次。

主程式變得很簡短。

PS:如果使用[製作一個積木]來寫程式的好處就是程式比較有規律,修改、除錯都比較容易。

程式下載:

延伸:

1.學生自由創作不同的音樂

2.如何加快音樂節奏?

3.增加蜂鳴器,改成使用蜂鳴器來演奏樂曲。

十三、計數器

搖動滾珠開關一次,計數器加1,計算搖動滾珠開關次數。

建立一個變數 [ 計數器 ]。

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

重複執行:判斷開關是不是有接通,讀取數位腳位(5)的值。

如果開關接通時(數位腳位5的值=1),就輸出一個1(高電位)給數位腳13,讓LED亮,並將計數器的值加1

程式下載:

十四、計數器(修正)

上面的程式跟我們的需求是不符的,如果滾珠開關一直接通,變數就會一直累加。。

因為滾珠開關一直接通,數位腳5會一直收到高電位直到放開,所以計數器的值就一直累加上去了。

要如何修正呢? 

[等待讀取數位腳5=1] ,等待滾珠開關接通後就亮燈,並讓計數器的值加1。

[等待讀取數位腳5=0],等開關斷路後就關燈。

重複執行上面的步驟。

程式下載:

延伸:

1.增加倒數計時功能,限制時間內的看誰搖動開關最多次。

2.將滾珠開關綁在腳上當成計步器,紀錄走路次數。

十五、賽跑遊戲

搖動滾珠開關,讓螢幕上的小貓往右跑,計算跑到終點需要多久的時間?

.

設定腳位5為[輸入]。

[定位到X:…Y:… ],先讓小貓就起始位置。

[等待讀取數位腳12=1] ,等待按下[按鍵1],再重新開始計時。

[計時器重置],計時器重新開始計時。

重複執行:判斷滾珠開關是不是有接通,讀取數位腳位(5)的值。

[等待讀取數位腳5=1] ,等待滾珠開關接通後,就讓腳色往前移動20步。

如果碰到終點線,就說出計時器時間,停止這個腳色。

[等待讀取數位腳5=0],等開關斷路後,再執行下一次判斷。

程式下載:

延伸:

改用滾珠開關2[SW2]來控制小貓前進

程式下載:

延伸:

1.跟同學比賽,看看誰跑得快(看誰時間最短)?

2.將板子(滾珠開關)綁在手上(頭上、腳上),比賽時跑(搖)得快?

十六、飛天小貓遊戲

搖動滾珠開關,讓螢幕上的小貓上下移動,碰到建築物或雲生命值就減一,生命值等於零時就結束遊戲。

主畫面

1.舞台

設定一開始[生命值]變數,播放背景音樂,檢查[生命值]為0就結束遊戲。

2.飛天小貓

[腳位8模式設為INPUT]:設定滾珠開關2(SW2)模式為輸入。

先將角色移到固定位置。

重複執行,如果滾珠開關接通,貓就往上移動,否則(滾珠開關未接通)貓就往下移動。

再搭配建築物、雲等背景的移動和造型變化,看起來就像在飛行一樣了。

3.障礙物(建築物、雲)

程式下載:

十七、滑板衝浪(水平測量儀)

將滾珠開關平放在平衡板上,當平衡板沒有維持水平時,滾珠開關就會接通或斷開,可以由程式來判斷平衡板是否水平,做成平衡遊戲,畫面上可以同時出現小貓做平衡的畫面增加趣味性。

十八、搖頭晃腦方向燈

https://youtube.com/watch?v=oh__q2X-Vaw

參考宜蘭縣國華國中學生作品,將滾珠開關裝在安全帽上,使用滾珠開關來控制方向燈。

十九、樓梯電燈

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

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

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

使用滾珠開關模擬家用開關

搖動[SW1]讓數位腳位13的黃色LED亮,搖動[SW2]或再搖動一次[SW1]讓LED熄滅。

延伸:

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

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

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

————————–

註1:

震動開關:
也稱為震動傳感器或傾斜感測器,依構造可以分為:彈簧開關、滾珠開關、水銀開關。可以控制通路或斷路的開關,也可用來偵測是否傾斜。

水銀開關: 

滾珠開關:

彈簧開關:

微動開關、按鍵開關、磁簧開關等原理也都類似,可以控制電路的通路或斷路,也都可以參考本課的教學及範例。

水銀開關

資料來源:https://zh.wikipedia.org/wiki/%E6%B0%B4%E9%8A%80%E9%96%8B%E9%97%9C

水銀開關,又稱傾側開關,是電路開關的一種,以一接著電極的小巧容器儲存著一小滴水銀,容器中多數注入惰性氣體或直接真空。

注意:

水銀對人體及環境均有毒害,故此使用水銀開關時,請務必小心謹慎,以免破損導致水銀漏出;在不再使用時,也應該妥善處理。

滾珠開關:

可以控制通路或斷路的開關,也可用來偵測是否傾斜。

金屬小管子有兩隻腳,在管子內有一顆或2顆金屬球,當管子成直立狀態,也就是腳朝下時,金屬球會落下接觸管子內的兩個接觸點接通兩隻腳,形成通路,若管子傾斜到一定程度後,就會斷路。

圖片來源:https://bizweb.dktcdn.net/100/017/780/files/sw520.png?v=1457663311199

(圖片來源:https://www.google.com.tw/imgres?imgurl=http%3A%2F%2Fwww.blswitch.com%2FimageRepository%2Fbfbe8424-8c62-4274-b377-2e20941ac321.jpg&imgrefurl=http%3A%2F%2Fwww.blswitch.com%2Fpro%2FpmcId%3D22.html&docid=_TsMRczrkXut7M&tbnid=KN_apMOscuRCMM%3A&vet=10ahUKEwjT8pbstNDVAhXHVZQKHRfrBkEQMwgrKAgwCA..i&w=500&h=380&bih=633&biw=1280&q=%E6%BB%BE%E7%8F%A0%E9%96%8B%E9%97%9C&ved=0ahUKEwjT8pbstNDVAhXHVZQKHRfrBkEQMwgrKAgwCA&iact=mrc&uact=8 )

彈簧開關:

金屬小管子裡面,有一個導電彈簧及導電接腳,在晃動的時候,彈簧及導電接腳互相接觸,形成通路。

圖片來源:http://www.ksdkg.com/uploadfile/CKEditor/20093211504386.jpg

磁簧開關


(圖片來源:http://ming-shian.blogspot.tw/2013/01/blog-post.html )

微動開關

註2:

資料來源:http://yehnan.blogspot.tw/2013/09/arduinotilt-ball-switch.html

註3:

讀取資料時,常常因為受到環境雜訊的影響,會發生讀取訊號不穩定的現象(有時讀取到 HIGH 有時卻讀取到 LOW),造成讀取判斷錯誤。為了確保它在穩定的狀態,,必須接個上拉電阻或下拉電阻。

詳細說明請參考:http://blog.ilc.edu.tw/blog/blog/868/post/97509/656348

—————————–

相關連結:

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

宜蘭縣國小資訊小站

您可能也會喜歡…