49-713 Designing for the Internet of Things
· 26 members
A hands-on introductory course exploring the Internet of Things and connected product experiences.
Found in Connected Cuisine
In order to enhance interaction between the chef and the customer, we tried to design devices for customers to express their appreciation to the chef as well as soothing chef's stress doing the same thing all day. Our device should be more ambient and fits into the setting of Chinese Dim Sum restaurant.
Dim Sum restaurant's kitchen may be different, but two things are always the same: steam everywhere and steam baskets stacking all over the place. This makes the lack of vertical space for chefs and they spend most of the time busily on the little preparing tables.
When the customer knocks on a particular point on the table, this device on the chef side creates an image on an acrylic sheet out of steam to convey to the chef that he/she really appreciated the food. On a level below this, we have moving lotus floating on water which gives a glimpse of a traditional Chinese pond to relieve the stress of the chef after a long day's work.
int leverButton = D1;
int flag =0;
int flagNew = 0;
void setup()
{
pinMode(leverButton, INPUT_PULLUP);
Serial.begin(9600);
}
void loop()
{
int leverState;
leverState = digitalRead(leverButton);
if (leverState == 0){ //Knocked
flagNew = 1;
}
else{
flagNew = 0 ;
}
if (flagNew == flag){//state stays the same
/*Serial.println("NO CHANGE IN BUTTON STATE");*/
}
else{
if (flagNew == 1){//someone pushed the button
Particle.publish("diotthanku2");
Serial.println("EVENT PUBLISHED");
delay(5000);
}
else {//the state went back to unpushed
Serial.println("Knock stopped");
}
}
flag = flagNew;
}
Click to Expand
int servoPin = D2;
Servo steam;
int fanDraw = D3;
int angle = 0; // servo position in degrees
int pumpPin = D1;
int pumpStrength = 255;
void setup()
{
pinMode(fanDraw, OUTPUT);
/*pinMode(leverButton, INPUT_PULLUP);*/
steam.attach(servoPin);
steam.write(0);
delay(1000);
Serial.begin(9600);
Particle.subscribe("diotthanku2", Draw);
steam.detach();
Particle.variable("Strength", &pumpStrength, INT);
pinMode(pumpPin, OUTPUT);
/*Particle.subscribe("MoveLotus",MoveLotus);*/
/*Particle.subscribe("StopLotus",StopLotus);*/
}
void loop()
{
}
/*void Draw(const char *event, const char *data)
{
digitalWrite(fanDraw, HIGH);
Serial.println("fanDraw");
delay(3000);
digitalWrite(fanDraw, LOW);
}*/
/*void MoveLotus(const char *event, const char *data)
{
Serial.println("fanLotus");
delay(10000);
digitalWrite(fanLotus, HIGH);
delay(10000);
Serial.println("end");
}*/
/*void StopLotus(const char *event, const char *data)
{
digitalWrite(fanLotus, LOW);
Serial.println("StopLotus");
delay(500);
}*/
void Draw(const char *event, const char *data)
{
// scan from 0 to 180 degrees
steam.attach(servoPin);
delay(500);
Serial.println("Draw Event Triggered");
steam.write(30);
digitalWrite(fanDraw, HIGH);
/*Serial.println( pumpStrength);*/
analogWrite( pumpPin, pumpStrength );
delay(100) ;
Serial.println("Door Opened, Fan moving and water pump woirking, will stay on for 10 seconds");
delay(10000);
steam.write(0);
digitalWrite(fanDraw, LOW);
analogWrite( pumpPin, 0 );
Serial.println("Door Closed, fan stopped, water pump stopped, servo detached in 2 seconds");
delay(2000);
/*
if (angle == 0){
angle = 170;
steam.write(angle);
}
if (angle >= 170){
angle = 0;
steam.write(angle);
digitalWrite(fanDraw, HIGH);
delay(2000);
steam.detach();
delay(8000);
digitalWrite(fanDraw, LOW);
Serial.println("Fan stopped");
}*/
steam.detach();
}
Click to Expand
As a team, we challenged ourselves to mix water with electronics. We tried to employ the most important component in the Dim Sum Kitchen -- steam to recreate traditional Chinese Ink wash painting. We successfully prototyped both the form and the function. Although it is an IoT device, we managed to keep it with a very analog appearance.
It is hard working with both water and electronics, but we balanced it nicely using different fabrication methods, from origami to laser cutting/engraving, and different materials like wood, acrylic, and never wet.
A hands-on introductory course exploring the Internet of Things and connected product experiences.
~
March 6th, 2017