close
在以前要控制一整排的 rgb 三色led總是需要接很多線及花很多的mcu 腳位才能完成,隨著科技的進步,現在只需要三支腳位就可以了(vcc signal gnd)
這兩天把買來很久的rgb ring ws212b -16 拿出來玩玩看
根據拍賣上的資料
LED驅動芯片WS2812(集成在LED裡面)
- 智能反接保護,電源反接不會損壞IC。
- IC控制電路與LED點光源公用一個電源。
- 控制電路與RGB晶片集成在一個5050封裝的元器件中,構成一個完整的外控圖元點。
- 內置信號整形電路,任何一個圖元點收到信號後經過波形整形再輸出,保證線路波形畸變不會累加。
- 內置上電重定和掉電重定電路。
- 每個圖元點的三基色顏色可實現256級亮度顯示,完成16777216種顏色的全真色彩顯示,掃描頻率不低於400Hz/s。
- 串列級聯介面,能通過一根信號線完成資料的接收與解碼。
- 任意兩點傳傳輸距離在不超過5米時無需增加任何電路。
- 當刷新速率30幀/秒時,級聯數不小於1024點。
- 資料發送速度可達800Kbps。
- 光的顏色高度一致,性價比高。
接線部分如下:
因為rgb ring 我在fritz上沒找到16bit的,就先用其他型號的示意一下
範例碼的部分:
原先參考網路上的範例使用FastLed來跑,但卻發現fastLED跑出來的顏色與我預期的結果不同,因此改用NeoPixel
接下來就是先把範例灌進去看看了
這邊使用的是函式庫中的範例strandtest 所以我這邊就不放上程式碼了
不過有部分我有修改了一下
// How many NeoPixels are attached to the Arduino?
#define LED_COUNT 16
因為我這個是16顆的led 所以把數量修改為16
另外 這邊要注意的地方是,因為5050 led 耗電量高,因此如果如上圖直接供電給led的話會容易出現電流不足
所以我把電路修改了一下,多加了一顆7805來供電
最後的成果
文章標籤
全站熱搜