物聯網開發硬體應用
Would you like to react to this message? Create an account in a few clicks or log in to continue.
物聯網開發硬體應用

提升國內高職學生物聯網開發硬體應用入門技術 待進入科技大學再升級為物聯網開發硬體設計人員


您沒有登錄。 請登錄註冊

esp8266控制NeoPixels

向下  內容 [第1頁(共1頁)]

1esp8266控制NeoPixels Empty esp8266控制NeoPixels 周一 10月 01, 2018 11:46 am

Admin


Admin

11.控制NeoPixels
NeoPixels,也稱為WS2812 LED,是串聯連接的全彩LED,可單獨尋址,可將紅色,綠色和藍色分量設置在0到255之間。它們需要精確的定時來控制它們,並且有一個特殊的neopixel模塊就是這樣做的。

要創建NeoPixel對象,請執行以下操作:

>>> 導入 機器, neopixel
>>> np = neopixel 。NeoPixel (機器。針(4 ), 8 )
這將在GPIO4上配置8像素的NeoPixel條帶。您可以調整“4”(引腳編號)和“8”(像素數)以適合您的設置。

要設置像素的顏色,請使用:

>>> NP [ 0 ] = (255 , 0 , 0 ) #設置為紅色,全亮度
>>> NP [ 1 ] = (0 , 128 , 0 ) #設定為綠色,半亮度
>>> NP [ 2 ] = (0 , 0 , 64 ) #設置為藍色,四分之一亮度
對於具有3種以上顏色的LED,例如RGBW像素或RGBY像素,NeoPixel類採用bpp參數。要為RGBW像素設置NeoPixel對象,請執行以下操作:

>>> 導入 機器, neopixel
>>> np = neopixel 。NeoPixel (機。引腳(4 ), 8 , BPP = 4 )
在4-bpp模式下,請記住使用4元組而不是3元組來設置顏色。例如設置前三個像素使用:

>>> NP [ 0 ] = (255 , 0 , 0 , 128 ) #橙色在RGBY設置
>>> NP [ 1 ] = (0 , 255 , 0 , 128 ) #黃綠在RGBY設置
>> > NP [ 2 ] = (0 , 0 , 255 , 128 ) #綠-藍在RGBY設置
然後使用該write()方法將顏色輸出到LED:

>>> np 。寫()
以下演示功能在LED上進行了精彩的展示:

進口 時間

def demo (np ):
n = np 。ñ

#週期
為 我 在 範圍(4 * Ñ ):
用於 Ĵ 在 範圍(Ñ ):
NP [ Ĵ ] = (0 , 0 , 0 )
NP [ 我 % Ñ ] = (255 , 255 , 255 )
NP 。寫()
時間。sleep_ms (25 )

#彈跳
用於 我 在 範圍(4 * Ñ :)
為 Ĵ 在 範圍(Ñ ):
NP [ Ĵ ] = (0 , 0 , 128 )
,如果 (我 // ñ ) % 2 == 0 :
NP [ 我 % Ñ ] = (0 , 0 , 0 )
否則:
NP [ ñ - 1 - (我 % Ñ )] = (0 , 0 , 0 )
NP 。寫()
時間。sleep_ms (60 )

#淡入/淡出
為 我 在 範圍(0 , 4 * 256 , 8 ):
用於 Ĵ 在 範圍(Ñ ):
如果 (我 // 256 ) % 2 == 0 :
VAL = 我 & 0xff的
其他:
VAL = 255 - (i & 0xff )
np [ j ] = (val , 0, 0 )
np 。寫()

#明確
為 我 在 範圍(Ñ ):
NP [ 我] = (0 , 0 , 0 )
NP 。寫()
使用以下方法執行:

>>> demo (np )

https://iotboard.666forum.com

回頂端  內容 [第1頁(共1頁)]

這個論壇的權限:
無法 在這個版面回復文章