Introduction: Arduino Controlled Smart Coaster

Picture of Arduino Controlled Smart Coaster





The Smart Coaster is an intelligent coaster for your beverages. It recognizes the different types of beverages placed on top of it, with a cocktail the Smart Coaster glows in some atmospheric and slowly changing colors. If you place a cup of hot tea on it, it automatically starts a special tea timer program which shows you, when the tea is ready to drink. If the glass is empty or filled with a cold drink the Smart Coaster glows blue, if the drink within the glass is hot, it glows red.

The Smart Coaster uses a LED strip with 23 RGB LEDs, each driven by a WS2812 chip, to glow in different colors. It contains a self-made pressure sensor based on Velostat, by which it recognizes the weights of different types of glasses.  Additionally a Texas  Instruments TMP006 temperature sensor is placed with the coaster. This sensor detect fast changes of the temperature of the glass without the need to touch the object. For this purpose the TMP006 uses a uses a thermopile to absorb the infrared energy emitted from the glass and uses the corresponding change in thermopile voltage to determine the glass temperature. By matching these sensor values with predefined profiles the Smart Coaster differentiates between different glasses and beverages.
This instruction allows to build 2 different variants of the Smart Coaster. The first variant uses only 3D printed parts, the second variants replaces some printed parts with acrylic glass and involves therefore some additional work. It is highly recommended to build the first variant, since some parts for the Smart Coaster have to be printed in 3D.

Don't be confused, the pictures in this instructable are showing my first prototype. I used laser cut parts instead of 3d printed parts. But the build process is nearly the same. If you use 3D Printed parts you can leave out some instructions of this step. Whenever i mention acrylic glass discs they represent also the 3d printed bottom parts.

Bill of materials:

1 x Arduino Mini Pro  
1 x Adafruit TMP006 Breakout
1 x LED Strip WS2812 with 23 LED’s  
1 x 3D printed parts (Thingiverse) 
1 x resistor 2.7 KOhm
1 x 6x6cm Velostat 
1 x 3,7V 250 mAh LiPo battery (lady bug)
1 x wire
1 x insulating tape


only used when NOT building the pure 3d printed variant:

1 x circle Ø11 cm of normal white paper
1 x ring (5mm width) Ø11 cm of heavy paper or cardboard
1 x 5 mm thick disc of acrylic glass Ø11 cm
1 x 3 mm thick disc of acrylic glass Ø 11 cm

Used tools and devices:

1 x 3D printer
1 x dremel (multifunction rotary tool)
1 x hot melt glue gun
1 x solder iron
1 x FTDI breakout
1 x Cutter
1 x scissors
1 x Arduino IDE

time and affort:
2 - 4 hours


Step 1: Printing the Needed Parts

Picture of Printing the Needed Parts

Download all needed parts from http://www.thingiverse.com/thing:165218 . All 3 parts bottom_bottom, bottom_top and top from Thingiverse should be printed out using white filament. If you build laser cut version, you only need to print out the top part. 


Step 2: Building the Pressure Sensor

Picture of Building the Pressure Sensor

Cut a round piece with a diameter of 5 – 6 cm out of the velostat.

Afterwards drill two holes near to the edge into the 5 mm acrylic glass disk. These holes are later used to put the wires for the pressure sensor through.

Remove 5 cm insulation from 2 cable wires, each around 10 cm long.

Fixate the stripped end of each cable wire on one side of the Velostat circle at the time as a semi circle with some tape.

Put both cable wires through the holes in the 3D printed part bottom_top or when building variant 2 through the holes drilled into the 5 mm acrylic glass disk. (not needed with 3d printed parts)

Fixate the Velostat pressure sensor with tape within the small pit of part bottom_top. If you are building variant 2 just tape it to the center of of the 5 mm acrylic glass disc.

Glue the 5 mm ring of paper on the acryllic glass disc to compensate for the height difference caused by the pressure sensor. (not needed with 3d printed parts)

Glue the circle made of paper to the ring to prevent the light exiting through the coaster bottom. (not needed with 3d printed parts)

Glue the bottom_bottom part (if using laser cut parts the 3mm acrylic glass disc) carefully to the side with the pressure sensor on the side of the disc as shown in the following picture.

Step 3: Preparing the WS2812 Led Strips

Picture of Preparing the WS2812 Led Strips

Cut a strip of 23 LEDs from the WS2312 LED strip roll.

Then solder 3 cable wires to the contacts on the LED strip end, one to GND, one to VCC and one to VI.

Glue the LED strip with a hot melt glue gun on the inner side on to the bottom part. This is done best by fixating the strip first with some tape. The single LEDs should rest on the bottom part.

The bottom_top part or the the 5 mm acrylic glass disc when building variant 2 should fit perfectly the outer margin of the LED strip, so you should only see the bottom_bottom part or the 3 mm acrylic disc.

To prevent the light shining through the solder pads adhere one round of type around the LED strip.

Step 4: Time to Connect the Electronic Components

Picture of Time to Connect the Electronic Components

First solder 4 wires to the TMP006 Sensor Breakout pads labelled with GND, VCC, SDA and SCL.
Now solder the VCC and GND wire to the corresponding pads of the Arduino Mini. After this solder the SDA wire of the Breakout board to the A4 pad of the Arduino Mini. The SCL wire of the Breakout board has to be soldered to the Arduino’s A5 pad.

Next solder one wire of the pressure sensor also to Arduino Mini VCC pad. Then solder the other pressure sensor wire to Arduino’s A0 pad. To connect the LED strip solder the VI wire to pad 11 of the Arduino MIni. Also solder the LED strip wires VCC and GND to the corresponding Arduino pads. Now solder the 2K7 resistor between Arduino GND and pad A0. At last connect VCC and GND of the battery to the corresponding Arduino pad. At the end the wiring should look similar to the wiring on the picture above.


Step 5: Positioning the TMP006 Breakout Board

Picture of Positioning the TMP006 Breakout Board

The printed top part as a small hole in the center. This hole allows the TMP006 sensor to measure the temperature. Now glue the breakout board to the top part with the small sensor chip sitting directly beneath the hole.

Step 6: Programming the Coaster.

Picture of Programming the Coaster.

The construction is finished. Now it’s time for programming the coaster.
If not installed, install the Adafruit Neo Pixel [1] and [2] Adafruit TMP006 libraries.
Now start the Arduino IDE and connect the Arduino using the FTDI to the computer running the IDE.

[1]  http://learn.adafruit.com/adafruit-neopixel-uberguide/overview
[2]  http://learn.adafruit.com/infrared-thermopile-sensor-breakout

Download the Arduino sketch from: 
http://www.mariolukas.de/downloads/

Open the downloaded Smart Coaster Sketch [6] in the Arduino IDE using File -> Open...

Choose the appropriate board for the Arduino Mini with Tools -> Board -> Arduino Pro or Pro Mini (3.3V, 8 MHZ) w/ATmega328
Click Upload which compiles the sketch and uploads it into the Arduino.

Disconnect the FTDI from the Arduino, insert the LiPo battery and close the Smart Coaster. The Smart Coaster turns on automatically when you put a glass on it. 

The Smart Coaster is now ready for duty. Have fun building it!

And don't forget to support this project for the contest by following the link below and clicking like!
http://www.photonik-campus.de/projects/smart-coaster/

Further Ideas
The integration of a serial bluetooth interface would allow the coaster to be wireless programmed. Other than that it would be possible to control the Smart Coaster with a smart phone. It could be used to give notice of received messages, remaining power or other info by color changes or blinking.

The Smart Coaster would definitely be a good use case for wireless charging, as there would be no need to open it again once assembled.

Multiple Smart Coaster could communicate with each other and show some kind of “swarm” behavior, e.g. matching the same beverages.

Also you have the possibility to create some party games with a Smart Coaster, e.g. spin the bottle or choosing random colors for each new drink.

You can contact me at : http://www.mariolukas.de



Comments

ss06qy (author)2015-11-12

I couldn't find your sketch from the link provided...http://www.mariolukas.de/downloads/

Could you send a direct link plz? Thank you.

Akin Yildiz (author)2014-12-05

my project is growing, I now need the body of the pot to change color. I did a quick small prototype with rgb leds. I think just 1 led will provide plenty of light if we can make it travel around the rim, or bottom. I also am planning on a wireless charging system. I was just able to upgrade it with a wifi module. now the pot can e-mail you once a sensor is triggered, and also saves the collected data on the cloud. you should consider using the ESP8266 wifi module; https://www.instructables.com/id/ESP8266-Wifi-Tempe...

.

i am trying to assemble a team of amazing people. we are a non-profit, open source electronics company, specializing in plant care instruments - feel free to message me with any questions. all contributors are listed with their input/date on our webpage.

.

thank you very much for such a detailed instructable !!!

nursakinahyasmin (author)2014-02-19

I've been doing a mini project. Can i get the full coding for this smart coaster as reference?

This is my email if you can contact me for further detail.

nursakinahyasmin@yahoo.com

neil1701 (author)2013-12-30

I was thinking you could maybe incorporate a piezo-electric buzzer into it so that it would make a buzzing noise or even a speech sample repeating 'I need a refill' or some similar saying in addition to lighting up

About This Instructable

22,576views

98favorites

License:

More by mlukas:Arduino controlled smart coaster
Add instructable to: