一、 Relay 繼電器模組運作原理
繼電器(Relay) 是 Arduino 專題中用來「小電(5V 數位訊號)控制大電(交流電/大電流)」的核心開關元件。當我們想透過 Arduino 控制家用電器或大功率馬達時,繼電器能提供隔離保護與自動開關功能。
模組核心運作機制
-
電磁開關機制: 繼電器內部包含電磁鐵線圈與機械觸點。當 Arduino 傳送高電位訊號時,線圈通電產生磁力吸引觸點閉合,形成通路。
-
控制端 Pin 腳(連接 Arduino):
-
VCC ( + ): 電源正極,連接 5V。
-
GND ( – ): 電源接地。
-
Signal ( S ): 訊號控制腳位,連接至 Arduino 數位腳位。
-
-
被控端端子(連接受控電源/電器):
-
公共端 (COM): 負載電源的輸入端。
-
常閉端 (NC, Normally Closed): 未觸發(Low)時與 COM 通路,觸發(High)時斷路。
-
常開端 (NO, Normally Open): 未觸發(Low)時與 COM 斷路,觸發(High)時通路。
-
二、 實驗所需材料與電路配線圖 (Hardware Setup)
請依照配線圖將繼電器模組的控制端(S、VCC、GND)連接至 Arduino Uno,並在被控端(COM、NO)串接 LED 與限流電阻以模擬開關控制。
準備材料
-
Arduino Uno 開發板 x 1
-
USB 傳輸線 x 1
-
5V 繼電器模組 x 1
-
直插 LED x 1
-
220Ω 限流電阻 x 1
-
麵包板與跳線 / 杜邦線
準備好你的硬體工具了嗎? 推薦選購:米羅科技 – Arduino 程式學習爆款套件組(包含豐富驅動專案模組)
腳位對接說明 (Pin Mapping)
三、 完整程式碼實作:繼電器電源控制
此程式無需下載額外的第三方函式庫,直接使用原生 digitalWrite() 進行繼電器吸合與斷開控制。
int relayPin = 8;
void setup()
{
pinMode(relayPin, OUTPUT);
}
void loop()
{
digitalWrite(relayPin, HIGH);
delay(3000);
digitalWrite(relayPin, LOW);
delay(1000);
}
四、 常見問題與除錯 (FAQ)
Q1:程式輸出 HIGH 時繼電器反而熄滅,輸出 LOW 時才亮起來?
解答: 市售繼電器模組分為 高電位觸發 (High-Level Trigger) 與 低電位觸發 (Low-Level Trigger)。若為低電位觸發模組,將被控開關改接至 NC 端子即可調整為預期的控制邏輯。
Q2:繼電器動作時發出「噠噠」聲,但控制的電器卻沒有運作?
解答: 發出「噠噠」聲代表繼電器內部的電磁線圈運作正常。請檢查被控端的線路是否錯接至 NC/NO 端子,並確認受控線路本身的電源回路與接地是否形成通路。
Q3:實作控制高功率電器(如馬達或水泵)時,Arduino 常常斷線重啟?
解答: 大功率電感性負載在啟動與關閉瞬間會產生感應反向電動勢與湧浪電流。建議將繼電器的 VCC 外接獨立 5V 電源,避免由 Arduino 直接供電造成電壓拉低重啟。