【2025最新】Arduino 繼電器教學:簡單控制高電壓設備

在 Arduino 專案中,我們經常需要控制高電壓設備,例如燈泡、風扇、電磁閥或其他家用電器。然而,Arduino 本身只能輸出 5V 低電壓訊號,無法直接驅動 110V 或 220V 的電器。這時候,繼電器(Relay) 就成為不可或缺的元件。

繼電器是一種電子開關,能夠透過 Arduino 的低電壓訊號,來控制高電壓電器的開關。這讓我們能夠使用 Arduino 進行 智慧家居、自動控制、遠端開關 等應用。無論是控制家裡的燈光,還是打造 DIY 智能電器,繼電器都是最簡單且安全的解決方案。

本教學你將學到什麼?

本篇教學適合 Arduino 新手 或 想學習繼電器控制 的讀者,我們將一步步介紹:

  • 繼電器的工作原理與種類
  • 如何將繼電器模組接線到 Arduino(含電路圖)
  • Arduino 控制繼電器的完整程式碼
  • 常見錯誤與解決方法
  • 應用案例:智慧家居、風扇開關、自動化控制

為什麼要學習 Arduino 繼電器?

學習如何使用 Arduino 控制繼電器,不僅能提升你的電子技能,也能為你的專案開啟更多可能性。例如:

  • 智慧家居自動化(例如使用感測器來自動開關風扇)
  • 省電應用(讓設備根據時間或環境變化自動運作)

接下來,我們將從 繼電器的基本原理 開始,帶你一步步學會如何使用 Arduino 輕鬆控制高電壓設備!

繼電器(Relay)是一種電磁開關,它透過低電壓電流來控制高電壓設備的開關。其內部主要由電磁線圈、可動觸點、靜態觸點組成。當線圈通電時,會產生磁場吸引可動觸點,使其與靜態觸點接觸,從而導通電路;當線圈斷電時,磁場消失,觸點恢復斷開狀態。這種機制讓微控制器(如 Arduino)能夠安全地控制大功率裝置,如燈泡、風扇、馬達等。

繼電器的種類
根據不同的設計與應用需求,繼電器可分為以下幾種:

  • 機械式繼電器(Electromechanical Relay, EMR):

透過電磁線圈驅動物理觸點開關,適用於家電控制、工業自動化等。

  • 固態繼電器(SSR)(Solid State Relay):

利用電子元件(如光耦合器)進行開關控制,無機械接點,壽命長且反應速度快,適用於高速開關的應用。

  • 單刀單擲(SPST)/ 單刀雙擲(SPDT)繼電器:

SPST(Single Pole Single Throw):只有一組開關,簡單開關電路。
SPDT(Single Pole Double Throw):一進兩出的開關,可切換兩個電路。

  • 多通道繼電器模組:

市面上常見的 1 路、2 路、4 路、8 路繼電器模組,可同時控制多個設備,適合 Arduino 應用。

實驗準備材料

  • Arduino UNO x 1
  • 二路 5V Relay(繼電器) x 1
  • LED燈 x 2
  • 220Ω電阻 x 2
  • 麵包板 x 1
  • 杜邦線 x 數條

*注意事項:Arduino UNO Pin腳輸出電壓值為5V,避免在購買Relay時,選錯驅動電壓,分享這優良店家連結,方便大家購買材料,連結如下:

https://s.shopee.tw/7Kird4rloq

控制Relay實驗材料
Relay電壓&電流規格

如何將繼電器模組接線到 Arduino(含電路圖)

我們將以大家熟悉的 Arduino LED 閃爍(LED Blinking)作為示範。雖然 LED 閃爍可直接由 Arduino 的數位腳位驅動,但由於這通常是初學者接觸 Arduino 的第一個實作範例,因此能幫助理解開關動作的原理。在此,我們將使用繼電器來取代 Arduino 腳位的開關功能,透過兩者的對應關係,使概念更直觀易懂。

  • 繼電器輸入端接腳:

VCC—接電源
GND—接地
IN—接Arduino Pin腳

  • 繼電器輸出端接腳:

NO (Normally Open)—常開(電路一般是不導通)
COM (Common)—表示共接點
NC (Normally Close)—常閉(電路一般是導通)

此處使用繼電器的常開(NO,Normally Open)端來控制 LED 電源。因此,啟動時 LED 預設為熄滅,當 Arduino Pin 輸出 HIGH 訊號後,繼電器閉合,LED 才會亮起。

接線圖請參考底下:

2路Relay接線圖

繼電器(Relay)作動原理:

繼電器(Relay)是一種電磁開關,透過低電壓訊號來控制高電壓電路。內部由電磁線圈、可動觸點、靜態觸點組成。當線圈通電時,會產生磁場吸引可動觸點,使電路導通;當線圈斷電時,磁場消失,觸點恢復斷開狀態。

下圖取自維基百科,示意 Arduino 控制繼電器線圈通電,從而觸發輸出端的開關動作。

Relais_Animation
取自維基百科-繼電器說明

Arduino 控制繼電器的完整程式碼

				
					int relay1 = 5;
int relay2 = 8;

void setup() {
  // put your setup code here, to run once:
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(relay1, HIGH);
  digitalWrite(relay2, LOW);
  delay(1000);
  digitalWrite(relay1, LOW);
  digitalWrite(relay2, HIGH);
  delay(1000);
}

				
			

在程式中,我們使用 Arduino 的 Pin 5 和 Pin 8 作為輸出。當 relay1 = HIGH 時,繼電器閉合,電源接通,LED 亮起;反之,當 relay2 = LOW 時,繼電器斷開,LED 熄滅。

在底下影片中,可以聽到繼電器吸磁和脫磁的彈片聲音,像是按家裏牆壁上開關一樣。

Arduino 控制繼電器的 5 大常見錯誤與解決方法

  1. 繼電器無法觸發(無反應)
  • 可能原因:Arduino 提供的訊號電壓不足(部分繼電器模組需要 5V 訊號,但 Arduino 可能輸出3V)。
  • 解決方法:確認繼電器的驅動電壓,若需要 5V,請使用 Arduino Uno(5V 輸出) 或加裝 電位提升模組。
  1. 繼電器一直吸合(無法關閉)
  • 可能原因:程式碼設定錯誤,或繼電器模組的 低電平觸發(LOW Trigger) 沒有正確考慮。
  • 解決方法:檢查程式碼,若是 LOW 觸發繼電器,請使用 digitalWrite(pin, LOW); 來啟動,digitalWrite(pin, HIGH); 來關閉。
  1. 繼電器開關時,Arduino 重新啟動
  • 可能原因:繼電器開關時產生電磁干擾(EMI),影響 Arduino 電路穩定性。
  • 決方法:使用獨立電源 供應繼電器模組,不要與 Arduino 共用同一電源。加裝二極體(如 1N4007) 在繼電器線圈兩端,吸收反向電流。
  1. 繼電器作動,但無法控制電器
  • 可能原因:繼電器的觸點接線錯誤,或電器需要更高功率。
  • 解決方法:確認繼電器的 COM(公共端)、NO(常開端)、NC(常閉端) 是否正確接線。檢查電器的功率是否超過繼電器的負載能力(如 10A/250V)。
  1. 繼電器開關時,出現噪音或抖動
  • 可能原因:供電電壓不穩定,或 Arduino 訊號不乾淨。
  • 解決方法:確保電源穩定,可加裝 電解電容(如 1000µF) 過濾雜訊。若使用機械式繼電器,可改用 固態繼電器(SSR) 減少抖動與噪音。

應用案例:智慧家居、風扇開關、自動化控制

我們將製作一個電源插座,一側為 Arduino UNO 供電,另一側則連接繼電器,如下圖所示。

如果你對這個電源插座的製作過程感興趣,歡迎留言告訴我,我會準備一篇詳細的教學與大家分享!

Control-Relay-Test_1

這是一顆單通道繼電器,我們將其 IN 腳位連接至 Arduino UNO 的 Pin 8。當程式上傳至 Arduino UNO 後,使用 9V 電源適配器供電,而非 USB 供電,以便控制 110V 家電或其他裝置。我也會分享兩種測試裝置,供大家參考!

結語

透過本篇教學,你已經學會了 繼電器的工作原理、接線方法、Arduino 控制技巧,以及常見錯誤的解決方案。繼電器讓 Arduino 可以安全地控制高電壓設備,為智慧家居、自動化設備、遠端控制等應用開啟更多可能性。

在實作時,請務必確認電壓與電流匹配,確保接線正確,並使用適當的保護元件(如二極體與濾波電容),以提升系統穩定性。

現在,你可以開始你的第一個 Arduino 繼電器專案,例如 遠端開關燈光、定時控制風扇 或 自動化設備!希望這篇文章對你有幫助,歡迎分享你的成果,讓更多人一起學習 Arduino!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端