Here is a very good looking thermometer project showing the reading as a discrete value and as a bar-graph on a LCD. The idea is simple, we have a sensor, the LM35, who outputs a voltage depending on the ambient temperature, LM35′s rating is 10mV/ degree Celsius. Since the sensor’s output is analog we need to convert it to digital in order to display the value on LCD. The ATmega8 microcontroller will handle the A/D conversion, with a 4.8mV resolution it is within the accuracy range of the sensor.
Once the LM35′s output has been converted to digital, the microcontroller will make the calculations necessary to determine the temperature and display that value. The LCD is a 20×4 type so the bar-graph will show 20 levels. ATmega8′s port C0 reads the analog data from the sensor and port D controls the LCD. The code was written in BASCOM AVR which has some built-in functions to handle the A/D converter of the microcontroller. For Fahrenheit measurement use LM34 sensor.
All in all it is easy to build, as a school project perhaps, with possibility for upgrade, for example to be able to change the bar-graph’s scale.
Digital Thermometer: [Link]