User Tools

Site Tools

projects:ws2812bdisplay

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:ws2812bdisplay [2016/08/29 13:07] Lars Christensenprojects:ws2812bdisplay [2017/03/27 10:35] (current) Lars Christensen
Line 1: Line 1:
-====== 24x24 (576) WS2812b Display ======+====== 24x24 WS2812b Display ======
  
-576 WS2812b (24 strips af 24 stk) styret med ESP8266. Koden er skrevet i C++ (esp-open-sdk + Sming framework) og er baseret på [[https://github.com/cnlohr/esp8266ws2812i2s|cnlohr's I2S driver til WS2812B]]. Jeg har udvidet driveren lidt til at kunne håndtere flere pixels (hans buffer er begrænset til 4 KB, hvilket ikke er nok til 576 pixels.+576 WS2812b (24 strips af 24 stk) styret med ESP8266. Koden er skrevet i C++ ([[https://github.com/pfalcon/esp-open-sdk|esp-open-sdk]] [[https://github.com/SmingHub/Sming|Sming]]) og er baseret på [[https://github.com/cnlohr/esp8266ws2812i2s|cnlohr's I2S driver til WS2812B]]. Jeg har udvidet driveren lidt til at kunne håndtere flere pixels (hans buffer er begrænset til 4 KB, hvilket ikke er nok til 576 pixels.
  
 Det smarte ved at bruge I2S-hardwaren i ESP8266 er at CPU'en slipper fri for at skulle bitbange WS2812b data. Man skal bruge lidt CPU-tid på at generere en bit-buffer ud fra sin frame-buffer med RGB data (hver bit skaleres til 4 bit), men der tager kun 2-3 millisekunder per frame, så der er masser af tid til overs til at generere RGB data. Det smarte ved at bruge I2S-hardwaren i ESP8266 er at CPU'en slipper fri for at skulle bitbange WS2812b data. Man skal bruge lidt CPU-tid på at generere en bit-buffer ud fra sin frame-buffer med RGB data (hver bit skaleres til 4 bit), men der tager kun 2-3 millisekunder per frame, så der er masser af tid til overs til at generere RGB data.
 +
 +Source til display:
 +
 +   * https://github.com/larsch/neomatrix
  
 Plan: Plan:
Permalink projects/ws2812bdisplay.1472468857.txt.gz · Last modified: 2016/08/29 13:07 by Lars Christensen

oeffentlich