3a-sa5an

Temperature Coaster

Project Ideation

  • Project idea:

The project idea is a Customizable Smart Coaster, it matches the users' mood; it alerts you the temperature of your cup so you can drink it before it cools down or wait until the drink warms if you don't prefer to drink very hot drinks. Just turn on the coster, put your cup on the coster, see the temperature's light, then drink your tea when it turns to the light color you would prefer.


The Smart Coaster senses the temperature of your cup and indicates it through RGB LEDs Lights in 5 stages of temperature variables:


The first stage: when the temperature is below 24c, then the LED's color is BLUE which indicates that the cup is very cold "iced".

Second stage: when the temperature is below25 c, then the LED's color is CYAN which indicates that the cup is getting cold.

Third stage: when the temperature is below 26c, then the LED's color is GREEN which indicates that the cup is at the perfect temperature.

Fourth stage: when the temperature is below 27c, then the LED's color is MAGENTA which indicates that the cup is warm close to hot.

Fifth stage: when the temperature is above 28c, then the LED's color is RED which indicates that the cup is burning hot.

  • Inspiration

Because I was in a college whose projects require a lot of time, And to spend this time, there must be a cup of coffee or tea, but during doing these projects I forget to drink the drinks I prepared, till it cools down, so I go and prepare another cup and forget it as well and so on in a closed circle. XD
So this project's idea came out so that everyone can enjoy their drinks -hot or warm as they like - before they forget it and it gets cold because of the work pressure.

Also, it's for those who don't like drinking very hot drinks, like my sister XD.

similar project I found while searching

Project Construction

Software:

fusion360

Ultimaker Cura

RDworks

Material:

  1. Generic PLA

  • white filament

  1. Plywood sheet

  • 3mm thick

  1. 3m screws and nuts

Machines:

  1. 3D Printer (Prusa i3 mk2)

  1. Laser Cutter (ML1390)

Design Process

For the Coaster part design: I designed it in Fusion 360, it's divided into 2 parts, the coster base, and the cover.

The base: First I draw a circle, extruded it, made a 0.2mm shell for the breadboard and the electronics, fillet the edge.

The cover: I used the surface plane tool to draw a circle over the Base, then I draw another small circle to make a hole for the temperature sensor. Then I extruded it.

There's a part that holds the cover, for this part I draw a rectangle on the front view, placed it in the position I want then I SWEEP it around the coster base, Finally, I combined the two parts; the coaster and the holding part.

For the Electronic enclosure part design: also, I designed it in Fusion 360, it's divided into many parts, the two sides, the front, and the back, and the top and the bottom. Just a few rectangles in different dimensions. I used the T-slots to assemble the parts together so I drew them and drew the screws holes.

on the bottom part. I drew the screws holes for the electronic components.

on the back, I drew the button and the Arduino places, and on the side parts, I drew the buttons' places.

*I imported some components from the GrabCad website, to imagin how they will fix into my box.

for the top and front parts, I engraved pictures that I designed using Illustrator, so I didn't make any holes.

After I finished drawing all my parts, I extruded them 0.3mm (the sheet thickness), and I Used the Joint tool and assembled them together with rigid joints.

preparing for fabrication

For 3D printing preparation: I extruded the coster file as (.stl) file, then I imported it into Cura for slicing to 3d printed. I set my parameters then inserted them into the SD memory card.

For laser cutting preparing: I extruded each sketch as a (.dxf) file, then I imported it into RDWorks, nesting my parts.

After that, I imported the pictures I design and some other photos from google for the engraving. to make it lines I used the BMP tool and select the "get lines" button.

Next, I set my parameters, Which line would be cut and which one would be engraved, also I want some parts to be "cut speed" which means that they aren't engraved or cut.

Finally, save the file and insert it into the USB for laser cutting.

LASER CUTTING PARAMETERS

  • Cut:

Color: Black Speed: 10 mm/s Power: 65%

  • Engrave:

Color: Red Speed: 350 mm/s Power: 28%

  • Cut speed:

Color: Brown Speed: 350 mm/s Power: 28%

3D PRINTING PARAMETERS

  • Material: PLA

  • Printing temperature: 215.0

  • Profile: Draft - 0.15 mm

  • Infill: 5%

  • Adhesion: No (the surface area touching the plate is wide enough)

  • Grams: 6gm,14g

fabrication process

For the fabrication process, I used the laser cutting machine and the 3D printer, We have learned how to use them on the first week.

I used 3D printing machine for printing my model.

I cut out the electronic box using the laser cutter. then I assembled the box and started to fix the components and the buttons.

Project Electronics & Power Management

Software: I used TinkerCAD to simulate the circuit before building it in real.

In this circuit, I used a temperature sensor and RGB lED strip.(to control the RGB strip I used also an H-bridge driver.)

temperature sensor: senses the temperature variables (as an Input)

RGB lED strip: indicates these variables in colors. (as an action)

  • I'm using 12v DC power for the strip and 5v (from the Arduino) for the other components (the sensor, and the drivers)

TinkerCAD

Electronics components

  • 3 Resistor (560Ω)

  • LM35 Temperature sensor

  • RGB LED Light Strip

  • On/Off Switch

  • 2 H-Bridge drivers.

  • Breadboard

  • Arduino UNO Board

  • Jumper Wires (per need)

  • DC power 12v

Simulating the circut on Tinkercad

Circuit design:

Before implementing the circuit in real, know how the circuit should work and what are the expected outputs. after I set all the components, I started to assemble the components to the circuit.

  1. First: know how the components of the circuit should be connected. *check the components' datasheets if you don't know.

  2. I made sure to connect each RGB LED's color with a current limiting resistor, and connect each of them to a different Arduino pin (red goes to pin1, blue goes to pin2, green goes to pin3 and cathod goes GND Arduino pin) *using the wire color coding, mad e it easy while programming the code. The purpose of the circuit is to make the Arduino board the main controller of the circuit, to control the colors individually, and to implement the temperature variables.

  3. I connected the temperature sensor to the breadboard and wired it to the Arduino, (GND goes to GND Arduino pin, power goes to 5v Arduino pin, Vout goes to A0 pin) *the temperature sensor is an analog item so it's connected to Arduino's analog pins.

Note: In TinkerCad simulation, there isn't LM35 temperature sensor or RGB LED strip, so I used TMP36 and RGB LED instead.

Temp.RGB Simulation.mp4

Wiring the circuit on the physical breadboard and connected it to the Arduino UNO board.

LED Strip-H.brige wiring

VID_20220312_181032.3gp

explaning the LED Strip-H.brige wiring

sensor wiring

12v power socket

  1. I started wiring the strip to resistors (each led color), and to the drivers:

  • the right and left outputs one goes to the common VCC in the srtip (that is connected to the DC power 12v) and the other goes to the resistor that are connected to the colors,

  • IN1,IN2 controls a color, IN3, IN4 controls the second color. and the second driver conrtols the last color. and these are connected to the Arduino pins.

  • Driver GND,5V goes to the common GND,VCC that comes from the Arduino, also I connected one driver with 12V.

  1. then I wired the sensor, signal leg goes to A0 and the GND,VCC goes to the common GND,VCC that comes from the Arduino.

  2. Finally, I connected the power to an On/Off switch to control the circuit.

Project Programming, Integration & Testing

Arduino IDE

Software: I used Arduino IDE for coding.

First I wrote a code to test the RGB Strip's wiring with the drivers.

Coding design:

Explaining the RGB Strip code part:

First: I defined the component I used and which pins they are connected to on the Arduino.

Second: in the Void Setup sekchen, I wrote the processes I want to be run for once.

Third: Void loop sekchen:

  • first in the loop sekchen: I tested the colors variables so I set the pins on and off to change the colors and set a delay between them

  • because I'm using the driver, to turn off a color I set its pin HIGH-HIGH, not LOW-HIGH, so it didn't cause a shortening the circuiting and prevent them from overheating or burning out.

VID_20220319_194335.3gp

RGB code testing

Then I connected the sensor and write a code for the 5 stages I mentioned before and test it.

Coding design:

Explaining the Sensor-RGB code:

First: I defined the component I used and which pins they are connected to on the Arduino.

Second: in the Void Setup sekchen, I wrote the processes I want to be run for once.

Coding design:

Explaining the Sensor-RGB code:

First: I defined the component I used and which pins they are connected to on the Arduino.

Second: in the Void Setup sekchen, I wrote the processes I want to be run for once.

Third: Void loop sekchen:

  • firs in the loop sekchen; reading the temperature and The process of changing temperatures from the Fernheit to the Celesius, and printing this to the serial monitor.

  • The color indication

  1. The first step is: If the temperature is below 24c, The LED's color will be BLUE and indicates that the cup is very cold.

  2. Second: If the temperature is below 25c, The LED's color will be CYAN which indicates that the cup is getting cold.

  3. If the temperature is below 26c, The LED's color will be GREEN which indicates that the cup is at the perfect temperature.

  4. If the temperature is below 27, The LED's color will be MAGENTA which indicates that the cup is warm close to hot.

  5. Finally: If the temperature is above 28c, The LED's color is RED which indicates that the cup is burning hot.

VID_20220320_184240.3gp
VID_20220320_184318.3gp

testing

serial.monitor.readings.mp4

serial monitor readings

Uploading the code to Arduino Board:

  • verify the code, Chose the type of Arduino Board I have (UNO) and made sure that the port of my Arduino board is connected to the laptop from the tools menu.

  • Finally, Upload the code to the Arduino board and it's done.

  • After all the components were tested separately, and after I cut out the electronic box using the laser cutter, I assembled the box and started to fix the components and the buttons.

  • I integrated all the components together and fixed them inside the enclosure box.

  • After assemble all the parts and uploaded the code

  • Fortunately all the components were working as intended and producing the expected results, the color light change according to the temp degree. Attached is a video demonstrating the minimum features of the project.

My_Video_1648038552310.mp4

Final implementation demo

My_Video_1648035160948.mp4

Final implementation with serial monitor readings

Sharing & Collaboration

we learned in a good- helpfull comunity and my peers helped my alot. they helped my with wiring and writing the codes.

thanks to Hussine, Amr, Hoda, and salma and all the team.

also I helped them will the parts I knew like design, and with setting the laser cutting parameters and with using the machines.

Overcoming Challenges

I struggeled in wiring the strip with the driver and it always not working or the drivers are burning hot, the mistakes I made were either that I connected the VCC to the GND, or I changed the polarity, or forgot to Connect the IN pins to the right side that it conrtols.

Mr. Sherif helped ma alot with wiring and explaned it to me.

in the final implementaion the code dosen't run and it refused to read any reading in the serial monitor, Amany helped my with it.

Future Work

If I had time I would put a setting mode that allows the person to put his favorite degrees and the coaster alerts him, also it's nice to have finger print recognation that allows more than one person to use this coaster

I think the coaster needs these features, and it will make it more Customizable.

Final Project Design Files