Introduction: Wifi CONTROLLED COFFEE COASTER With COLOR CHANGING TEMPERATURE INDICATOR LED

Picture of Wifi CONTROLLED COFFEE COASTER With COLOR CHANGING TEMPERATURE INDICATOR LED

Knowing when to drink and enjoy your coffee has been explored in many ways. One of them is the LED colour changing coffee coaster temperature. LED lights up if the temperature threshold is reached. By utilizing tri-color LED with built in IC, coffee coaster has become very attractive and exciting to use. Depending on the temperature, LEDs lights up. If the coffee temperature is too hot to consume, LEDs will flash in red color. After the red flash of the LEDs, the coffee can now be consumed safely. It is very important to wait for the red flash of the LED because the temperature reading is very slow to read and coffee might still be too hot to consume before the red flash of the LEDs.

Electric Imp has made a very huge breakthrough in making anything to easily get connected to the internet. Controlling the operation of the LEDs and reading temperature through makes life easier when there is any software update or additional feature that needs to be done the coaster. Changing the coaster configuration and setup can easily be done using internet and electric imp.

my skill in electric imp:

electric imp is really new to me. this is my first instructable of it's use. I was very impressed by its capacity after i was able to do the the "hello world" tutorial a month ago. Honestly, i have to do lot of readings before i was able to make this project. I thought of combining of "hello world" and temperature data logging tutorial in order to achieve my goal for this project.

Related readings:

https://www.instructables.com/id/Make-it-Tweet/

https://www.instructables.com/id/Arduino-controlled...

https://www.instructables.com/id/Smart-Coffer-Cup-T...

https://www.instructables.com/id/Arduino-portable-t...

https://plot.ly/electric-imp/tmp36-temperature-tut...

http://www.electronics-lab.com/blog/?p=23801

http://systemsofmerritt.com/Engineering/interfacin...

http://blog.kevinstock.net/2013/02/10/electric-imp...

Materials:

Electric Imp

Electric Break-out Board

Tri-color LED

TMP36 Temperature

Round Coaster

Step 1: Register Electric Imp WIFI and Sign Up for an Electric Imp Developer Account

Picture of Register Electric Imp WIFI and Sign Up for an Electric Imp Developer Account

Open this link (http://electricimp.com/docs/gettingstarted/blinkup/) for the required reading if you haven’t done this before. You can play the video for the step by step procedure of the registration.

Download and install the electric imp app from apple store or android market.

If you can see the green light is on, you are connected to the internet network.

Step 2: Build the Coffee Coaster (bottom Layer1)

Picture of Build the Coffee Coaster (bottom Layer1)

I bought my coaster with built-in color changing LED from mall which makes it easier for me to achieve color changing effect with a very low cost. In this project, I was modifying the control of these LEDs using electric imp and connect to the internet. I had used my LEDs previously, but I was not happy of its outcome because the LEDs are not bright enough.

The coaster that I had was too thin, so I have to join two coasters to accommodate the electric imp circuit and USB cord. I had to cut a section in the coaster on the bottom so I could place electric imp and to have easy access to the wirings on the top layer. The side of the bottom layer was also removed to accommodate the USB cable. Soldering skills required on connecting together the wires.

Step 3: Build the Coffee Coaster (bottom Layer2)

Picture of Build the Coffee Coaster (bottom Layer2)

Solder the wires to each LED. Make sure the old connections are cut on the PCB in order to individually control the LEDs using the electric imp I/O pins.

NOTE: If you are using a different LED, you have to use a
resistor to limit the voltage to each LED. Consult the data sheet of the LED using you are using, to avoid LED damage.

Step 4: Test the LED Connection and Operation

I made this program to check the I/O pins and confirm the LEDs works.

// Configure the pin

hardware.pin1.configure(DIGITAL_OUT);

hardware.pin2.configure(DIGITAL_OUT);

hardware.pin5.configure(DIGITAL_OUT);

hardware.pin7.configure(DIGITAL_OUT);

hardware.pin8.configure(DIGITAL_OUT);

hardware.pin9.configure(DIGITAL_OUT);

// Set the pin HIGH

hardware.pin1.write(1);

hardware.pin2.write(1);

hardware.pin5.write(1);

hardware.pin7.write(1);

hardware.pin8.write(1);

hardware.pin9.write(1);

Step 5: Connect the TMP36 Sensor

Picture of Connect the TMP36 Sensor

Step 6: Load the Main Program

Enjoy!!!!!!!!!!!!! Feel free to hack the project.

// declare LED pin assignent

led1<-hardware.pin5;

led2<-hardware.pin7;

led3<-hardware.pin9;

// declare input pin for temp sensor connection

sensor<-hardware.pin1;

// LED pin configuration

led1.configure(DIGITAL_OUT);

led2.configure(DIGITAL_OUT);

led3.configure(DIGITAL_OUT);

//temp sensor pin configuration

sensor.configure(ANALOG_IN);

/*

http://learn.adafruit.com/tmp36-temperature-sensor

temp range -40°C to 150°C / -40°F to 302°F

*/

local output = OutputPort("coffeeTemp","number");

local sensorData = null;

local map = null;

local voltage = null;

local coffeeTempC = null;

local coffeeTemp = null;

function update_coffeeTemp()

{

//keep the imp alive

imp.wakeup(1, update_coffeeTemp);

//read data fron sensor

sensorData = sensor.read();

// map the data of the reading

map = 65535.0 / sensorData;

// configure sensitivity of sensor data

voltage = 3300 / map

//convert millivolts reading into degree Celcius

coffeeTempC = (voltage - 500) / 10.0;

server.log("Coffee Temp: " + coffeeTempC);

// set output to degree Celcius unit

coffeeTemp = coffeeTempC;

// OPERATING CONDITIONS

// too cold

if ( coffeeTemp <= 49.9) {

hardware.pin9.write(1);

hardware.pin5.write(1);

hardware.pin7.write(1);

}

// too hot to handle

else if ( coffeeTemp > 50.0) {

// create a global variable to store current state of the LED

state1 <- 0;

function blink() {

// invert the value of state:

state1 = ~state1;

// write current state to led pin

led1.write(state1);

led2.write(state1);

led3.write(state1);

imp.wakeup(1.0, blink);

}

// start the loop

blink();

Comments

About This Instructable

1,020views

18favorites

License:

Bio: Cars. Electronics. Mechatronics. I'm a thinker and maker by blood....
More by pelegren:Arduino ClonesWiring Hack: Female Terminal as Splice Point JoinerVehicle Anti-Get-Away Device
Add instructable to: