Last year I mounted two strings of “LED Meteor Shower” (total 16x tubes) in a radial fashion on an old bicycle wheel. The effect as the individual tubes went out of sync was quite interesting and gave a nice firework/star burst pattern effect.
This year I have plans to make something similar but using Neopixels/WS2812 RGB LEDs.
I’ve made a test string consisting of 10x WS2812 LEDs, this will be one arm of the new star effect and I’d parallel up another 5-7 strings to make 6/8 in total (depending upon what is in the bank account).
I didn’t want to use an Arduino/Raspberry Pi but still wanted something that was free running – but with a degree of randomness. Hopefully with 4-5 of these stars ir would look quite good. I had planned to use FPGA/CPLD and design a WS2812 driver in VHDL but couldn’t easily find a component/development solution to meet my budget. Instead I looked again at using the Microchip PIC range to drive the WS2812 directly. Bit-Banging was out of the question as I wanted an intelligent product that had processing time available to calculate the patterns. I then found a Microchip Tec sheet AN1606 that detailed using the Configurable Logic Cells (CLCs) of their newer PIC devices. That worked well and was fairly easy to implement into a PIC16F1509 DIP device (running at 16MHz and programmed in C using the XC8 compiler).
However, delays in processing (the C overheads) caused some issues with stability. I instead decided to write the entire program in assembler. This has gone well and I now have a single strand running. There is a feed in pattern that is used to generate the LED colour/brightness in the centre, this pattern is stepped through in time. Each LED colour is automatically passed to the next LED but after it is modified to ensure it fades (just like a firework would). The time delay as the pattern steps through is also slowed as time progresses to give a more realistic slow down.
Version 1.02 can be found on my Github page Github StarBurst
I now need to:
- Design a PCB
- Buy components (PIC, Neopixels)
- Buy some clear tubing to mount the WS2812 into
- Consider controlling them with RF (868MHz) – in a similar way to the Xyloband
I’ll keep posting and will upload code/diagrams etc as I generate them. Please let me know if you enjoyed reading or wish me to explain anything further.