I’m calling this post “Arduino,” but it’s really about hardware and software art. Matt Mets and the rest of the team at Blinkinlabs has created a wonderful product called the “BlinkyTile.” This is a system of pentagonal and hexagonal PCBs (printed circuit boards) with attached LEDs (light-emitting diodes). I first became interested in making art with microcontrollers and and LEDs when I attended Burning Man in 2013 and saw what a friend of my son was able to do with a string of lights and a controller that he brought to the event. I was even more excited last year when I saw some beautiful objects, including one by an engineer and maker who goes by the name of Bunnie. He created a polyhedral sculpture, the Polyhedrone, that is constructed from rhomboidal or kite-shaped PCB/LED tiles. These are assembled into a type of Catalan solid called a deltoidal hexecontahedron. The BlinkyTiles make it possible to construct small dodecahedrons, and that it what I have been working with.
The kit that Blinkinlabs sells includes a microcontroller called the LightBuddy, which come pre-programmed, but is a little hard for a novice like myself to program. It is *very* helpful, however, for getting started and also for re-programming addresses on the individual boards (which can be useful sometimes).
What I decided to do was use an Arduino Leonardo (that I originally bought for a robot), as well as an Adafruit Metro Mini (which can be programmed like an Arduino Uno). I program these with the Arduino IDE, which I learned to use when I built a some programmable LED goggles a couple of years ago. (See my previous post about this if you are interested; it actually goes into a lot of detail about setting up the programming environment, etc.)
What’s really exciting (for me, anyway), is that along the way I acquired an IR receiver module and a small hand-held remote control. I was then able to figure out how to use these to control the lights on the assembled dodecahedron.
Unfortunately, I don’t have any videos of the finished product, and won’t, until my new ir receivers come in the mail (Hint: be careful to keep your VS and the GND straight when you plug these devices into the board).
In the meantime, I do have some code to share. It’s not the most beautiful code in the world, and it’s not very well-commented, but it gets the job done, and hopefully it may be of use to someone trying to do something similar.
I need to give credit where credit is due, particularly to Daniel Garcia and Mark Kriegsman of the FastLED Project, and Chris Young, the creator of IRLib2. I borrowed and re-worked some of the code they provided, which saved me a great deal of time. Chris Young also has a great tutorial on IR communication at the Adafruit web site, which was invaluable.
I’m attaching a photo of the set-up I’ve been using, just to give people an idea of what I’m talking about (and see the elegant beauty of the BlinkyTiles themselves). Notice that in this photo the IR receiver is *not* connected.
There are a number of technical considerations regarding total current and power when you start adding larger numbers of LEDs. I’ll just mention that it’s generally a good idea, IMHO, to limit the current to each LED to no more than 7mA, which is about a third of the maximum current draw. (I actually have been keeping it down to as little 2.35mA, which is an RGB value of 30, with good results.) This will help simplify current/power considerations for small projects. Note that each of the LED modules at the center of a PCB tile is actually a combination of 3 LEDs (1 blue, 1 red, 1 green), making for a total of 12 X 3 = 36 LEDs altogether for each 12-sided dodecahedron. This all really makes a lot more sense when you just start building and using these things. I plan to be at the Raspberry (Pi) Jam in Seattle on August 8 and will try to bring some, so, hopefully, if you want to, you can see them there.