Ambient Coffee Cup

Made by Lynn Sandberg, David Hoysan and Aaron Kurth

This ambient device fits into a coffee cup and allows a simple glow to indicate whether a user can drink coffee out or should make it to save money.

Created: February 2nd, 2016

0

Overview

As coffee drinkers, it is important to be aware of how much we are spending on upscale coffee like Starbucks. In an effort to save more money and spend less on going out for coffee, this ambient device fits nicely into a coffee cup and allows a simple glow to indicate whether a user can drink coffee out or should make it at home. 

0

Description of Project

This device allows a user to set a goal of how many times per week they would like to drink coffee out. When the user is below their coffee allowance, the ambient device will glow green, signifying that they can drink coffee out. However, if the user has used up their allotted number of coffee outings within a week, the red LED light will light up, signifying that the user should stop drinking coffee out for that week. 

0

Process

Every time a user drinks coffee at Starbucks, a service will register that the user is drinking coffee out. In this prototype, using gmail, IFTTT, and Particle, we were able to detect if a user had more or fewer than two coffee drinks per week. Each time the user drinks coffee at Starbucks, they will receive an email notification, that email will be sent to IFTTT and IFTTT will let the particle know if the red or green LED light should be lit. 

When less than 2, the LED glows green, if the coffee count is equal to or more than 2, the LED glows red. Every week the coffee count adds 2 coffee outing allowances, so if the coffee outings aren’t used, they accumulate.

Components

1 - Coffee Mug

1 - Red LED

1 - Green LED

2 - 1000 Ω resistors

1 - Jumper wires

0
Whiteboarding the Problem
Screen shot 2016 02 02 at 7.29.14 pm.thumb
0

Outcomes

When a user swipes their credit card at a Starbucks, they will receive a receipt email and the coffee number will tally. The LEDs will appear on the coffee cup. If the user sees green, that means they can have a Starbucks, if it red, it means they should wait for the count to reset the next week and enjoy a cup of joe from home.

0
Breadboard Layout
Screen shot 2016 02 03 at 6.20.43 pm.thumb
0
Photon and Breadboard Wiring
Fullsizerender %283%29.thumb
0
Green LED lights up when a user is under weekly coffee allowance
Fullsizerender.thumb
0
Green LED lights up when a user is under weekly coffee allowance
Fullsizerender %281%29.thumb
0
Red LED lights up when a user is over weekly coffee allowance
Fullsizerender %282%29.thumb
0
// Identify initial variables
int greenLED = D0;
int redLED = D1;
int coffeeCount = 0;

void setup()
{
  // Set pins to outlet and turn both off
  pinMode(redLED, OUTPUT);
  pinMode(greenLED, OUTPUT);
  digitalWrite(greenLED, LOW);
  digitalWrite(redLED, LOW);

  // Create the handleNewCoffeeSpend function
  Particle.function( "coffeeSpend", handleNewCoffeeSpend );
  Serial.begin( 9600 );
}

// Call the function when triggered by IFTTT
int handleNewCoffeeSpend( String command )
{
    // Print message in serial monitor that says a command was received
    Serial.println( "Received = " );
    Serial.println( command );

    // Increase the coffeeCount by 1 when a trigger is received from IFTTT
    coffeeCount = coffeeCount+1;

    // Check the coffeeCount in the serial monitor
    Serial.print( "coffeeCount = ");
    Serial.println( coffeeCount );


    if (coffeeCount < 2)
    {
      // coffeeCount is < 2, Turn on green LED and enjoy starbucks!
      digitalWrite(greenLED, HIGH);
      digitalWrite(redLED, LOW);
      return 1;
    }

    else
    {
      // If coffee count is >= 2, turn red LED on and make coffee at home
      digitalWrite(redLED, HIGH);
      digitalWrite(greenLED, LOW);
      return 0;
    }
}

void loop()
{
// Reset the coffeCount to 0 at the beginning of the week.
  if (Time.weekday()==1)
  {
    coffeeCount=0;
  }
}
Click to Expand
0

Reflection

Our goal was to create the minimum viable version of an ambient coffee cup. With simple LEDs, you would know exactly when you have reached your allotment for the week. In retrospect, there are two areas that we would like to improve for a version 2.0 ambient coffee cup. First, it would be better if the tally of coffees would roll over each week so that if a certain week you drank zero coffees, you could save your two for the next week. We see this as an easy upgrade for the next version of the product. Secondly, having an LED on all the time may get annoying, and everyone at the office will know you drank your quota. We explored other ambient methods of communication such as hidden LEDs. Perhaps the ultimate way to limit your coffee consumption would be with a cup that adjusted itself based on the dollar amount you could afford. One of our first ideas was a cup that would not let you have more than you were allowed each week by volumetrically limiting itself. This opened up more ideas such as perhaps Starbucks could sell coffee by the ounce to these people who were trying to be frugal, while still keeping them hooked on caffeine. The volumetric limitation could on the bottom of the cup and by screwing up and down with a rubber gasket, the cup could change size. You could limit your coffee and all of your friends would never know the difference.

x
Share this Project

Courses

49-713 Designing for the Internet of Things

· 4 members

This course charts the emergence of the now "connected world" to explore the possibilities for future products and connected spaces.


Focused on
About

This ambient device fits into a coffee cup and allows a simple glow to indicate whether a user can drink coffee out or should make it to save money.