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

Picture of 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

Picture of 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)

Picture of 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

AnkitG84 (author)2017-05-15

My lm35 gets heat up

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?

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 ...

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.

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.

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

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

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

Pedro MiguelJ (author)2016-08-10

my worked with temp * 250 / 1024

mark ten (author)2016-06-04

can we add a lcd to display temp*

tritab (author)mark ten2016-07-18

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

HashamZ (author)2016-05-11

why we multiply with 0.48828125

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

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 ?

VidhantS (author)PranavJ142016-06-29

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

mark ten (author)2016-06-04

can we add a lcd for display

YaleletE (author)2016-05-02

nice idea
Excuse me can you give full informattion

mshrihari3 (author)2016-04-12

Lol...Yeah...

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

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

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 ???

AmolK10 (author)MOUNIKA DATTA2016-01-19

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

Lunokhod (author)2015-05-05

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 .....

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

Thanks for the tutorial

sankarg (author)2015-01-12

Is any algorithm implemented on this...!

About This Instructable

116,801views

40favorites

License:

More by Kartik Bholla:Arduino Temperature Sensor Interfacing (LM35) .THE EASIEST WAY
Add instructable to: