Blynk使用NodeMCU控制WS2812新像素LED帶
led幾乎用于所有的裝飾照明,但它們大多數(shù)只產(chǎn)生一種顏色。因此,為了創(chuàng)造一個(gè)美麗的光模式,使用多色LED條,這不僅消耗更多的電力,而且難以管理。今天我們使用的是新一代LED- NeoPixel,它可以產(chǎn)生1680萬(wàn)種顏色。NeoPixels是可編程的,通過正確的編程,它可以創(chuàng)建許多美麗的照明模式。這里將使用NodeMCU和Blynk應(yīng)用程序通過互聯(lián)網(wǎng)控制NeoPixel LED條的顏色和亮度。Blynk是一個(gè)智能手機(jī)應(yīng)用程序,使用它我們可以通過智能手機(jī)控制任何基于物聯(lián)網(wǎng)的應(yīng)用程序。
組件的要求
?WS2812b LED帶- 1米
?5V, 2amp電源
?ESP8266 NodeMCU
?LED帶狀連接器
WS2812新像素LED帶工作
WS2812 LED條是可尋址和可編程的柔性LED條,在創(chuàng)建定制照明效果方面非常有用。這些LED燈帶由5050 RGB LED供電,其中內(nèi)置WS2812 LED驅(qū)動(dòng)器。每個(gè)LED消耗60mA電流,可以從5V直流電源供電。它有一個(gè)單一的輸入數(shù)據(jù)引腳,可以從微控制器的數(shù)字引腳饋送。
特點(diǎn):
?可單獨(dú)尋址的RGB led
?每像素1680萬(wàn)色
?單線數(shù)字控制
?工作電壓:5V DC
?電流要求:每個(gè)LED 60mA
?柔性LED結(jié)構(gòu)
?5050 RGB LED與WS2812驅(qū)動(dòng)程序
連接圖:
NeoPixel NodeMCU的電路圖如下:
下圖顯示了NeoPixel ESP8266的設(shè)置
用于控制新像素的Blynk應(yīng)用程序設(shè)置
Blynk是一款運(yùn)行在Android和IOS設(shè)備上的應(yīng)用程序,可以使用智能手機(jī)控制任何基于物聯(lián)網(wǎng)的應(yīng)用程序。我們以前使用Blynk與NodeMCU和樹莓派來(lái)控制LED,也使用Blynk應(yīng)用程序建立一個(gè)氣象站。它允許您為物聯(lián)網(wǎng)應(yīng)用程序創(chuàng)建圖形用戶界面。在這里,我們將設(shè)置Blynk應(yīng)用程序,使用NodeMCU ESP8266通過Wi-Fi控制NeoPixel LED。
所以首先從Google Play商店下載并安裝Blynk應(yīng)用程序(IOS用戶可以從App store下載),并使用您的電子郵件id和密碼注冊(cè)。
創(chuàng)建一個(gè)新項(xiàng)目:
安裝成功后,打開應(yīng)用程序,點(diǎn)擊“新建項(xiàng)目”。然后它將彈出一個(gè)新屏幕,我們需要在其中設(shè)置項(xiàng)目名稱、Board和連接類型等參數(shù)。對(duì)于這個(gè)NeoPixel ESP8266項(xiàng)目,選擇設(shè)備為NodeMCU,連接類型為Wi-Fi,然后點(diǎn)擊“創(chuàng)建”。
在成功創(chuàng)建項(xiàng)目之后,我們將在掛號(hào)郵件上獲得一個(gè)身份驗(yàn)證ID。保存身份驗(yàn)證ID以供將來(lái)參考。
創(chuàng)建GUI:
在Blynk中打開項(xiàng)目,單擊“+”符號(hào)來(lái)添加控件來(lái)控制NeoPixel。在我們的例子中,我們需要一個(gè)RGB顏色選擇器,它被列為“zeRGBa”和一個(gè)滑塊,將用于LED條的亮度控制。
在Widgets中設(shè)置參數(shù):
在拖動(dòng)小部件之后,它們現(xiàn)在設(shè)置用于將顏色和亮度值發(fā)送給NodeMCU的參數(shù)。
點(diǎn)擊ZeRGBa,進(jìn)入ZeRGBa設(shè)置,將輸出選項(xiàng)設(shè)置為“合并”,將引腳設(shè)置為“V3”,如下圖所示。類似地,在滑塊設(shè)置中,將輸出引腳設(shè)置為“V2”。
編程N(yùn)odeMCU使用Wi-Fi控制NeoPixel
成功完成Blynk應(yīng)用程序設(shè)置后,現(xiàn)在使用Arduino IDE在NodeMCU中上傳代碼。
要用Arduino IDE編程N(yùn)odeMCU,請(qǐng)進(jìn)入File - > preferences - >Settings。
在“附加板管理器URL”字段中輸入,然后單擊“確定”。
現(xiàn)在轉(zhuǎn)到Tools > Board > Boards Manager。
在板管理器窗口中,在搜索框中輸入esp, esp8266將在下面列出?,F(xiàn)在選擇最新版本的電路板并單擊install。
安裝完成后,進(jìn)入“工具>單板> NodeMCU 1.0(ESP-12E模塊)”。現(xiàn)在您可以使用Arduino IDE對(duì)NodeMCU進(jìn)行編程。
完整的代碼連同視頻在最后給出。代碼的逐步解釋如下所示。
首先,包括所有必需的庫(kù)。打開Arduino IDE,然后轉(zhuǎn)到選項(xiàng)卡Sketch并單擊選項(xiàng)Include Library-> Manage Libraries。在搜索框中搜索Blynk,下載并安裝ESP8266版本的Blynk軟件包。
要包含F(xiàn)astLED.h庫(kù),請(qǐng)從這里下載庫(kù)并使用include ZIP library選項(xiàng)包含它。
現(xiàn)在,在代碼中定義所有參數(shù),如使用的LED數(shù)量,LED類型和顏色順序。另外,定義RGB LED的數(shù)據(jù)輸入引腳連接的數(shù)據(jù)引腳D1。然后,在ssid[]中定義您的Wi-Fi用戶名和密碼,并傳遞一個(gè)數(shù)組[]。在auth[]數(shù)組中,寫入我們之前保存的Blynk身份驗(yàn)證ID。
在setup()函數(shù)中,使用serial初始化串行通信。使用Blynk.begin開始并連接到Blynk云。另外,使用FastLED.addLeds設(shè)置LED的類型和數(shù)量。
在infinite loop()中,我們使用Blynk.run()檢查來(lái)自Blynk GUI的傳入命令并相應(yīng)地執(zhí)行操作。
這里寫入BLYNK_WRITE函數(shù)來(lái)檢查V3和V2虛擬終端的傳入數(shù)據(jù),然后將它們分配到三個(gè)不同的變量中。這里的變量r, g, b表示所選顏色的Red, Green和Blue代碼的值。同樣,這里的數(shù)據(jù)用于存儲(chǔ)LED的亮度值。然后將這些值發(fā)送給用于驅(qū)動(dòng)LED條的函數(shù)static1。
Static1()函數(shù)用于驅(qū)動(dòng)LED燈條,控制LED燈條的亮度。和FastLED。setBrightness用于設(shè)置LED的亮度。同樣FastLED。顯示功能用于根據(jù)需要的顏色驅(qū)動(dòng)LED。
使用Arduino IDE將完整的代碼上傳到NodeMCU后,您可以在Blynk移動(dòng)應(yīng)用程序中控制NeoPixels LED條的顏色和亮度,如下圖所示。
本文編譯自iotdesignpro