如何控制板載WS2812 RGB LED,在水銀板上使用Adafruit NeoPixel庫(kù)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
RGB LED無處不在——從裝飾照明和智能可穿戴設(shè)備到藝術(shù)裝置和科技產(chǎn)品。掌握如何控制它們打開了一個(gè)充滿創(chuàng)造性可能性的世界!無論您是在構(gòu)建智能家居設(shè)置,為可穿戴設(shè)備添加天賦,還是嘗試視覺效果,RGB LED都能以鮮艷的色彩將您的想法變?yōu)楝F(xiàn)實(shí)。
在這個(gè)有趣的和初學(xué)者友好的教程中,我們將使用Adafruit NeoPixel庫(kù)與水星板創(chuàng)建一個(gè)平滑的顏色脈沖效果。觀看板載RGB LED在紅色,綠色和藍(lán)色之間無縫過渡,為您提供動(dòng)態(tài)LED控制和創(chuàng)意編碼的動(dòng)手介紹。
準(zhǔn)備好點(diǎn)亮你的項(xiàng)目吧——一次點(diǎn)亮一種顏色!
在本教程結(jié)束時(shí),您將學(xué)習(xí):?如何安裝外部庫(kù)i Arduino®環(huán)境。?了解函數(shù)。?如何使用Adafruit NeoPixel Library在水星上控制WS2812板載RGB LED。
我們開始吧
?設(shè)置環(huán)境-如果您還沒有在Arduino®上添加水星板,現(xiàn)在是這樣做的好時(shí)機(jī)。請(qǐng)參考本教程的設(shè)置,將USB電纜插入水星板,并將其連接到筆記本電腦。
?請(qǐng)參閱下面的代碼
?當(dāng)Arduino終端顯示“Connecting…”時(shí),長(zhǎng)按FLASH按鈕啟動(dòng)上傳過程。
?這里到底發(fā)生了什么?
速成班:Arduino®環(huán)境中的外部庫(kù)
Arduino中的外部庫(kù)是預(yù)先編寫的代碼集,為您的項(xiàng)目添加額外的功能。而不是從頭開始編寫所有東西,庫(kù)允許您重用優(yōu)化和測(cè)試的代碼來完成特定的任務(wù),如控制傳感器、顯示器、電機(jī)或led。
它們通過提供簡(jiǎn)單的函數(shù)和示例使您的工作更輕松,這樣您就可以專注于構(gòu)建和實(shí)驗(yàn),而不是復(fù)雜的編碼。
介紹Adafruit新像素庫(kù)
Adafruit NeoPixel庫(kù)是一個(gè)流行的外部庫(kù),用于控制RGB led(也稱為NeoPixels)。它提供了易于使用的功能,用于設(shè)置顏色,亮度和動(dòng)畫效果跨單個(gè)led或條。
在本教程中,我們使用這個(gè)庫(kù)來控制水星板上的板載RGB LED,只需幾行代碼就可以創(chuàng)建平滑而充滿活力的色彩過渡!
安裝Adafruit新像素庫(kù)
要開始,我們首先需要在Arduino IDE中安裝Adafruit NeoPixel庫(kù)。遵循以下步驟:
打開Arduino IDE
?打開Arduino IDE。
?導(dǎo)航到草圖>包括庫(kù)>管理庫(kù)…
?在庫(kù)管理器窗口,在搜索欄中輸入“Adafruit NeoPixel”。并在結(jié)果中找到“Adafruit NeoPixel by Adafruit”。
?從下拉菜單中選擇最新版本,然后單擊Install。
這是它!這個(gè)庫(kù)現(xiàn)在可以使用了?,F(xiàn)在,您可以將其包含在您的草圖中,并開始編程彩色RGB效果。
回到項(xiàng)目上來…
在Mercury Board上,板載RGB LED連接到D0引腳(GPIO 0)。
更深入地研究代碼…
這一行導(dǎo)入了Adafruit NeoPixel庫(kù),其中包含了我們輕松控制NeoPixel RGB led所需的所有函數(shù)。
LED_PIN定義為RGB_LED,這是水星板硬件設(shè)置中的預(yù)定義常數(shù),指板載RGB LED引腳。
這意味著你正在控制一個(gè)新像素的LED。如果你有一個(gè)帶32個(gè)led的條帶,這就是32個(gè)。
這里我們正在創(chuàng)建一個(gè)“新像素對(duì)象”。這個(gè)對(duì)象命名為pixels,代表我們的LED設(shè)置。
* ' NUM_PIXELS ':在你的條帶或環(huán)(1在這種情況下)的led的數(shù)量。
* ' LED_PIN ':連接到NeoPixel led數(shù)據(jù)線的Arduino引腳。
* ' NEO_GRB + NEO_KHZ800 ':指定顏色順序(綠色,紅色,藍(lán)色)和時(shí)鐘速度
初始化NeoPixel庫(kù)并使LED準(zhǔn)備好接收顏色數(shù)據(jù)。
該功能設(shè)置特定LED的顏色。在這種情況下,“LED - >0”被設(shè)置為紅色。
按順序設(shè)置顏色(RED, GREEN< BLUE)。盡管WS2812 led(如NeoPixels)物理上期望以GRB順序(綠色,紅色,藍(lán)色)的顏色數(shù)據(jù),但Adafruit NeoPixel庫(kù)在內(nèi)部處理此問題。
本文編譯自hackster.io