The LM35 of National Semiconductors that is used in this project is a precision centigrade temperature sensor, which has an analog output voltage. It has a range of -55ºC to +150ºC and a accuracy of ±0.5ºC . The output voltage is 10mV/ºC . The output voltage is converted by the AD convertor of the AT Mega8. The temperature is displayed on an LCD module. In this example the thermometer has a range of 0ºC to 40ºC and a resolution of 0.5ºC. If you want to have a readout in Fahrenheit you can use the LM34.
In the circuit the LM35 is connected to the ADC port of the ATMega8. The ATMega8 uses a crystal as an oscillator for the clock pulses. At PORTD of the ATM8 an 20×4 LCD display is hooked to display the temperature in a discrete value and in a analog bar.
The software for this project is written in BASCOM AVR. The BASCOM AVR compiler has build in commands for reading out the ADC port of a AVR microcontroller. The result is displayed on a LCD module in a discrete value of the temperature and in a bar-graph. The AT Mega8 has a A/D converter which can give an output of 210 = 1024 discrete values. When a 5V supply is used you have a resolution of 5000mV/1024 = 4.8mV. Because the LM35 has a output of 10mV/C the resolution of the thermometer is 10mV/4.8mV ~ 0.5ºC . The LCD module has 20 columns. In the scale of 0ºC to 40ºC every column represents 2ºC . For more details, click: LCD Thermometer LM35 Using AT Mega8