This tutorial is part of: 使用 Arduino 控制继电器
这里是所有与接力赛相关的视频合集。其他视频的链接在本文下方。
用5V繼電器模組(低觸發)同Arduino
喺呢個教學入面,我哋會探討點樣用5V繼電器模組同Arduino一齊使用,特別係專注於低觸發繼電器。繼電器可以讓你用低電壓嘅微控制器去控制高電壓設備,令佢成為各種自動化項目嘅重要組件。到呢個教學結束時,你將能夠用你嘅Arduino開關繼電器,呢個可以用嚟控制燈、馬達同其他設備。
為了達到這個目標,我們會寫一個簡單的Arduino程序,定期開關繼電器。這個項目很簡單,適合初學者了解繼電器如何與微控制器一起工作(在視頻的00:30)。
硬件解说
呢個項目所需嘅主要組件包括一塊Arduino板、一個5V繼電器模塊同埋跳線。Arduino板作為操作嘅大腦,向繼電器模塊發送信號以控制佢嘅狀態。繼電器模塊設計用嚟通過用Arduino發出嘅低電壓信號控制高電壓側,從而開關設備。
每個繼電器模塊通常包括一個光隔離器,用於低壓和高壓電路之間的隔離,保護Arduino免受反向電動勢和電壓尖峰的影響。在我們的情況下,我們將使用一個低觸發繼電器,這意味著當控制信號設置為LOW時,它會被激活。
數據表詳情
| 製造商 | 通用 |
|---|---|
| 零件號碼 | 5V 继电器模块 |
| 控制電壓 | 5 伏 |
| 繼電器類型 | 低觸發 |
| 最大负载电压 | 250 伏交流 / 30 伏直流 |
| 最大负载电流 | 10 A |
| 光隔离 | 係 |
| 包裹 | 模块 |
- 確保在使用高負載時有適當的散熱。
- 為高壓設備使用獨立電源。
- 再次檢查接線以避免短路。
- 確認繼電器的規格符合你預期的負載。
- 喺連接高壓之前,用萬用表測試繼電器。
接線指示

要接駁繼電器模組,首先將繼電器模組的 VCC 腳接到 Arduino 的 5V 腳。然後,將繼電器模組的 GND 腳接到 Arduino 的 GND 腳。繼電器的控制腳,通常標記為 IN,應該接到 Arduino 的數字腳,例如腳 8。這樣的設置可以讓 Arduino 控制繼電器的狀態。
一旦接線完成,你將會有 VCC 和 GND 為繼電器模組供電,而控制針腳會發送信號來開關繼電器。確保連接穩固,以防在運行過程中出現任何間歇性問題。如果你使用的是不同的 Arduino 板,請確保相應地映射控制針腳。


代碼示例及步驟說明
int relayPin = 8; // define output pin for relay
void setup() {
pinMode(relayPin, OUTPUT); // define pin 8 as output
}
void loop() {
digitalWrite(relayPin, LOW); // turn the relay ON
delay(500); // wait for 500 milliseconds
digitalWrite(relayPin, HIGH); // turn the relay OFF
delay(500); // wait for 500 milliseconds
}
喺代碼入面,我哋首先定義繼電器嘅輸出針腳。relayPin設置為8。在setup()功能,我哋將呢個引腳配置為輸出。loop()函數透過寫入LOW到引腳持續切換繼電器狀態,將其打開,然後寫入HIGH,在500毫秒延遲後將其關閉。
示範 / 期待什麼
一旦接線和編程完成,你應該會觀察到繼電器每半秒會點擊一次,這表示Arduino成功控制了繼電器。如果你將高壓設備連接到繼電器,它應該會與繼電器的狀態同步開關。確保繼電器的額定電壓和電流適合你所控制的設備,以防止損壞(在視頻中於02:15)。
常見的陷阱包括接線錯誤,這可能導致繼電器無法按預期運作。此外,確保你使用的是低觸發繼電器;否則,你可能需要調整代碼以適應高觸發繼電器。
視頻時間戳
- 00:00項目介紹
- 00:30硬件概述
- 01:15接線指示
- 02:15繼電器運作示範
// April 1, 2017
// Written by Ahmad Shamshiri for Robojax.com video
// Introduction to 5V relay.
// Watch video for this code: https://www.youtube.com/watch?v=7tUGUXyloXQ
/*
* Please keep this note with the code.
* This code is available on Robojax.com
*
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int relayPin = 8;// define output pin for relay
void setup() {
pinMode(relayPin, OUTPUT);// define pin 8 as output
}
void loop() {
digitalWrite(relayPin, LOW); // turn the relay ON (low is ON if relay is LOW trigger. Change it to HIGH if you have a HIGH trigger relay)
delay(500); // wait for 500 milliseconds
digitalWrite(relayPin, HIGH);// // turn the relay OFF (HIGH is OFF if relay is LOW trigger. Change it to LOW if you have a HIGH trigger relay)
delay(500);// wait for 500 milliseconds
}
你可能需要嘅嘢
-
亞馬遜1 Channel 5V Relay Moduleamzn.to
-
邦购Purchase 1 channel 5V relay from Banggoodbanggood.com
資源與參考資料
暫時冇資源。
文件📁
Fritzing 文件
-
5V Relay Module_LOW_trigger
5V Relay Module_LOW_trigger.fzpz0.08 MB -
5V RELAY 2.0
5V RELAY 2.0.fzpz0.02 MB