About four years ago, I invited some friends over to try to turn a remote control car into something programmable. We had some trouble finding supplies though, so they just brought beer instead. But we were determined to build something.
I had recently seen this video, and thought we might be able to reproduce it with just a column of LEDs and a long exposure photo.
This project uses the "Persistence of Vision" concept, where the LEDs flash vertical slices of a letter or symbol, and you provide the horizontal movement. Using a long exposure camera allows you to slowly "paint" the light into your image.
First I'll show you some photos from the project. If you want to build your own, keep scrolling for rough build details. As it's "from the vault", it's not a complete walkthrough. It does give you the code you need though, and a photo of the circuit. This would be a good 2nd or 3rd Arduino project.
|HPC 4 Life|
|Hawking and Musk need to cool it on the fear mongering|
Build your own
To build your own, you will need an Arduino with 10 output pins, 10 LEDs, a power source, a resistor, and a camera that can take multi second exposures.
To build the rig, just connect the 10 LEDs to 10 output pins on the Arduino in order in such a way that when pin 1 is set to HIGH, LED #1 turns on.
That looks something like this:
Then load this sketch onto your Arduino. There are more elegant ways to write this sketch, but this makes it pretty obvious what's happening. Remember, we're working from the vault here.
Once the Arduino is setup and appears to be flashing, it's time to setup your camera on a tripod with a 3-5s shutter speed, and a high apeture / low iso so you're not completely blown out. You might need a very dark room. Then set a timer, and get in position with the Arduino contraption in hand.
When the camera triggers, turn on the Arduino and try to move it laterally at a constant rate for the duration of the shutter. You can play with the Delay in the sketch to change message speeds, or put the sequence in the startup loop so it only runs once.