“The universe was a vast machine yesterday, it is a hologram today. Who knows what intellectual rattle we’ll be shaking tomorrow.” -R. D. Laing
You’ve heard of the HoloPlayer One, the latest Lightfield Interface from Looking Glass Factory, lenticulating its way into the hands of hologram hackers around the world. Through this device, holograms are entering our physical world, allowing us to interact with them on our side of the Looking Glass.
But what if we could bring the physical world to them and tangibly interact with this intangible experience?
The reality is that we live in a mixed reality world, and the HoloPlayer One is no exception. Tactile sensation is an important piece of the experience puzzle. The physical and digital worlds have become symbiotic and it is time to follow suit in this interactive evolution.
So here at the Looking Glass Factory’s Holoboratory, I am diving into some experiments with interactive physical objects to bring back the sense of touch to the interface, in order to provide a more realistic experience to the human-hologram interaction.
In Development: The HoloSprayer
Over the last few months, fellow Looking Glasser Oliver created the Paint app for the HoloPlayer One. (Scroll through this and you will see it in all its glory.) With this you can use your finger to paint in 3D space. Pretty amazing.
But think back with me for a second…When was the last time you painted with a brush? Or sprayed with can? Probably not recently or often (unless you’re an artist or enjoy a semi-solid hair style).
Meet the HoloSprayer, currently being designed and prototyped to work as a spray can for the Paint app.
Design Challenge: Create an interactive, physical spray can that changes color and sprays, with feedback that lets the user know their color selection and current state of spray action.
The concept design began with this sketch:
The design allows for the user to pressdifferent colored buttons to change the color of the paint in the can to that particular color. The color is then reflected immediately within the spray can. This color would also change to the same rgb value in the app. #goals
The Tools: The microcontroller used for this project is the Makey Makey (Standard Kit), a super fun and quick-to-jump-into programming board for people of most ages. You can usually plug in a few alligator clips and within minutes have a working game controller. However, this project required a lot of direct programming for buttons to control certain reactions, so I needed to jump into the Makey Makey and re-code it using the Arduino (micro-controller) IDE. (More on this later.)
Building the Circuit
The Makey Makey is cool because the user gets to be part of the circuit, if the circuit is built for that! Nothing like being a resistor for 5 volts of fun! #comeatbebro
When I was ready to hack into the board, I had to sift through the original Makey Makey code to learn which pins on the board did what and how they were referenced.
I drafted up a schematic:
And then I began to build! I grabbed some alligator clips, wires and an LED strip (straight from an L3D Cube) and hooked it all up.
Programming the Board
First I needed to learn how to get inside of the Makey Makey board to program it to function with the LEDs and buttons. This is a great tutorial for re-programming a Makey Makey board. :::IMPORTANT NOTE::: Not all Makey Makeys are re-programmable with new code. After much trial and error, and reaching out to the Makey Makey Gods, I learned that only the older version - the standard kits, are are compatible. The Makey Makey Classic and V1.2 do not work for these purposes. The standard kit can be purchased at Sparkfun.
The code that is available in the tutorial example is the original Makey Makey code and should be uploaded whenever you want to return the MM to its original factory settings. Keep it in your pocket. It is time to reprogram!
I had worked with neopixels before and coding them is super fun. A great way to get started on this is by going through this tutorial from Adafruit. With 6 pin buttons located on one side of the MM board, I decided to start with 6 possible colors along the rainbow spectrum (red, orange, yellow, green, blue & our friend purple). Each button would correspond to a change of color.
This strip is running from some neopixel test code, which I loaded to make sure it was wired up correctly!
You can certainly build early prototypes with found objects around the house/office/fifth dimension. I decided to grab a glass cup to house this prototype. I luckily found a long enough one to fit the 8-neopixel stick.
I scavenged around and found a PET bottle. I cut off the top and decided to use the lid as a cap. I cut tiny holes around it to put the button wires through. I covered the top with paper and attached the buttons wires to tin foil. I built this circuit for the user to be part of. So the top of the lid acts as the “spray button” but also as the ground, while the other finger touches one of the color buttons. When the user touches the lid and the color button, only then (in theory) should the color change.
The first prototype had come together.
As prototypes go, I did some user testing and moved on to the next version.
Now that the color options are working, I was thinking about giving the spray feature an upgrade by adding haptic feedback so the user would know when in real time the spray was actually happening based on button press.
Using a small vibration motor, I tested different ways to get feedback and how it would interact with the color feedback. Would the spray button be connected solely to color selection or is the color selection separate from the spray? With the goal to get this as close to IRL as possible, I decided to make the buttons separate. I also did some design thinking of color button placement. These changes will be reflected in the next prototype.
The next prototype is going to be mapped to an even more realistic interaction. Instead of buttons for colors, the top nozzle will spin allowing the colors to change seamlessly through the rgb color spectrum. (Great Inspo) The nozzle will also need to be pressed in order to “sprayed”.
Once this is in solid order, the next next step will be to connect the object and its buttons to effect change within the app and HoloPlayer.