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.

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.

Comments

author
AnkitG84 (author)2017-05-15

My lm35 gets heat up

author
michelkeijzers (author)2017-02-28

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?

author
SansithD (author)michelkeijzers2017-03-16

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

author
michelkeijzers (author)SansithD2017-03-17

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.

author
mwolinski (author)2016-12-30

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.

author
anchaves (author)2016-11-06

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

author
JPearsonMac made it! (author)2016-08-19

Tried several sketches and this is the only one that worked correctly for me. Thanks!

20160819_093735.jpg
author
Pedro MiguelJ (author)2016-08-10

my worked with temp * 250 / 1024

author
mark ten (author)2016-06-04

can we add a lcd to display temp*

author
tritab (author)mark ten2016-07-18

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

author
HashamZ (author)2016-05-11

why we multiply with 0.48828125

author
VidhantS (author)HashamZ2016-06-29

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

author
PranavJ14 (author)2016-06-18

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 ?

author
VidhantS (author)PranavJ142016-06-29

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

author
mark ten (author)2016-06-04

can we add a lcd for display

author
YaleletE (author)2016-05-02

nice idea
Excuse me can you give full informattion

author
mshrihari3 (author)2016-04-12

Lol...Yeah...

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

author
JasonA71 (author)2016-01-31

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

author
MOUNIKA DATTA (author)2015-02-06

I m getting result as 134.24*C n all instead of 24*C...how can I rectify ds ???

author
AmolK10 (author)MOUNIKA DATTA2016-01-19

if you are using wires between LM32 and arduino then try changing wires

author
Lunokhod (author)2015-05-05

author
MOUNIKA DATTA (author)2015-02-06

hello I m getting d output as 130.23*C N ALLL but not in 24*C ...... I have checked d code it is crct....how can I get d perfect output .....

author
neilzzoferrari made it! (author)2015-01-17

Thanks for the tutorial

Capture.JPG
author
sankarg (author)2015-01-12

Is any algorithm implemented on this...!