醬是創客的ESP32教學主題第15篇,以Ai-Thinker安信可NodeMCU-32S(使用Arduino語言)來實作教學,本篇教學Arduino使用DO連動控制訊號線,並透過繼電器開啟、關閉110V LED電燈實作
以下是我們今天的目標
- pinMode須設定為OUTPUT來啟動DO功能
- digitalWrite(lampPin, LOW); 代表將lampPin設為低電位
- digitalWrite(lampPin, HIGH); 代表將lampPin設為高電位
設備:
安信可NodeMCU-32S #露天拍賣 #蝦皮購物
DC5V控制AC110V繼電器 #露天拍賣 #蝦皮購物
110V LED燈
接線方式:
NodeMCU-32S(GPIO22)–DO訊號–DC5V控制AC110V繼電器(IN訊號)
DC 5V(+)–DC5V控制AC110V繼電器(DC+)
DC 0V(-)–DC5V控制AC110V繼電器(DC-)
DC5V控制AC110V繼電器(COM)-2.0白扁線-110V市電火線
DC5V控制AC110V繼電器(NO)-2.0白扁線-110V LED電燈-110V市電水線
DC5V控制AC110V繼電器(H)使用高電位觸發
Ai-Thinker安信可NodeMCU-32S的腳位圍(資料來源:安信可)
繼電器專業知識與教學
繼電器線圈無電壓時,NC與COM導通
繼電器線圈有電壓時,NO與COM導通
COM部分都會接火線或DC的正極
NO與NC部分都會接水線或DC的負極
EX: 使用高電位觸發,當訊號線0V時不觸發: NC與COM導通,NO與COM不導通
EX: 使用高電位觸發,當訊號線高電位時觸發: NC與COM不導通,NO與COM導通
Arduino 範例程式碼如下
//醬是創客 開發實作的好夥伴 #include <WiFi.h> //Output Pin const int lampPin = 22; void setup() { Serial.begin(115200); //Pin22設定為DO pinMode(lampPin, OUTPUT); //預設關燈 digitalWrite(lampPin, LOW); } void loop() { //開燈 delay(10000); digitalWrite(lampPin, HIGH); //關燈 delay(10000); digitalWrite(lampPin, LOW); }
實際行為: 每10秒鐘打開/關閉LED電燈