震動開關

最後更新日期:2022-03-24 10:44:50

震動開關是常見的輸入元件,其外觀如下圖。長得很類似苗條版電解質電容

震動開關元件

其內部構造簡圖如下(詳細構造圖請參考Google搜尋),當元件受到足夠的震動,使得彈簧的部份與中間的導線接觸,就會形成瞬間的導通。

震動開關內部構造

震動開關連接方式相同於按鈕開關,請參考按鈕開關接線說明。

# 實作步驟

  • 學習使用
  • 設計電路圖
  • 連接電路
  • 搭建積木程式 & 執行

# 學習使用

當震動開關被觸動時,會點亮LED,再次被觸動時,則熄滅LED。

# 設計電路圖

電路圖設計如下:

震動開關電路圖

# 連接電路

實際線路如下圖,建議連接步驟如下,若您要移除電路時,請使用相反的順序進行即可。

  1. 於麵包板上連接相關元件
  2. 資料、控制腳位連接上樹莓派
  3. GND腳位連接上樹莓派
  4. VCC(5V or 3.3V)腳位連接上樹莓派

震動開關電路連接

# 搭建積木程式 & 執行

開啟積木程式畫面如下,若您已經下載代理程式,並且完成「rp_agent」設定,可以將首次使用須知下方的框框,勾選「不再顯示此訊息」,並按下「確定」按鈕。

PS. cwBlockly頁面請於樹莓派中執行。

積木程式首次使用須知

初始畫面如下。

積木程式初始畫面

依照上方的電路圖,此處震動開關要搭配樹莓派內建的上拉電阻(若不清楚可參考「開關元件」→「按鈕開關」)特性,積木位於「開關元件」→「上拉電阻 震動開關」。

震動開關定義積木

拖曳「震動開關定義積木」至RPi預設積木中。

震動開關定義積木

依據之前章節學習到的方式,建立一個LED元件積木,並將腳位設定為16。

LED定義積木

此處使用到一個「變量」,用來記錄燈亮與否。從「變量」選擇「建立變數...」。

建立變數積木

變數名稱輸入「light」,並按下確定。

建立變數積木

再次開啟「變量」,並選擇「設定light為」的積木。

選擇light變數積木

將其拖放至LED定義積木下方,並由「邏輯」區塊中,拖曳邏輯值積木連接,並設定為「假」(低電位)。

放置light變數積木

同時設定LED為「低電位」,即關燈狀態,對應light變數的「假」(低電位)。

設定LED為關燈

當震動開關觸發導通時,會進行開燈或是關燈的動作,此處接收「觸發」動作的積木,位於「開關元件」→「當 shake 震動開關觸發時」,並將其拖曳放置。

震動開關觸發事件積木

震動開關觸發事件積木

觸發事件的內容動作,留給讀者試試,底下會提供一種解法(未必是最佳的方式),思路是每次觸發時,變更light的值,由「真->假」或是由「假->真」,再設定LED開燈或關燈。

目前程式執行到此處就會結束,無法實現監聽按鈕按下的事件,所以後面加上一個無限迴圈,使此程式不結束。

讓程式不結束

下載本範例積木程式 Shake_01.rpb


若您對基礎電子套件有興趣,可至蝦皮賣場購買,若是學校團體亦可來信訂購,謝謝。

若對本篇教學文章有任何建議或問題,歡迎您來信:chipwaygo@gmail.com,謝謝。