在之前的許多教學中均有提到繼電器好用的地方,有了它,我們可以透過小小的電流去驅動使用較大電流電器的開關,例如家中的風扇、桌燈等等。在這一篇文章中,我們要來學習如何在NodeMCU中去啟閉繼電器。
在這個單元的練習中,我們使用如下所示的,給Arduino使用的繼電器模組:
這個模組在驅動的部份有3個連接線,如上圖所示,最左邊是S,也就是信號線,中間要給正電源,而右邊則是接地GND。要特別注意的是,正電源的標準電壓是5V。
如果單單只是使用NodeMCU的話,由於它只能輸出3.3V,而市面上給Arduino使用的繼電器模組都至少要5V,在這樣的情形下是沒有辦法讓NodeMCU直接驅動繼電器的。所幸,我們使用的擴充板本身還有擴充出USB的5V電源,因此,我們可以直接拿來使用,如下所示:
所以,連接的方式如下:
分別把繼電器的+及-連接到如上圖所示擴充板的位置,S信號線的部份就連接到D0,然後使用以下的程式碼即可驅動繼電器:
[code language=”python”]
from machine import Pin
import time
relay = Pin(16, Pin.OUT)
while True:
relay.on()
time.sleep(1)
relay.off()
time.sleep(1)
[/code]
從腳位圖中可以看得出來,D0其實就是GPIO16,所以在上述的程式碼中我們切換的是第16支腳。在把上述的程式以main.py的檔名上傳到NodeMCU板子上之後,按一下RESET按鈕,就可以看到繼電器以1秒的頻率開開關關了。執行結果如下: