After playing around with my Arduino and learning how to blink LEDs, display stuff on an LCD and reading temperature I decided to build a home made DIY digital thermometer. So this is what I came up with. It shows temps in both fahrenheit and celsius and updates the temp every second.
This thermometer is powered by 7-12VDV and utilizes the temperature sensor externally. This allows me to build different lengths and styles of temperature sensors (based on the DS18B20). For example, the first one I built is uses 3 inch wires (shown in picture above) so I can see the ambient temp of the area. I could also make one with a 2 or 3 foot wire so I can place the sensor in the fridge or freezer or anyplace I don’t want the thermometer to physically be inside of, yet still read the temps. A 3rd thing I can do is build a sensor that has long wires and that has been epoxied and waterproofed so I can measure liquid temps. The possibilities are endless!
To the right you can see what it looks like with the cover taken off. The LCD is a 2×16 character display made by Newhaven. I simply used the standard LCD library to work with it. My only change was that I needed to make a custom character for the degree symbol as it was not a standard character.
The last picture (with the LCD removed) shows the rest of the stuff. I used a header setup to be able to easily remove the LCD for a future rework.
While the project started off with a breadboard, an arduino and a bunch of wires everywhere, this prototype is the standalone version. I used a fresh ATMEGA328 and associated components and programmed it via a ICSP header. This frees my Arduino UNO to build other test circuits.
I don’t have a schemetic drawn up just jet, but will one day. If you want to build one on your own it is relatively easy if you have built Arduino circuits in the past. I used pieces of the Arduino UNO schematic to wire mine up. The standalone breadboard Arduino page is a great resource as well. The combination of these was the basis of my circuit as well as using code I found from a link in the arduino playground for the temp sensor. The code I posted below outlines which pins I used for the LCD as well as the temp sensor and where I hooked them up to on the Arduino.
Here is the code that I’m using currently: