Library for composing lighting patterns with addressable LEDs controlled by a radio network of Arduino microcontrollers.
Utilities to compose and sequence a variety of visual lighting patterns on WS2811/WS2812 addressable LED strips controlled by Arduino-style microcontrollers. All patterns are implemented without use of delay calls via a run method that is called repeatedly to do whatever work is appropriate. This allows convenient integration with other Arduino libraries and I/O needs that can't tolerate long sleeps.
Support for a group of LORA/RFM69 networked lighting controllers managed by a remote node. This independent controllers each provide portions of a global pixel address-space. This allows composing coordinated lighting patterns over a large physical area without long distance wiring.
- The radio protocol includes activating and stopping patterns from a loaded library
- The remote node can send an updated pattern library over the radio link
The ideas in this repo are being actively refined as of 04/13/19. Currently in a high rate of change working to have it slightly stable by 05/01/19.
A set of pixels to be acted on. Actions include setting to a color and errasing. PixelGroups are aware of the pattern iteration/completion cycle. Subclasses include:
- G_PixelGroupAll: every pixel on the strand
- G_PixelGroupSegment: pixels between a start and end index
- G_PixelGroupCollection: pixels identified by a list of abitrary choices
- G_PixelGroupNth: every X out of N pixels up to a max index
- G_PixelGroupMoving: a SegmentPixelGroup where the start and end indexes move each time a pattern finishes
A color value with functions to fade to a different color and calculate iterations needed to fade to a particular color. G_Colors are aware of the pattern iteration/completion cycle.
A G_Color that cycles through the rainbow on each pattern iteration or completion.
An operation performed on a pixel group. Patterns have a start, a series of iterations, and an end.
A G_Pattern that iterates from a beginning G_Color to an ending G_Color with an option to return bck to the beginning
A collection of patterns performed in seriesd from beginning to end and repeated. Patterns may overlap.
- finish and test pattern runner
- actually think about some generic addressing schemes
- refine / add patterns other than fade
- add pattern marshal/unmarshal over radio link
- add radio communication patterns
- describe example physical controller schematic and construction
- add demo videos