實驗說明
傳統方式要控制多顆 RGB LED 燈條在電路接線和程式控制方面是非常麻煩的。米羅跟大家介紹一款WS2812 RGB LED,它是內建驅動晶片功能的LED,並是使用5050 LED封裝加入驅動晶片,驅動方式採串列進出。
因此不管你要控制幾顆 RGB LED,都只需要使用 3 支腳位就足夠了,它可以將數據用串列的方式傳輸下去,讓多個燈環串在一起並達到燈火輝煌的效果。本篇將使用NodeMcu驅動16顆LED串列燈條。
材料
- 16位WS2812光環
- 杜邦線
- NodeMCU
- USB傳輸線
Arduino 物聯網 開發板與周邊零件 | 最佳選擇:https://shop.mirotek.com.tw
接線說明
安裝Adafruit NeoPixel程式庫
- 在 Arduino IDE 整合環境功能表點選 草稿碼 / 匯入程式庫 / 管理程式庫。
- 在右上方搜尋框輸入「Adafruit NeoPixel」,下方會列出所有符合條件的程式庫,不同程式庫使用的程式碼並不相同。此處點 選「Adafruit NeoPixel 」,該項目右下角會出現「安裝」鈕,按「安裝」鈕開始安裝。
開啟內建範例檔
修改範例程式
- 將第20行(#define LED_PIN 6)中的6改成連接Node MCU的Pin
- 將第23行(#define LED_COUNT 60)中的60改成16,代表16顆LED
主程式說明
- 第57.58.59行 : 沿燈環改變各種顏色 (第57行 : 紅色,第58.行 : 綠色,第59行 : 藍色)
- 第62.63.64行 : 做各種顏色的跑馬燈效果
- 第66行 : 沿著燈環產生彩虹效果
- 第67行 : 跑馬燈+彩虹效果
Arduino 物聯網 開發板與周邊零件 | 最佳選擇:https://shop.mirotek.com.tw