The Tangible Level Editor is a proof of concept input device that uses an Arduino microcontroller, resistor networks and a multiplexer. A user stacks blocks in the real world to complete a circuit that’s connected to the Arduino. At each interval, the amount of voltage going through each circuit is read and the number of blocks can be determined. This data is used to construct a virtual game world. Each block contains a resistor that is comparably equal to those in every other block. Here is a schematic:

We know from Ohm’s Law that `V = I * R`

. As the Arduino runs on 5V, an input value to the Arduino pin at 5V is 1023, and at 0V is 0. It is therefore possible to determine the approximate voltage going into the pin, since the current is constant. The relationship is inversely proportional, so as the number of blocks goes up, the voltage will go down. This means that with one resistor, the voltage is one half. With two resistors, the voltage is one third. With three, the voltage is one fourth, and so on. Here’s how it looks all assembled:

On the left, you’ll notice a sweet little controller I made out of a single PlayStation joystick mounted in a RadioShack project box. Here’s a close up of that:

And the moment you’ve been waiting for, the virtual world, created live, by the block configuration shown above:

If you want a more detailed explanation and a live demo, here’s a video we made showing the virtual world built in Unity3D: