震動開關
震動開關是常見的輸入元件,其外觀如下圖。長得很類似苗條版電解質電容。
其內部構造簡圖如下(詳細構造圖請參考Google搜尋),當元件受到足夠的震動,使得彈簧的部份與中間的導線接觸,就會形成瞬間的導通。
震動開關連接方式相同於按鈕開關,請參考按鈕開關接線說明。
# 實作步驟
- 學習使用
- 設計電路圖
- 連接電路
- 搭建積木程式 & 執行
# 學習使用
當震動開關被觸動時,會點亮LED,再次被觸動時,則熄滅LED。
# 設計電路圖
電路圖設計如下:
# 連接電路
實際線路如下圖,建議連接步驟如下,若您要移除電路時,請使用相反的順序進行即可。
- 於麵包板上連接相關元件
- 資料、控制腳位連接上樹莓派
- GND腳位連接上樹莓派
- VCC(5V or 3.3V)腳位連接上樹莓派
# 搭建積木程式 & 執行
開啟積木程式畫面如下,若您已經下載代理程式,並且完成「rp_agent」設定,可以將首次使用須知下方的框框,勾選「不再顯示此訊息」,並按下「確定」按鈕。
PS. cwBlockly頁面請於樹莓派中執行。
初始畫面如下。
依照上方的電路圖,此處震動開關要搭配樹莓派內建的上拉電阻(若不清楚可參考「開關元件」→「按鈕開關」)特性,積木位於「開關元件」→「上拉電阻 震動開關」。
拖曳「震動開關定義積木」至RPi預設積木中。
依據之前章節學習到的方式,建立一個LED元件積木,並將腳位設定為16。
此處使用到一個「變量」,用來記錄燈亮與否。從「變量」選擇「建立變數...」。
變數名稱輸入「light」,並按下確定。
再次開啟「變量」,並選擇「設定light為」的積木。
將其拖放至LED定義積木下方,並由「邏輯」區塊中,拖曳邏輯值積木連接,並設定為「假」(低電位)。
同時設定LED為「低電位」,即關燈狀態,對應light變數的「假」(低電位)。
當震動開關觸發導通時,會進行開燈或是關燈的動作,此處接收「觸發」動作的積木,位於「開關元件」→「當 shake 震動開關觸發時」,並將其拖曳放置。
觸發事件的內容動作,留給讀者試試,底下會提供一種解法(未必是最佳的方式),思路是每次觸發時,變更light的值,由「真->假」或是由「假->真」,再設定LED開燈或關燈。
目前程式執行到此處就會結束,無法實現監聽按鈕按下的事件,所以後面加上一個無限迴圈,使此程式不結束。
下載本範例積木程式 Shake_01.rpb。
若您對基礎電子套件有興趣,可至蝦皮賣場購買,若是學校團體亦可來信訂購,謝謝。
若對本篇教學文章有任何建議或問題,歡迎您來信:chipwaygo@gmail.com,謝謝。