Smart houses are cool, but how can we make them more like homes and less like automated buildings? If "home is where the heart is" how can we develop smart homes that connect us with people close to us, but who live far away?
We started with a prompt from our own experience: connect students and young working adults transplanted to Minnesota, hundreds and thousands of miles away from our families and friends, so we can share some of the hardest aspects of our experience living away-- our emotions -- to feel connected and get support.
The idea is drawing from the concept of a zen garden, which a person might interact with when stressed or burdened with some weighty emotion. As a person stacks rocks in their zen garden, it represents the amount of stress they are feeling that day, or in the moment. This feeling is immediately reflected in the changing brightness of the lamp, hundreds of miles away in their family or friends home. This lets his or her support network back home know that something's going on, and can serve as a prompt for loved ones to check in or send an encouraging word.
What it does
We built a pair of "sympathetic" objects that use real-time sensing, wifi, and ambient, artistic data visualization to create an embodied emotional connection between two homes. The "sender" object is a smart zen garden for reflection and rock stacking mediation. It has a weight sensing platform, based on a load cell, that detects how many rocks are stacked on the platform. The second "receiver" is an RGB lamp that glows brighter or softer depending on the weight of the rocks.
How we built it
Programmable Components: Lamp: Arduino MKR1000 (wireless), handmade LED array, 3D printed Egg shape Garden: Arduino MKR1000, Load Cell + HZ711 amp/AC-DC converter (Sparkfun), Glass marbles, Hanji candle holder, scrap birch wood, lots of hot glue
Brian expertly crafted an LED array from a collection of super bright Green and Blue LED's. He also worked with Steph to solder and wire up load cells for the zen garden, and a 5V stepper motor to create our little spinning avatar, (yay art prize!).
Stephanie researched and wrote code in C/Arduino for message passing, calibrated the load cells, wrote an algorithm to translate the data from the load cell to RGB values for the lamp, and applied her artistic skills to creating the physical zen garden sculpture from all recycled parts from old projects.
Jasmine worked with Steph to write code in C/Arduino and bash for data streaming with RabbitMQ, helped solder up and calibrate load cells, wrote mashup code to connect the components together, and managed to get her hair to stand on end with hours of hardware debugging (jk, born that way). She also designed and 3D printed the egg shell that became the lamp (designed previously for a different project, was originally a speaker), and created the hanji paper platform (originally a candle holder), and the 3D printed venus sculpture at the top.
Challenges we ran into
We had to figure out how to separate the power source of the LED's and the Arduino, since they drew an incredible amount of wattage, way more than the 2A Arduino could supply.
We experimented with a couple different data streaming servers to pass data wirelessly in realtime, eventually using RabbitMQ to create a seamless connection that worked well with Arduino.
We originally were going to use a couple load cells to create a multi-stage platform, but we were testing them on a breadboard without soldering the leads, which led to the assumption that they didn't work. It wasn't that they didn't work, it was just that they didn't have a good connection without a soldered lead. By the time we figured that out, it was too late to incorporate them into the design, so we just went ahead with one. (yay, adaptation!)
For some reason our Arduinos would not stay connected to the same USB port on our Macs. "Floating USB ports" is a documented problem on macs, but we didn't see any ppl online with this extent of a problem or a solution. Some of the libraries also wouldn't run on Windows, so we couldn't share across our platforms. We literally spend hours connecting and reconnecting the Arduinos to the various USB ports to upload and test code. Jasmine turned her computer off an on 5 times over the course of the day to reset. Still have no idea what the heck was going on. :\
Accomplishments that we're proud of
We came with literal boxes and boxes of scraps and knick knacks and had to turn it into something pretty and zen-like, and y'know cool. Glass marbles, hanji paper, and organic 3D printed egg shapes for the win.
Actually managed to get message passing to work in real-time, seconds before the deadline.
Arduino whispering (aka hardware debugging)
What we learned
Segment the project into parallel components that can continue even when one aspect gets stalled. We had a great workflow setup where we didn't have build in component dependency, even between code, until the end, so we were able to get the entire project with all its moving parts finished by the end, despite several road blocks!
Brian used a soldering iron to melt a second hole into the 3D printed plastic of the Egg lamp for the LED power cord.
Solder all your components before using them. :'-D
What's next for EmoThings
We will post our code and tutorial on Github. We're also going to make a couple and try it it our homes!