Arduino Temperature Sensor Interfacing (LM35) .THE EASIEST WAY

147,334

41

25

Introduction: Arduino Temperature Sensor Interfacing (LM35) .THE EASIEST WAY

A simple temperature sensor using one LM35 Precision Temperature Sensor and Arduino. The circuit will send serial information about the temperature that you can use on your computer.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Materials

You will need :

  • Arduino Uno ( I used the Uno R3 , You can use any other micro controller but for that you'll have to change the source code).
  • LM35 Temperature Sensor.
  • Breadboard.
  • Some connecting wires.
  • A computer

Step 2: Setting Up the Arduino With Temperature Sensor

Connect the temperature sensor to board

  1. Connect the +Vs to +5v on your Arduino board.
  2. Connect Vout to Analog0 or A0 on Arduino board.
  3. Connect GND with GND on Arduino.

The Analog to Digital Converter (ADC) converts analog values into a digital approximation based on the formula ADC Value = sample * 1024 / reference voltage (+5v). So with a +5 volt reference, the digital approximation will = input voltage * 205.

Step 3: Setting Up Arduino With Code (sketch)

Open up the Arduino IDE and write the following code :

float temp;
int tempPin = 0;

void setup()

{

Serial.begin(9600);

}

void loop()

{

temp = analogRead(tempPin);

temp = temp * 0.48828125;

Serial.print("TEMPRATURE = ");

Serial.print(temp);

Serial.print("*C");

Serial.println();

delay(1000);

}

I have also attached the final file for your reference.

After everything is done compile the code and upload it to the board. Wait for few seconds and open the Serial Monitor to view the output.

2 People Made This Project!

Recommendations

  • Trash to Treasure Contest

    Trash to Treasure Contest
  • Raspberry Pi Contest 2020

    Raspberry Pi Contest 2020
  • Wearables Contest

    Wearables Contest

25 Discussions

0
andrew.stillie
andrew.stillie

4 months ago

I have tried 10 different LM35's and there all get too hot to touch....what am I doing wrong?

0
Aguda
Aguda

1 year ago

It did work for me but I multiply my temp by 0.02628125 to get the temperature of "26.52*C

0
RaiRen5
RaiRen5

2 years ago

Does the serial output the actual temperature it senses?

0
AnkitG84
AnkitG84

2 years ago

My lm35 gets heat up

0
michelkeijzers
michelkeijzers

2 years ago

I tried both way, normal and like mwolinski ... I got readings (both ways), however, in both ways the sensor gets really hot and makes the Arduino stop responding (not able to send sketches and no terminal output). Am I doing something wrong?

0
SansithD
SansithD

Reply 2 years ago

I faced that too...plese check that the sensor was connected correctly ...This occors when you change the annode and cathode ...

0
michelkeijzers
michelkeijzers

Reply 2 years ago

Yes I think I might did it wrong (it was exactly opposite as expected). I bought a new one which works, the old one is broken probably.

0
mwolinski
mwolinski

3 years ago

This did not work for me initially....the ground and 5v were switched. I checked another instructable and found those details showed them switched. I switched them and it works fine.

0
anchaves
anchaves

3 years ago

It is not working for me:

TEMPRATURE = 0.00*C

TEMPRATURE = 0.00*C

TEMPRATURE = 6.84*C

TEMPRATURE = 99.61*C

TEMPRATURE = 309.08*C

TEMPRATURE = 499.51*C

TEMPRATURE = 462.40*C

TEMPRATURE = 198.73*C

TEMPRATURE = 0.00*C

TEMPRATURE = 0.00*C

TEMPRATURE = 0.49*C

TEMPRATURE = 54.69*C

TEMPRATURE = 246.58*C

TEMPRATURE = 474.12*C

TEMPRATURE = 499.51*C

TEMPRATURE = 250.00*C

TEMPRATURE = 28.32*C

TEMPRATURE = 0.00*C

TEMPRATURE = 2.93*C

0
Pedro MiguelJ
Pedro MiguelJ

3 years ago

my worked with temp * 250 / 1024

0
mark ten
mark ten

3 years ago

can we add a lcd to display temp*

0
tritab
tritab

Reply 3 years ago

yes you can just avoid the serial (unless its a serial lcd display)

0
HashamZ
HashamZ

3 years ago

why we multiply with 0.48828125

0
VidhantS
VidhantS

Reply 3 years ago

It is 500/1024..this is done to convert reading from pin into millivolts which further is converted to degree celcius by dividing by 10

0
PranavJ14
PranavJ14

3 years ago

i am getting output of abov 350 degree celsius when i touch my hand to themistor i dont know why and also the arduino board automaticaclly gets off after certain time why this problem are coming ?

0
VidhantS
VidhantS

Reply 3 years ago

Make sure curved part of sensor is towards left edge of the beadboard

0
mark ten
mark ten

3 years ago

can we add a lcd for display

0
YaleletE
YaleletE

3 years ago

nice idea
Excuse me can you give full informattion

0
mshrihari3
mshrihari3

3 years ago

Lol...Yeah...

Check how you have connected wires to LM35. Or check the programme once.

0
JasonA71
JasonA71

4 years ago

Not sure why I'm getting this output. I'm not working in a fridge.

TEMPRATURE = 2.93*C

TEMPRATURE = 2.93*C

TEMPRATURE = 2.44*C

TEMPRATURE = 2.93*C

TEMPRATURE = 2.93*C

TEMPRATURE = 2.44*C

TEMPRATURE = 2.44*C

TEMPRATURE = 2.44*C

TEMPRATURE = 2.44*C

TEMPRATURE = 2.44*C

TEMPRATURE = 1.95*C

TEMPRATURE = 2.44*C

TEMPRATURE = 1.95*C

TEMPRATURE = 1.95*C

TEMPRATURE = 1.95*C

TEMPRATURE = 1.95*C

TEMPRATURE = 1.46*C

TEMPRATURE = 1.46*C