LEMINO

Made by Ke Zheng

Found in Home Hack · UNLISTED (SHOWN IN POOLS)

LEMINO is a kind reminder to remind users to drink boiled water while the water's temperature is just right and also, it can reminds users to finish their coffee or tea before the drinks turn cold.

0

Intention

My roommate, Meilin, cares a lot about how to live a healthier life. If possible, she would definitely drink warm water which is better for stomach. We have a water boiler in the kitchen, but the problem is she tended to forget to come back to kitchen and get water on time. For so many times, when she finally realized that the boiled water was available, after one or two hours, the water has already cooled off.

0

Context

I want create an IoT product which can let me know when the water has been boiled and the temperature is suitable for us to drink (the temperature world still be too hot right after being boiled).

0

Process

To sense the water temperature, I would need a temperature sensor, and since the alarm sound would be noising I decided to use LED light and SMS message (through IFTT) to notice Meilin that the water in the boiler is ready to drink. 

0

Product

The IoT particle is built up with:

  1. Breadboard x1
  2. Low voltage temperature sensor TMP37 x1
  3. 103 Resistor x1
  4. LED lights x4
  5. Resistor (brown/black/red) x1
  6. Jumper wire x14
  7. Connect wire x3
0

Outcome

The IoT particle is built up with:

  1. Breadboard x1
  2. Low voltage temperature sensor TMP37 x1
  3. 103 Resistor x1
  4. LED lights x4
  5. Resistor (brown/black/red) x1
  6. Jumper wire x14
  7. Connect wire x3

Video is available here:

https://drive.google.com/open?id=0B5mItdEDyTHUZ2xrbmZTaFZYYlU

0
int sensorPin = A0;
int sensorVal = 0;
int baselineTemp = 10;
int number = 4;
int LedPin [4] = {D0, D1, D2, D3};
float temperature = 0;

void setup(){
  Serial.begin(9600);
  for (int x=0; x<5; x++){
    pinMode(x, OUTPUT);
    digitalWrite(x, LOW);

  }
  Particle.variable ("sensorValue",&sensorVal,INT);
}

void loop(){
  sensorVal = analogRead(sensorPin);
  Serial.print (sensorVal);
  Serial.print ("ADC");
  float Voltage = (sensorVal/1024.0)*5.0;
  Serial.print (Voltage);
  Serial.print ("Volts,");
  temperature = (Voltage * 4) + 7;
  Serial.print (temperature);
  Serial.print ("degrees C");
  if (temperature < baselineTemp){
    digitalWrite(LedPin[0], LOW);
    digitalWrite(LedPin[1], LOW);
    digitalWrite(LedPin[2], LOW);
    digitalWrite(LedPin[3], LOW);
    Particle.publish ("TempCold", "cold");
  }
   else if (temperature >= baselineTemp && temperature < baselineTemp+10){
     digitalWrite(LedPin[0], HIGH);
     digitalWrite(LedPin[1], LOW);
     digitalWrite(LedPin[2], LOW);
     digitalWrite(LedPin[3], LOW);
     Particle.publish ("TempCool", "cool");
   }
   else if (temperature >= baselineTemp+10 && temperature < baselineTemp+20){
     digitalWrite(LedPin[0], HIGH);
     digitalWrite(LedPin[1], HIGH);
     digitalWrite(LedPin[2], LOW);
     digitalWrite(LedPin[3], LOW);
     Particle.publish ("TempWarm", "warm");
   }
   else if (temperature >= baselineTemp+20 && temperature < baselineTemp+30){
     digitalWrite(LedPin[0], HIGH);
     digitalWrite(LedPin[1], HIGH);
     digitalWrite(LedPin[2], HIGH);
     digitalWrite(LedPin[3], LOW);
     Particle.publish ("TempPerfect", "perfect");
   }
   else if (temperature >= baselineTemp+30 && temperature < baselineTemp+40){
     digitalWrite(LedPin[0], HIGH);
     digitalWrite(LedPin[1], HIGH);
     digitalWrite(LedPin[2], HIGH);
     digitalWrite(LedPin[3], HIGH);
     Particle.publish ("TempHot", "hot");
   }
   delay(1000);
  }
Click to Expand
0

Reflection

  1. Different sensors need different code — even TMP36 is different from TMP37

The tutorial I studied online is using TMP36 as an example to build up a temperature sensitive product. The sensor I picked up from IDeAte lad is TMP37. Though there is only a tiny difference in their names, it greatly changed the equation part in the code in which I need to transfer the number sensor reads to voltage and finally to temperature in Celsius. The fact is that TMP36 have an output scale factor of 10 mV/°C and TMP37 provides an output scale factor of 20 mV/°C.

Detailed difference can be found here:

http://www.analog.com/media/en/technical-documentation/data-sheets/TMP35_36_37.pdf

2. Understand how temperature sensor works

The sensor's working base is the voltage that's read across the diode. The temperature rises when the voltage increases.

0
 blank
Lemino.pdf

136.457 KB · Download / View

x
Share this Project

This project is only listed in this pool. Be considerate and think twice before sharing.


Found In
Courses

49-713 Designing for the Internet of Things

· 26 members

A hands-on introductory course exploring the Internet of Things and connected product experiences.


Focused on
About

LEMINO is a kind reminder to remind users to drink boiled water while the water's temperature is just right and also, it can reminds users to finish their coffee or tea before the drinks turn cold.

Created

January 26th, 2017