I’m currently working as a CIO at a very small company, my background is that of a Java developer. A few years before I did some (for my levels) low level hacking on PalmOS (cotoGPS). Just a few months ago a got infected by the Arduino virus… so please forgive my ridiculous errors.
After seeing LED strip examples on YouTube I thought, that this would be a nice project for my daughters cosy place underneath her loft bed.
After getting things running on my Seeeduino and a breadboard I wanted to make the stuff smaller. An Adafruit Trinket (ATtiny85 based) seemed to be the perfect hardware. Quickly I realized, that the RAM limits the amount of pixels to 107 (depending on my own softwares RAM usage), while I had 120 pixels in my 2 m WS2812B strip. So I upgraded to a Pro Trinket (ATmega328 based), which is almost identical to the Seeeduino. Okay, that works, but changing some parameters like actual pattern/visualization modes or brightness during the operation would be nice. Let’s include some IR remote to the setup!
As you all know (and I do so now too), driving WS2812B LEDs and IR doesn’t work well. I tried disabling the interrupts, but that didn’t yield a result. So, let’s add a second Arduino that does the IR stuff and talks to the LED driving Arduino. That one could as well drive the Adafruit 8x8 LED matrix display for displaying things like current pattern and brightness.
Communication with the matrix works using I2C, so I could as well connect the other Arduino to that setup. As I still had the Trinket lying around, this one should be used.
The IRremote library was too big for the Trinket, but there still is IRLremote which fits nicely. Unfortunately, the IRLremote library needs an interrupt PIN, which on the Trinket is the same as for SCL, which is in use for the LED matrix and the communication to the other Arduino.
Sigh. I switched the LED matrix over to the LED driving Pro Trinket where it’s better suited, but still have the communication problem. So, lets replace the Trinket with another Pro Trinket and here we are.
The software is based on FastLED 3.1 and the DemoReel100 example with some additions for a few more pattern (mainly some great stuff from Andrew Tuline, https://github.com/atuline/FastLED-Demos) and the IR decoder (https://github.com/NicoHood/IRLremote).
You can see it working in the video.
You can find the source code, the Fritzing! sketch and some pictures on the projects temporary homepage: http://coto.dlinkddns.com/projects/clara_led/ (This currently runs on my Banana PI at home connected to the Internet via a slow uplink cable connection. Be patient! :-> )
Thank you very much for your great work on FastLED and this great Google+ group!