Having lost a lot of food and beverages when my previous garage refrigerator failed, I have been a little paranoid about it happening again. For the past few years I have been using a temperature monitor that integrates with a La Crosse weather station I bought. But this solution has been very limited and is mostly false positives and has an annual fee. I get alerted via email when my children go raiding the freezer for ice cream as an example.
I recently bought an Arduino and decided to tackle something to alert me based on my criteria instead. Thus the Fridge Monitor was developed. I would assume others in the Community live in areas with warm summers or have young children so I thought I would share this project.
Parts you will need:
- Arduino Uno R3 - http://www.amazon.com/dp/B006H06TVG
- SmartThings Shield for Arduino - https://shop.smartthings.com/#!/products/smartthings-shield-arduino
- 2 DS18B20 Temperature Sensors - http://www.amazon.com/gp/product/B008HODWBU
- Breadboard - http://www.amazon.com/gp/product/B00SSQHRC2
- Power Adapter (any 9-12V will work) - http://www.amazon.com/gp/product/B00CP1QLSC
- 2 1/8" Shielded Stereo Phone Plug (optional but useful to easily disconnect the temp probes) - purchased at a local “rare” Radio Shack - http://comingsoon.radioshack.com/1-8-shielded-stereo-phone-plug/2741547.html#.VaHJpbe06hQ
- 2 1/8" Stereo Panel-Mount Audio Jacks (optional but useful to easily disconnect the temp probes) - purchased at a local Radio Shack - http://comingsoon.radioshack.com/1-8-stereo-panel-mount-audio-jack-2-pack/2740249.html#.VaHKGLe06hQ
- 1 4.7k Resistor
- Wire - breadboard connectors or telephone/network wire
- Case - If you purchase the breadboard mentioned above, this fits perfectly in a case purchased at a local Container Store - 400ml box: http://www.containerstore.com/shop/giftPackaging/containers/boxes?productId=10035359
- Magnet Adhesive so it can be mounted to the side of the refrigerator
Wire Arduino to breadboard similar to the pictures. The following tutorial was used as a reference:
http://www.hacktronics.com/Tutorials/arduino-1-wire-tutorial.html
Please Note: Multiple DS18B20 can be hooked up to the same digital pin. In order to do this you will need to determine the serial numbers of the sensors. More details on how to do this can be found here:
http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html
The DS18B20 yellow data wire(s) should be between the wire to Arduino Digital Pin 10 and the 4.7k Resistor that is hooked up to 5V power:
Arduino Code:
Download the following Libraries and unzip into your Arduino/Library folder:
- OneWire Library: http://www.hacktronics.com/code/OneWire.zip
- DallasTemperature Library: http://www.hacktronics.com/code/DallasTemperature.zip
- Create a new sketch in your Arduino/Sketch folder with the following code:
https://github.com/mlritchie/SmartThings/blob/master/Fridge-Monitor/ST_Outdoor_Fridge_Monitor%20Arduino%20Sketch
SmartThings IDE:
-
Connect your Arduino ThingShield to your hub. It will show up as a generic Arduino device type.
-
Create a new device type under My Device Types by clicking New SmartDevice and then choose From Code and paste in the following:
https://github.com/mlritchie/SmartThings/blob/master/Fridge-Monitor/arduinoTempSensor%20Device%20Type -
Then go to My Devices and edit your Arduino ThingShield and change the type to arduinoTempSensor and update it.
-
Create a new SmartApp under My SmartApps by clicking New SmartApp and
then choose From Code and paste in the following code:
https://github.com/mlritchie/SmartThings/blob/master/Fridge-Monitor/Fridge%20Monitor%20SmartApp
Here are the completed project pictures:
Top View in box:
Bottom View in box:
Side View where temp probes and power are hooked up:
All components hooked up
Enjoy!