Since an Arduino board only has processing memory up to 32KB, using it for computing “smart & emotional” interactions is beyond the reach of such tiny board. A WiShield wirelessly connected to a WiServer, which can be held on a laptop, could be a better alternative because a server can process large and complex data and send only tiny amount of data containing commands for mechanical devices to the Arduino board via wireless connections. People from AsyncLab successfully demonstrated using WiServer to control a seven-segment display from an iPod touch. Because there are copious computing resource, a WiServer can also process and control many Arduino boards at the same time, which means controlling a field of smart surfaces. The only obstacle is that we are not sure if we can have wireless connection at the gallery where we are going to show our surface.
Participation and “viralbility” are the key reasons why we investigate possible ways to connect our smart surface to online social media. With Twitter API and existing Twitter library available in open source like Arduino Playground, making an Arduino board talk to Twitter is possible and has already done before. A employee at SparkFun Electronics built a “Tweeting Kegerator” that tells the temperature and how many beer is left inside a Kegerator on Twitter, with an Arduino Ethernet shield, 100 pound force sensor and a temperature sensor. Taking advantage of the powerful social network platform certainly make this monitoring system very cheap and instantly available to people of interest. Comparing the time and cost invested, it’s definitely better than creating a separate software interface only for one specific purpose. Moreover, the powerful infrastructure of Twitter can possibly push the interaction part of our smart surface to a whole new level.
While folks at SparkFun enjoy following their Kegerator on twitter, people at Hacklab.to pushed the Arduino-Twitter concept even further: they actually made a toilet that will post to twitter with every flush. It’s quite ridiculous in a way, yet it indeed makes a joke viral over the Internet, which is very similar to what we want to achieve with our smart surface.
The Bubble Face November 3, 2009
We are planning to use LED matrix to display the message and face of our smartsurface since a LED matrix allows large variety of programmable expressions. One possible design is the “Bubble Face”: combining message and face all together, dynamically switch between each other. The inspiration comes from a Chinese online short-film series called “Kuang-Kuang-Kuang”. It blends the traditional speech bubble and face together with a big-head design, which is quite neat and friendly.
The first step to achieve intelligent interaction between our smart surface and people is to track motions of a human and being able to “focus” on one specific person in order to continue further interactions. This is the solution to one of the problem identified in “Reverse Brainstorm” session. The problem was the surface is not able to distinguish a user from a crowd. Ultrasonic and PIR sensors were the original candidates for this purpose. However, ultrasonic motion sensor is only for calculating distance between an object and itself while a PIR sensor can only detect motion from its surrounding. None of them can serve tracking purpose. A possible solution is using CMUcam, a camera module that can read and process visual information. A simple roller with a CMUcam controlled via an Arduino board has been built before for identifying objects by processing signals of different colors captured by CMUcam. (http://thisismyrobot.blogspot.com/search/label/robot%3A cmu-blue)
However, in order to make our surface smart, being able to tell the difference between a human and a ball on the ground is another problem we need to figure out. Fortunately, a lightweight yet fairly sophisticated facial detection program for CMUcam3 called Viola Jones Face Detector has already been developed. CMUcam3 is the latest of its kind and most importantly, it’s also open-source. A CMUcam3 costs $239, which is within our financial capability for our final $2,500 budget.