I have some exciting news! This blog, along with my other sites, have moved to new hosting on a dedicated server. I have also upgraded WordPress to the latest release and will be rolling out https soon. This should result in a significant improvement in both speed and security. Finally, I know I’ve been neglecting this blog for a while – I’ll be making it a priority to post updates and I certainly have some cool stuff to share!
Finally – here is the much overdue update I promised a while back! Progress has been made on several fronts since the last post: the projector now has an appropriate backlight, I drilled a hole in the backplate I made to allow for projection, a new lens has joined the lineup, and an Arduino UNO has been thrown in the mix!
The backlight is a 3 watt, Red, Green, Blue (RGB) LED I purchased on eBay. The idea is that the red, green, and blue colors can be mixed independently to set the white balance and supposedly, an RGB LED will provide a fuller color spectrum as compared to a standard white LED. This is important for capturing all the different colors present in the original film.
The Arduino has been added mostly because I had eBay bucks to spend making the $12.79 Arduino essentially free. While slower than the Propellor, the Arduino is easier to program (for me anyway). It supports hardware pulse width modulation (PWM) which I attempted to use to control the red, green, and blue channels of the LED (we’ll get to that…). As the Arduino is limited in how much output it can drive directly, I have the rather power LED powered through the transistors seen on the breadboard.
So why am I not using the Arduino’s hardware PWM controller to drive the LED channels? It turns out that the frequency the PWM controller operates at causes visual artifacts on the webcam. Cheap digital cameras scan their sensors sequentially – imagine the pixels on the sensor as being arranged into columns and rows. The sensor will start in the begin to scan the pixels in rows from top to bottom which takes a small amount of time. This is generally imperceptible, but when the image is changing quickly, it is possibly for the position of a picture element to change as the pixel rows are being scanned, leading to visual artifacts. This is easily seen when an iPhone takes pictures of an aircraft propellor. I think the same thing is happening to the webcam – the LED light is strobing as the image sensor is scanning rows of pixels. This is seen as visual stripes in the webcam output :-/
How is this solved? One way is to change the PWM implementation. The LED must remain lit short enough to strobe once every pixel row scan OR the LED can remain lit long enough that the entire image is scanned in one go. This latter solution works for still images – I’m not sure how it would hold up in video. Finally, the LED’s current could be controlled directly. This is the ideal solution that will allow the LED to remain constantly lit while being able to alter its brightness.
I drilled a hole through the back of the plate I made earlier to allow the film to be viewed. Due to space constraints, the backlight is mounted in the front of the projector where the lens was originally and the image is projected in reverse.
The lens is now mounted to the rear of the projector. At this stage, the mounting is temporary – as you can probably tell by the zipties. Instead of enlarging the image, the lens now serves as a macro lens providing approximately 1:1 magnification. I’m actually using the original lens for this demo, but I also purchased a new zoom lens from eBay.
Putting it all together
To the left is the current state of the backlight. There are four wires soldered to it – common, red, green, and blue. At full brightness with the resistors I had in my shop, the backlight casts a purple light; this was supposed to be remedied by the Arduino. Indeed, the Arduino is able to control the backlight color – but with visual artifacts, a new solution is needed.
On the right, you can see the lens barrel (far right silver object), the webcam board in the center with the blue power LED, and the projected image itself on the sensor in the center. Remember, this is the bare webcam without any lens at all! It’s all held in temporary place by a “third hand” soldering tool so it’s not in the best alignment.
Below is a wide view of the setup, with the white arrow pointing to the projected image. Here you can clearly see the zipties holding the projector lens in place. Additionally, note that the backlight now casts a warm white light – this is from the adjustment provided by the Aduino.
Finally, here’s a video of it in action.
I picked up a (formerly) black parcel shelf complete with premium rear speakers for my e30 at the junkyard. Here’s how I renewed this parcel shelf with some vinyl dye and sweat.
First, meet my parcel shelf, complete with plenty of dog(?) hair.
Next, you need to prep it for dye. This involves removing all the accessories, like the speakers, third brake light, vents, and seat belt trim. If your’s has a hair problem like mine, a lint roller will do wonders to clean it up. Remember – the key to a good final product is in the preparation!
Now, get yourself a couple cans of vinyl dye. I used Duplicolor as seen here. One can will probably get the job done, but pick up two to be safe. Spray many light, consistent coats in many directions to get full coverage. Vinyl dye is more forgiving than spray paint, but if you go heavy in one place – well, you’ll need to go heavy everywhere for it to look right! You will be fine just spraying dye on the parcel shelf, but for carpet or other “deep” fabric, the dye will need to be brushed into the fabric for full coverage. Once you get one good coat, let it dry for 15-30 minutes, then hit it again. I went with at least three coats to achieve my final finish. Again, vinyl dye is forgiving – it doesn’t really run and just gets absorbed into the material, but heavy applications will make cloth materials feel stiff.
Here’s my first coat
And eventually you’ll end up here, the bottom result. The top was dyed by my friend and requires more coverage. On the plus side, it’s been exposed to constant sun for over a year and has not faded!