PicWand – an easy to use Air Printing Technique
I undertook a real fun project in the December of 2011. Today, when shuffling through my project repositories, I found its schematic files and source code. It is fantastic! It allows a person to write text, draw images and create super cool effects in the air. Yes AIR. Air printing. Or more closely related to light painting. I named it the PicWand, back then. All you need is a camera with low shutter speed, a computer and the PicWand.
The hardware of the PicWand is simple and expandable. It consists of strip of 8 RGB LEDs, one 74HCT164 shift register and an AVR ATtiny44 microcontroller. It has two onboard LM1117 5.0 volt regulators and can be powered by a single 9V battery. Why two? Each RGB LED requires about 120mA of currrent (40mA*3), so total of eight, when lit simultaneously requires about 960mA. The 1117 provides regulated output up to 800mA current draw. So, using two regulators on the same board made sense as it allows me to achieve unmatched brightness levels.
Multiple strips of the PicWand PCB can be connected to each other. The controllers interact over the I2C bus and all the strips share the common voltage supply and ground. So the design can be extended to a maximum of 127 (limited by the 7-bit I2C address) strips all connected together to form one huge wand with each RGB LED individually addressable.
The software model is simple. The content to be displayed is broken up into pixels and each RGB LED represents one pixel. The LEDs are then multiplexed to display all the pixels in one column of the content. As the PicWand is moved laterally in front of a low shutter speed camera, the wand displays all the pixels in the subsequent columns. At the end of the shutter time, an entire 512 color image is obtained.
I tested the PicWand by writing my own name. The shutter speed was set to 8 seconds and each color in the RGB LED was varied across 8 intensity levels using PWM techniques. The content to be displayed is stored in the flash memory of the microcontroller. You can grab a copy of the schematic and the code files from my Github page.