三色LED模組是一個非常好玩,也很容易上手的LED模組,使用同一顆LED,透過RGB三個不同接腳給定不同的數值,就可以組合出非常多種顏色,十分有趣。在這一篇文章中,我們就來教同學們如何使用NodeMCU的MicroPython程式碼,讓三色LED產生出有趣的效果。

在這一個單元中,我們使用的三色LED模組如下:

由於它已經被加上限流電阻了,所以我們可以放心地直接送信號給它。如上圖所示,模組下方有四支接腳,最右邊那支接腳是要連接到地線GND用的,另外三支顧名思義,忚們上面都有標記,分別是要傳送給它的藍色、綠色、以及紅色數值,數值的大小代表顏色的強弱。一開始,我們只是先以數位輸出的方式,利用1和0來決定最大值還是沒有任何值,如此可以組合出基本的顏色。不過,在這裡我們先只示範3個基本顏色就好。

在電路連接的部份,如下圖所示:

為了方便固定,我們把它插到麵包板上,其實同學們也可以直接連接電路即可。另外一面我們從D1開始連接,分別把D1接到R,D2接到G,D3接到B,如下圖所示:

回到NodeMCU的接腳圖看一下,可以知道,D1對應到GPIO5,D2對應到DPIO4,而D3對應到GPIO0,所以程式碼就可以設計如下:

from machine import Pin
import time

ledR = Pin(5, Pin.OUT)
ledG = Pin(4, Pin.OUT)
ledB = Pin(0, Pin.OUT)

def turn(r, g, b):
    ledR.value(r)
    ledG.value(g)
    ledB.value(b)

while True:
    turn(1, 0, 0)
    time.sleep(0.5)
    turn(0, 1, 0)
    time.sleep(0.5)
    turn(0, 0, 1)
    time.sleep(0.5)

在這個程式碼中,我們設計了一個函數turn,方便我們一次設定3個接腳的輸出,0表示沒有輸出,而1表示最大值輸出。如此,這個程式在開始執行之後,就可以看到三色LED分別依三個顏色輪流顯示。執行的範例如下面的影片所示:

 

(93)