The “Water & Heart” Mug
CONCEPTION AND DESIGN:
The concept of my project is based on the connection between people. In today’s society, the connection between people is getting weakened day by day. Factors like rapid technological development, quarantine, stress of life… What I try to emphasize in my project, is arousing the awareness of people and rebuild the connection between people through daily activities. I wanted to develop an easy, simple artifact but with a significant issue to stress on, also with a deep, coherent concept the relates the feeling of people with the interaction of the artifact.
My final project is an extension of my mid-term project. I also tried to emphasize the topic of interpersonal connection in my mid-term project, but unfortunately, I did not realize the application of wireless function. Meanwhile, the application of sensors was too cumbersome and impractical. As a result, the finished product we made was extremely unstable in the presentation, and strictly speaking, I think it was not very practical. My professor Rudi also pointed this out in a follow-up guide. As for these defects, I decided to improve them all in my final project. Therefore, I plan to use Bluetooth to realize wireless function, and make more rational use of sensors to ensure stable and reliable data so as to enhance user experience.
I was also inspired by a previous project I saw from MIT media lab called MugShots. In the description, it is said that “MugShots enables visual communication though everyday objects. We embed a small display into a coffee mug, an object with frequent daily use”. What I noticed about it, was that it emphasizes the importance of daily use. “Through everyday objects”, “with frequently daily use”. I think this is an important aspect for me to consider if I want to realize the definition of interactive, for an interactive artifact should capture natural activities from users and react to them, and daily activity is surely a good one.
Therefore, what I wanted for my final, is a smart wireless mug, targeted for daily scenes, that realizes intimate communications between remote people who have close relationships, through monitoring the amount of water remained in the mug and visualizing it on the other side.
FABRICATION AND PRODUCTION:
At the very beginning, I planned to use pressure sensor to sense the weight of the water in the mug, so that by mapping the weight of the water into the height, it could be visualized through processing.
However, the pressure sensor was not that reliable. I tried many pressure sensors, but they were either too sensitive or too dull to fulfil my purpose of accurately visualizing the water amount in the mug. So, I turned to Professor Rudi for solution. The advice he offered me was to give up the pressure sensor but use the ultrasonic distance sensor. Therefore, I changed my plan to utilize the ultrasonic distance sensor.
I used laser cut to make a cap for the mug.
Through this way, I could embed the ultrasonic distance sensor underneath the cap.
Then I started to work on the animation part. I first drew the background, using for loop and random() function.
Then I defined a function which I could call to draw a mug cup. With the cup function being defined, I calculated the linear relation between the x and y coordinates so that I could make the water rise in the shape of the cup.
Originally, I wanted to have ten mugs being displayed on the screen all at the same time.
It worked well when the input was defined by me. However, when the input became the sensor value, since the sensor value was not totally stable, the switch between each cup tended to be uncontrollable. At the very end, I gave up this plan.
After finishing the animation part. I continued to work on the fabrication part. One important strategy I implemented during my fabrication, was to build a custom circuit. I received this precious idea from Professor Andy. Thank him so much for that.
This to a great extent minimized the size of my circuits, thanks to which I got to embed the circuits into a small box I made using laser cut.
This is the final state of my project.
Another difficulty I encountered was the application of Bluetooth module. The mechanism was not that difficult, but it still took me a lot of time and energy to have all the settings right. Here, I would like to thank my Professor, Rudi, he offered me a lot of help during this process. I am glad that it eventually worked.
In the end, I was not able to present my project in class because I left school for home earlier than normal due to the sudden spread of COVID. Therefore, I shot a short film to present my final project. Here is my video.
https://drive.google.com/file/d/1FdG39TQeBwqutZ8fY2PMziyFeE9p2IFZ/view?usp=share_link
CONCLUSIONS:
The goal of my project is to arouse people’s awareness of caring for each other through a normal daily activity–drinking water. I think my project did achieve this goal, which I am quite satisfied with. My only audience was my friend whom I invited to my house to experience my project. He was quite surprised with the idea of this project and felt this could really be something he would like to use daily in his life. The way of interacting is quite simple in my project. He basically followed what I expected him to do. What’s important was how he felt after this project. When I asked if he felt this project could be used arouse his awareness of caring for other people, he gave me a firm yes. He said this project made him feel like to be more closely connected with the people on the other side, which I was really glad to hear. I think this is exactly what I expected from my final project. This project is really successful for highly aligning to implementing interaction through daily activities/objects, which highly aligns to my definition. If I had more time, I would add another sensor to let the user who receives the animation get involved within the interaction process not only through sending text messages, but also through some real physical activities to remind the user who holds the cup.
In modern days, I have heard of more and more confiding in their loneliness, feeling the connection between people have been harder and harder to remain. I hope this project could really help people notice this problem, and maybe make some little changes to that.
ANNEX
Code for Arduino:
#include "SerialRecord.h" #include <SoftwareSerial.h> #define sensorPIN A0 #define pumpPIN 5 const int Trig = 12; const int Echo = 13; int distance,time ; int data; SoftwareSerial BT(10, 11); // RX, TX SerialRecord writer(1); void setup() { pinMode(sensorPIN, INPUT); pinMode(Trig, OUTPUT); pinMode(Echo, INPUT); Serial.begin(9600); while (!Serial) { ; } BT.begin(9600); } void loop() { digitalWrite(Trig, LOW); delayMicroseconds(2); digitalWrite(Trig, HIGH); delayMicroseconds(10); digitalWrite(Trig, LOW); time = pulseIn(Echo, HIGH); distance = time / 58-2; BT.println(distance); writer[0] = distance; writer.send(); delay(50); }
Code for Processing:
import processing.serial.*; import osteele.processing.SerialRecord.*; Serial serialPort; SerialRecord serialRecord; int size; int count = 1; float r, g, b; int radius = 10; float weight; float h=392; float h1=392,h2=392,h3=392,h4=392,h5=392,h6=392,h7=392,h8=392,h9=392,h10=392; void setup() { fullScreen(); background(255,255,255); noStroke(); size = 100; for (int y=0; y<height+100; y += size){ for (int x=0; x<width+100; x += size){ r = map(random(255), 0, 255, 200 ,255); g = map(random(255), 0, 255, 180 ,240); b = map(random(255), 0, 255, 175 ,235); fill(r, g, b); ellipse(x, y, size, size); } } serialPort = new Serial(this,"COM12", 9600); serialRecord = new SerialRecord(this, serialPort, 1); } void draw(){ serialRecord.read(); h = serialRecord.values[0]; h1 = 392 - map(h,0,9,392);; if(h1>392){ h1 = 392; } if(h1<0){ h1 = 0; } cup(width/2,height/2,5.6,h1); println(h); } void cup(int x,int y,float k,float h){ fill(255,255); stroke(0); strokeWeight(20); strokeJoin(BEVEL); quad(x-32*k,y-45*k,x-25*k,y+25*k,x+25*k,y+25*k,x+32*k,y-45*k); strokeWeight(2); fill(123,218,247,220); quad(x-25*k-h/10,y+25*k-h,x-25*k,y+25*k,x+25*k,y+25*k,x+25*k+h/10,y+25*k-h); }