Search Code

用5V繼電器模組(低觸發)同Arduino

用5V繼電器模組(低觸發)同Arduino

喺呢個教學入面,我哋會探討點樣用5V繼電器模組同Arduino一齊使用,特別係專注於低觸發繼電器。繼電器可以讓你用低電壓嘅微控制器去控制高電壓設備,令佢成為各種自動化項目嘅重要組件。到呢個教學結束時,你將能夠用你嘅Arduino開關繼電器,呢個可以用嚟控制燈、馬達同其他設備。

為了達到這個目標,我們會寫一個簡單的Arduino程序,定期開關繼電器。這個項目很簡單,適合初學者了解繼電器如何與微控制器一起工作(在視頻的00:30)。

硬件解说

呢個項目所需嘅主要組件包括一塊Arduino板、一個5V繼電器模塊同埋跳線。Arduino板作為操作嘅大腦,向繼電器模塊發送信號以控制佢嘅狀態。繼電器模塊設計用嚟通過用Arduino發出嘅低電壓信號控制高電壓側,從而開關設備。

每個繼電器模塊通常包括一個光隔離器,用於低壓和高壓電路之間的隔離,保護Arduino免受反向電動勢和電壓尖峰的影響。在我們的情況下,我們將使用一個低觸發繼電器,這意味著當控制信號設置為LOW時,它會被激活。

數據表詳情

製造商通用
零件號碼5V 继电器模块
控制電壓5 伏
繼電器類型低觸發
最大负载电压250 伏交流 / 30 伏直流
最大负载电流10 A
光隔离
包裹模块

  • 確保在使用高負載時有適當的散熱。
  • 為高壓設備使用獨立電源。
  • 再次檢查接線以避免短路。
  • 確認繼電器的規格符合你預期的負載。
  • 喺連接高壓之前,用萬用表測試繼電器。

接線指示

controlling_Relay_AC_bulb_wiring_low_trigger

要接駁繼電器模組,首先將繼電器模組的 VCC 腳接到 Arduino 的 5V 腳。然後,將繼電器模組的 GND 腳接到 Arduino 的 GND 腳。繼電器的控制腳,通常標記為 IN,應該接到 Arduino 的數字腳,例如腳 8。這樣的設置可以讓 Arduino 控制繼電器的狀態。

一旦接線完成,你將會有 VCC 和 GND 為繼電器模組供電,而控制針腳會發送信號來開關繼電器。確保連接穩固,以防在運行過程中出現任何間歇性問題。如果你使用的是不同的 Arduino 板,請確保相應地映射控制針腳。

Relay wiring when load is OFF
Relay wiring when load is ON

代碼示例及步驟說明

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繼電器運作示範

圖片

5V LOW-LEVEL trigger relay
5V LOW-LEVEL trigger relay
Relay wiring when load is OFF
Relay wiring when load is OFF
Relay wiring when load is ON
Relay wiring when load is ON
5V HIGH-level trigger relay module
5V HIGH-level trigger relay module
controlling_Relay_AC_bulb_wiring_low_trigger
controlling_Relay_AC_bulb_wiring_low_trigger
7-Introduction to a 5V, 1-channel relay for Arduino
語言: C++
// 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
}

你可能需要嘅嘢

資源與參考資料

暫時冇資源。

文件📁

Fritzing 文件