A device to keep meet fresh. This project got going because I was challenged in one of my classes to solve a problem using the skills we had learned in the class. I immediately thought of something that happened to my family a few years ago. One summer we went on vacation for a few weeks and came back to the smell of death and a blood stained floor, needless to say it was a nightmare to cleanup and the freezer was not getting power. That event caused my dad to question if we should even buy the free ranged/grass fed beef (the good stuff) at all. This is the embodiment of my problem so I devised a device that could work on its own and notify whomever maybe checking on the house and at some point in the future, send a text to the owners phone in order to give quick feedback from the freezer. Overall, the device uses a multi-colored LED to let the people around the house know that something is wrong and eventually anyone who wants to receive a text about the meat starting to go bad.
Step 1: Gathering Parts and Tools
To complete this project, a builder will need a basic knowledge in soldering, Arduino IDE, and 3D Printing (optional). The project mainly consists of electronics off of Amazon and anything else is found easily at a local department store.
- NodeMCU board (http://a.co/haoqMPw)
- DS18B20 Temperature sensor with Waterproofing (http://a.co/ewfkmng)
- Common Cathode RGB LED (https://www.sparkfun.com/products/9264)
- Soap Box to be the Encloser ($1 at Walmart)
- USB Power Supply (http://a.co/ccjaQHv)
The rest of these components were gathered by ordering a kit off of Amazon (http://a.co/gUIA75y) but you can probably find a cheaper kit around Amazon (I was trying to learn Arduino).
- Electronic Breadboard
- Jumper Wires
- Three 270Ω Resistors
- One 4.7kΩ resistor
- Three+ header pins
- Micro-USB Cord
- Soldering Kit
- High-temp Hot Glue Gun
- Drill with a 1/4 Drill Bit
- 3D Printer with filament
At first I thought that I would power the board via an internal power supply but after playing with the idea I ended up going with the external USB power supply because it was easiest.
Step 2: Putting the Electronics Together
Picture 1 shows the layout of the electronics
- Solder each of the wires coming from the temperature sensor onto its own header pin (Pictures 2&3)
Part 2: Temp. Sensor
- Place the NodeMCU board on the edge of the breadboard (Pictures 4&5)
- Use the jumper wires to connect the NodeMCU to the temp. sensor
- Place a yellow wire from pin 4 to a free row on the breadboard
- Take the 4.7kΩ resistor and connect it to the 3.3v line then place the other side of it in the row from the previous step
- Place the yellow wire from the temp. sensor and place it on that on that same row
- Place the Red wire from the temp. sensor on the 3.3v line and place the black wire on the ground line
- Connect the 3.3v pin on the NodeMCU to the line on the breadboard
- Connect the ground pin on the NodeMCU to the line on the breadboard
Part 3: LED
- This tutorial was very helpful when it comes to wiring the LED (https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino---v32/experiment-3-driving-an-rgb-led). You just need to keep track of what pins you are putting each part of the LED on (for example, My Pins are D6 (red), D7 (green), and D8 (blue).
Step 3: The Code
The code that I use currently was largely based off of the DS18x20_Temperature Example from the OneWire Library.
Part 1: Getting Setup
The video shown above should give you a pretty good start on using the NodeMCU.
Part 2: My Code
As stated above I mostly used the code from the OneWire Library but I added two variables to the top of the file and added a part that reacts if the temperature has reached a certain threshold (Arduino code above). Also, sorry if the code is not clean, it was my first time coding with Arduino.
Step 4: 3D Printed Snowflake (Optional)
I added a snowflake to hold the temp. sensor to help signify to the user where it should go. The snowflake that I used came from https://www.thingiverse.com/thing:2732146 and I just added a link (to give credit back) and a hole for the temperature sensor.
Step 5: Cutting and Gluing
- I decided to send the temperature sensor off to the side so I drilled a 1/4 inch hole in the side for the temp. sensor to go out of. I also cut the edge off of where the Micro-USB cord comes in.
- For the gluing part, I used a High-temp Hot Glue Gun and that worked well just make sure that you use enough glue. I glued the temperature sensor to the case and the snowflake (Pictures 4&5).
Step 6: Testing
I am still in college so I have used my mini-fridge for testing. The OneWire code also sends the temperature over the serial line (9600 Baud) so testing the temperature is made easy.
Step 7: Future: Adding WIFI Code
I plan to add WIFI capabilities to the code so that the Notifier can send texts.
This was my first build on Instructables so try and forgive the holes in it.