1組是常沒有任何控制訊號輸入的狀態下會連通(常閉)。
另1組是有控制訊息輸入時,才會連通的(常開)。
至於那一組可能要看一下說明書才知道,繼電器種類很多。
手上這一個是單路繼電器,是常閉式,如果沒有控制訊號時,
是會一直導通的,DAT 為高電位時,則會斷路。
繼電器的左右二邊的電路通常是分開的,左邊是控制用,像這顆控制端是DC 5V,
而右邊則可以接受DC 30V ,AC 250V的能耐,所以可以用Arduino去控制電器。 下圖是繼電器的運作方式
圖片來源 WIKI
簡單來說就是DAT腳位變成高電位後,電磁鉄會把原本斷開的路導通,或者是像我這顆
模組一樣,把原本導通的路弄成斷路。
接下來是我要作的範例,利用這一篇所提到的PIR(被動式人體紅外線感測模組),
來控制Relay的動作,搭配一顆LED,有人經過時LED就會滅掉,沒人時會亮著。
Arduino吃的是電腦USB供的電,而relay吃的則是9V電源供應器給的電,透過麵包板
電源模組轉成3.3V給LED吃,建議加個限流電阻,我這是偷懶,有燒壞LED風險。
PIR Arduino
-------------------
VCC 5V
GND GND
OUT D3
Relay Arduino
---------------------
VCC 3.3V
GND GND
DAT D13
LED 正極接麵包板VCC(3.3V),負極接Relay 輸出的+ ,
Relay輸出的- 接在麵包板GND。
程式碼
const int PIRSensor = 3; // 紅外線動作感測器連接的腳位 const int relayPin = 13; // LED 腳位 int sensorValue = 0; // 紅外線動作感測器訊號變數 void setup() { pinMode(PIRSensor, INPUT); pinMode(relayPin, OUTPUT); } void loop(){ // 讀取 PIR Sensor 的狀態 sensorValue = digitalRead(PIRSensor); // 判斷 PIR Sensor 的狀態 if (sensorValue == HIGH) { digitalWrite(relayPin, HIGH); // 有人,開燈 } else { digitalWrite(relayPin, LOW); // 沒人,關燈 } }
執行結果
Relay運作時,可以很明顯聽到一個閉/開 路的聲音。
參考來源:
WIKI
[Arduino] 人體紅外線模組
沒有留言:
張貼留言