connecting lots of things

Quite some time ago I built an LED matrix to use with a Maxim 7219 display driver.  The project was just for fun and a good excuse to do some learning.  I dusted it off the other day and decided to hook it up to the internet because everything is better when it's hooked up to the internet. 

The result is what can only be described as a very round-about way of getting some LEDs to light up.  The signal path goes like this:

  1. web form is loaded from a public web server
  2. message is sent via ajax to a php script on the web server
  3. php script connects to a processing sketch
  4. processing sends the message via serial connection to the arduino
  5. arduino takes the message apart and sends a lot of bytes to the MAX7219

On a side note, I've learned that if you accept incoming connections from the internet, you will get a lot of unexpected traffic. As a result  I have to filter for the IP of my web server or I get lots of strange garbled messages from what I can only assume are clandestine hacking groups who are trying to get my top secret documents.

drifter

Found these while looking for a sketch in my (slightly out of control) processing sketchbook.  It's sort of like an easter egg hunt when I stumble across stuff like this.  Except I hid the eggs from myself, and then forgot where I put them, and then forgot that there were ever any eggs to begin with.

drifter1.jpg
drifter2.jpg
drifter3.jpg

minecraft in real life

Now that I'm working on projection mapping it was only a matter of time before this happened.  Thanks to my brother for the inspiration, he mentioned that one of the other projection mapping examples looked a bit like a minecraft block.  Once the idea popped into my head I had to give it a try.

There's a piezo element taped to the box and hooked up to an arduino.  The arduino senses the physical impact with the piezo element and sends serial data to my PC.  Processing picks up the serial signal and takes care of the projection and interaction (particles, etc).

As seen on: 

Hackaday.com

www.kotaku.com.au

 

Projection Mapping - now with video!

I've got the projection mapping code working quite well now, I'm in the process of building some classes to manage lots of projection surfaces at once in order to keep the code clean.  Since the last post I've also got video playback (live and pre-recorded) working nicely with this system.  Also, some fun example footage of the code in action! Here's an example of the calibration process, you can just drag the corners directly to the real-world points so it all lines up on the projector.  This is essentially the same calibration technique used in the keystone library with a few updates.  I've added a center point to drag the entire surface, and when you drag with the right mouse button it moves in 1/10th pixel increments for fine adjustments.

Here's the same content split up onto two surfaces and projected onto some random cardboard boxes I had in my office.