A simple digital thermometer based on AVR microcontroller and LM35 temperature sensor. Instructions for building the project given below:
Circuit diagram: https://raw.githubusercontent.com/visakhanc/Temperature_Display/master/circuit.png
Source code: https://github.com/visakhanc/Temperature_Display/blob/master/main.c
Hardware:
AVR ATmega8
(uses 1MHz internal clock)
LM35 Temperature sensor
3 digit 7-Segment display (used here is Common Anode type)
Power supply: 5V
For information about building the source code and programming the MCU visit the project page:
https://github.com/visakhanc/Temperature_Display
Operation:
AVR Atmega8 microcontroller is used to sample LM35 sensor and display the temperature in degree Celsius on a 3 digit 7 segment segment display. ADC inbuilt with AVR takes samples at every 30ms and accumulates 16 samples. Average of this is calculated for displaying the temperature.
Segment LCD is driven from AVR ports directly, since less than 10 mA is used by each segment, by 100 ohm current limiting resistors. A common anode 3 digit multiplexed 7 segment LCD is used. Each digit is driven for 2 ms by using Timer interrupt.
Note: In the video, some segments appears dimly lit, but should actually be off. But, this only appears in the video (maybe some problem with camera/recording). In actual case, the segments are lit properly.
source