前面已經實現控制LED燈了,但是控制220v的家用燈怎么辦,加個繼電器
淘寶上的繼電器模塊基本上都是支持5v觸發的,3.3v觸發的不多(3.3v還沒到貨,沒測試)
之前因為不知道esp8266引腳3.3v無法觸發5v繼電器模塊導致一直沒成功(據說可接三極管放大信號觸發,沒貨所以沒測試)
先記錄幾個概念:
1.繼電器模塊使用方法(一般都是,我現在所接觸的):
(1)控制(觸發)端,給模塊供電用:
VCC:模塊供電(如5v)正極接入端
GND:模塊供電負極接入端
IN:模塊觸發輸入端(真正控制觸發端)
(2)被控制端,外接被控制電源端(如:220v)
NO:常閉端,繼電器沒觸發時通電,被控制電源接負極
COM:被控制電源正極輸入端
NC:常閉端,繼電器觸發時通電,被控制電源接負極
NO/NC端接一個即可
2.arduino uno開發板默認5v電壓,本實驗利用5v電壓觸發5v繼電器模塊
3.這次實驗是建立在本博客前面的文章基礎之上
4.用到的硬件有:
1.arduino uno開發板
2.esp8266開發板
3.5v繼電器模塊
4.面包板,導線等
5.先上arduino代碼燒錄(非Esp8266代碼),Esp8266代碼請參考前面文章
int button2 = 2; int button5 = 5; void setup() { Serial.begin(9600); pinMode(button2, INPUT); //設置arduino2號引腳為輸入端,接收Esp8266輸入3.3v電壓 pinMode(button5, OUTPUT); //設置arduino5號引腳為輸出端,輸出5v電壓控制繼電器 } void loop() { int buttonstate = digitalRead(button2); //arduino讀取2號引腳狀態值,1為有電壓,0為沒有 if (buttonstate == 0) { digitalWrite(5, LOW); //如果沒有電壓設置5號引腳為低(0v)電壓輸出 }else{ digitalWrite(5, HIGH); //如果有電壓設置5號引腳為高(5v)電壓輸出 } }
6.燒錄成功后連線,拍照有點亂,還是文字吧
1.先連arduino與Esp8266
(1)給esp8266供電:3v3引腳接arduino3.3v
(2)esp8266給arduino輸入電壓信號:D5引腳接arduino2號引腳
(3)esp8266 GND引腳接arduino GND引腳
2.繼電器連接arduino
(1)繼電器IN引腳接arduino ~5 引腳
(2)繼電器GND引腳接arduino GND引腳
(3)繼電器VCC引腳接arduino 5v電源引腳
3.繼電器被控制電源接入保證COM端接入正極,NC或NO端任選一個,串聯上LED燈即可(220v?先用5v的測試一下吧)
4.arduino通電(有點廢話),連接完成
7.打開小程序連接MQTT服務器試試吧,成功?!!!
8.本人純屬小白,大佬勿噴,記錄學習歷程。
推薦個學習arduino開發板學習b站視頻鏈接(純小白型):https://www.bilibili.com/video/av52628485?p=1