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