contractor to actually build it, but it was fun! 

Since then, I've refined the background subtraction algorithm to refresh on a per-pixel basis, which would have helped reduce the twitching. Another challenge came from a wiggy USB hub. In tests it ran lickety-split at 30 fps, but at the last minute it kept crashing and I had to drop it down to 5fps. Still worked fine, just not quite as smooth. I had a few other gremlins on the install day and I suspect that the location power wasn't very clean.

A big challenge came from the sponsor company (Sunridge). I had a hard time getting them fully involved. They were very excited at first and the owner stayed on track, but we never seemed to get the marketing team (for whom it was built) fully engaged. Now, I like to make sure I'm well acquainted with all stake holders and that they are appropriately updated throughout the design and development processes. 

Featured on Hackaday:

Project Github: 


This was an installation that I built for Sunridge Nissan in Calgary, AB, as part of my interaction design and user experience internship. It was first exhibited at Beakerhead 2013, and then it went into the Sunridge showroom for several months. 

Input is from 6 wide-angle webcams (cheap-o ones), into a Windows PC. Registry was modified to give each webcam a unique 'friendly name' to maintain consistent order. A Processing sketch ran a simple, auto-refreshing background subtraction algorithm. This refreshed more often with more movement. The processing sketch mapped each camera to it's corresponding 16 louvres. It sent messages via OSC to an Arduino Uno, which passed signals on to one of 6, 16 channel PWM controllers. These drove a total of 96 servos with a single plastic louvre on each on. 

This was my first big solo installation. I spent a lot of time planning and it paid off. I recruited a little extra help here and there but otherwise I designed and built it myself. That was probably a mistake - I'm sure it would have been cheaper to get a