Kitche.Net of Things: Connected Cookbook

Made by Dan Porter, lukem1, Wu-Chou Kuo and yifeih1

0

Functionality Objective

The Kitche.Net of Things Connected Cookbook shares your family's recipes and memories. 

When you open to a recipe, you can choose to "preview" it by placing the book's buckle in place. The cookbook then sends a signal to a nearby device that releases the smell of the recipe. If you decide to move ahead with the recipe, you can confirm by pressing a button. Once you confirm, photos of your family cooking the meal are reflected on an LCD screen on your fridge. You can add to these memories or notify other members of your connected family with a mobile phone app. Other members in your family will also have a copy of the connected cookbook, allowing everyone to share in the experience.

0

Why upgrade the cookbook?

We initially came up with the standard ideas focused on optimizing our time in the kitchen. Inspired by Designing Technology for Domestic Spaces: A Kitchen Manifesto, we thought more deeply about the kitchen's role in our livesWe soon realized that shared experience, tradition, and family are all core elements of the home kitchen.

This led us to focus on the family cookbook, which is a cherished possession in many homes. We wanted to breathe new life into it, evoking all of the memories it holds in its pages. 

We used Shutterfly as a precedent, which is a service that creates physical photo books from digital albums. We took that idea and thought through ways we could infuse it with connected technology, creating a unique social experience. We ultimately came up with the "Connected Cookbook", which we hope will amplify the memories and traditions, that are shared in our kitchens.

0

Process

We initially thought about using a screen, but decided that the book should have the same feel and look of traditional cookbooks. With that in mind, we focused on designing ways to sense which page the user opened to.

We originally conceptualized a book with an elastic placeholder. It would have buttons to preview and confirm the recipe choice. A color sensor on the back of the button would sense the unique colors on each page, sending a signal to the other devices in the kitchen.

0

We found the color sensor gave unreliable readings, so we decided to instead use resistors to differentiate between pages. Each page would have a unique level of resistance.

0

We switched from an elastic strap to a buckle. We thought the buckle would be a more intentional action. We didn't want the user to accidentally trigger the smell release, since it would take some time for the smell to dissipate.

Instead of two buttons, we switched to one button that confirms the recipe decision. To preview the recipe, the user places the buckle in place.

We needed the buckle to consistently fasten in the same place, so that they would reliably contact the resistors. We ultimately used magnets, placing them in the book pages and sewing them into our buckle. 

Aesthetically, we didn't want the magnets to get in the way of the pages. We experimented with flat washers, but ultimately decided to group the book's pages by 30, so that we could embed the magnets in between pages.

0

Here is the final code we used:

0
int SendPin = A0;   //Send signal out
int ReadPin = A1;   //Read the signal
int val = 0;        //The value of the read
int buttonPin = D0; // Button Pin
int pageN = 0;
int status = 0;
int ButtonStatus = 0;


void setup(){
  Serial.begin(9600);
  pinMode(SendPin, OUTPUT);
  pinMode(ReadPin, INPUT);
  pinMode(buttonPin, INPUT_PULLUP); // sets pin as input
  String P_Return = "0";
  Particle.publish("doit2017/cookbook/pagenumber/preview", P_Return);
}

void loop(){
  val =  analogRead(ReadPin);
  Serial.println(val);
  if (val > 200 && val < 400 ){
    pageN = 1;
    } else if (val > 1800 && val < 2200 ) {
      pageN = 2;
      } else if (val > 3200 && val < 3400 ) {
        pageN = 3;
        } else {
          pageN = 0;
        }
    if (pageN > 0 && status == 0){
      Serial.println("Smell and Imagine!");
      String S_pageN = String(pageN);
      Particle.publish("doit2017/cookbook/pagenumber/preview", S_pageN);
      status = 1;
      delay(100);
    } else if (pageN == 0 & status == 1){
      Serial.println("See you next time");
      String P_Return = "0";
      Particle.publish("doit2017/cookbook/pagenumber/preview", P_Return);
      status = 0;
      if (ButtonStatus == 1){
        Serial.println("See you next time");
        String Return = "0";
        Particle.publish("doit2017/cookbook/pagenumber/cook", Return);
        ButtonStatus = 0;
      }
      delay(100);
    }
    Serial.print("status:");
    Serial.println(status);
    int buttonState = digitalRead( buttonPin );
    Serial.println(buttonState);
    if( buttonState == LOW && status == 1 ){
      if (ButtonStatus == 0){
        Serial.println("Let's Cook!");
        String S_pageN = String(pageN);
        Particle.publish("doit2017/cookbook/pagenumber/cook", S_pageN);
        ButtonStatus = 1;
        delay(100);
      } else if (ButtonStatus == 1){
        Serial.println("See you next time");
        String Return = "0";
        Particle.publish("doit2017/cookbook/pagenumber/cook", Return);
        ButtonStatus = 0;
        delay(100);
      }
    }
  delay(100);
}
Click to Expand
0

Finally, we focused on a few details to make the design look a little bit cleaner. We created a stand, added recipe pages, added a laser cut apron for the button, and made the magnets less visible.

0

Outcome

0

Circuit Layout

0

Bill of Material

Item (Name/Description)Quantity
Switch (Button)1
220 Resistor1
1K Resistor2
10K Resistor1
Circular Magnet10
Wires


0

Future Considerations

The next phase of our cookbook would need to explore more reliable and scalable methods of sensing the page the user opens to. We may be able to continue with our current model, using magnets and resistors, but they'd need to be thinner and more reliable. Higher-end color sensors may also be a solution to this challenge.

We would also need to consider the need for dynamic content. At present, the book is more or less static – each page is hard coded to correspond with a specific recipe event. This is OK for a one-time creation, but it's not ideal if family members want to continue adding or changing recipes. If we want to design for this scenario, we may need to sacrifice the cookbook pages for a screen.

x
Share this Project


Focused on
About

~

Created

March 4th, 2017