WS2812B可單獨定址 RGB LED
工作電壓: DC 5V
LED 類型: 5050 SMD RGB LED,
色彩深度: 24 位元全彩 (R, G, B 各 8 位元),可顯示 1677 萬種顏色
訊號傳輸:單線串行級聯介面
資料速度:800 Kbps
刷新率:不低於 400 Hz/s (30fps 時最多能控制的 LED 數量 1024 )
可剪切性每個 LED 都是一個獨立的像素點,可沿標記線剪切
常用程式庫:
- Arduino/ESP32 寫動畫:首選 FastLED。
- 剛接觸 LED 實驗:首選 Adafruit NeoPixel。
- 做智慧居家/氛圍燈:直接用 WLED。




WS2812B 的協議是 單線、單向的 NRZ (Non-Return-to-Zero) 串列通訊協議
資料流每經過一個 LED(燈珠),會「減少」24 位元 (24 bits) 的資料。
以下是其運作的詳細過程:
- 首個燈珠攔截:資料流從控制器發出後,第一個 LED 會攔截並儲存它接收到的前 24 位元(這 24 位元決定了該燈珠的綠、紅、藍亮度)。
- 資料轉發與整形:第一個 LED 在存滿自己的 24 位元後,會將剩餘的所有資料透過內部電路進行「整形放大」,然後從
DOUT引腳發送給下一個 LED。 - 遞減效應:
- 假設您要控制 3 個燈珠,控制器必須發送 3×24=72 位元的資料。
- 第一個燈珠吃掉前 24 位元,傳給第二個燈珠的是剩下的 48 位元。
- 第二個燈珠吃掉它收到的前 24 位元,傳給第三個的是最後 24 位元。
- 鎖存與更新:當資料流傳畢,控制器會發送一個超過 50 微秒的低電平「重置訊號 (Reset)」,此時所有燈珠才會同時將剛收到的 24 位元資料更新到顯示畫面上。
------------------------分隔線-------------------------------------------------
市面上購買 WS2812B 8x8 模組時,雖然外觀看起來都一樣,但內部的「訊號路徑(Data Path)」通常就是這兩者之一。這也是為什麼在寫程式控制時,如果發現顯示的文字歪七扭八,通常就是選錯了模式。
以下為您快速總結兩者的差異與應用:
1. Z 字型 (Zig-Zag) — 市售成品最常用
- 排列像: 蛇行(左右、右左、左右)。
- 原因: 這樣設計在製造電路板(PCB)時線路最短,成本最低。
- 特色: D8 的下一顆 D9 就在它的正下方;但 D16 的下一顆 D17 則是在它的正下方。
- 常見產品: 淘寶或蝦皮上常見的「柔性板(黑色/白色軟板)」。
2. 逐行型 (Progressive) — DIY 或特殊規格常用
- 排列像: 讀書寫字(左到右、換行、再左到右)。
- 原因: 邏輯非常直觀,寫程式計算座標 (x,y)open paren x comma y close paren(𝑥,𝑦) 時最簡單。
- 特色: D8 結束後,訊號線會拉一條長線回到左邊的 D9。
- 常見產品: 剛性 PCB 板(硬板)或某些特定品牌的矩陣模組。
如何一秒辨別?
如果您手邊已經有模組,最簡單的辨別方法是用 Arduino 範例程式(如 strandtest) 跑一次:
- 如果燈珠是「繞過來繞過去」地點亮 → Z 字型。
- 如果每一行都是「從左邊開始」點亮 → 逐行型
寫程式時怎麼辦?
如果您使用流行的 Adafruit_NeoMatrix 函式庫,您只需要在宣告時改一個參數即可:
NEO_MATRIX_ZIGZAG(Z 字型)NEO_MATRIX_PROGRESSIVE(逐行型)
總結: 買到的硬體可能是其中一種,但只要在軟體中設定正確,兩者在顯示效果上是完全一樣的。









