Here I discus on very good project on digital thermometer. I made this project by Lm35 interfacing with pic 16f877 through adc0808. Pic16f877 microcontroller has inbuilt ADC (Analog to Digital Converter but I use external ADC IC (adc0808). Because of simplicity of project if I use inbuilt ADC then I have to take consideration on lots of mathematical calculation to get desire output.
To build my project I use LM35 (Temperature sensor) to sense temperature. IC ADC0808 use for converting analog value to digital. And microcontroller PIC16f877 use for process and display the temperature in LCD. In bellow see the block diagram of my project.
LM35 : LM35 IC is a temperature Sensor. It sense the temperature and covert it equivalent voltage label. I supply 5 volt VCC on LM35 and it convert o.o1v per 1° of voltage change. Let take an example if I have to measure 35° C temperature then it will give output 0.35v.
ADC (adc0808) : The output of ADC then directly feed to channel 0 of IC ADC0808. And this IC convert the input voltage in 8-bit binary number. For voltage 0.01v the output will be generated 00000001 in 8-bit position. So if your LM35 sense 2°C temperature then you will get 00000010 in output of adc. Keep in mind I set 2.56v +Vref in adc0808 to get output for change of every 1°C.
Pic16f877: I use this Pic16f877 for just taking the output of adc to and process it and send the display to LCD. For that I have to define PORTB as a input port to take the data form ADC. And I initialized LCD at port PORTD to display our result.
See the circuit diagram in Proteus and get the embedded code in bellow.
See embedded Code
See the simulation of our project digital thermometer “Lm35 interfacing with pic 16f877 through adc0808”