GregMefford / blinkchain

Nerves project to use Elixir to drive NeoPixels from a Raspberry Pi
MIT License
71 stars 27 forks source link

SK6812 #26

Closed voteleobrown closed 5 years ago

voteleobrown commented 5 years ago

Any thoughts on getting this to work with SK6812 LEDs?

I have a 12 neopixel ring that I'm using that does light, but only 9 of the 12, and a coworker suggested it was likely because they were SK6812's.

DSC_0059

GregMefford commented 5 years ago

Are they also showing incorrect colors, or is this the color pattern you were expecting? One easy thing to check is to make sure you're setting the type to the correct configuration (I'm not sure what the right arrangement is for your pixels, but for example the Adafruit NeoPixel Stick, but maybe try :grbw).

I suspect that this is the problem because I see that there are 3 pixels lit for each of the three pixels that aren't lit at the end of the chain, meaning that it probably was ignoring the fourth byte on each if the pixels, instead of assigning it to the white LED channel.

voteleobrown commented 5 years ago

Yup, that did it. Thank you.

GregMefford commented 5 years ago

Great! 🚀

I hope you enjoy using Blinkchain! Let me know if you can think of a better way to describe how the NeoPixel rings should map onto the drawing surface, because they’re very different than a grid, but at the same time, they’re quite popular hardware that people want to use. I assume you’re just telling Blinkchain that it’s a single strip.

voteleobrown commented 5 years ago

I think that treating them as a linear array is fine. Most people who have read a circular clock face are quite accustomed to this conceptually.