醬是創客的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電燈