Arduino Thermometer (LM35 + LCD)

19,245

21

11

About: Student, currently studying programming. Interested in Arduino, Raspberry Pi and Electronics in general.

In this tutorial, I will show you how you can build a simple Arduino Thermometer using a common 16x2 LCD and an LM35 temperature sensor. The values will be converted to both Celsius and Fahrenheit. The parts for this build are provided by Kuman, you can find them in their Arduino UNO Kit.

Step 1: Parts Needed

1 x Arduino UNO (can be any Arduino board)

1 x Breadboard

1 x USB Cable

1 x 16x2 LCD

1 x LM35 Temperature Sensor

1 x 10k Potentiometer

1 x 220 ohm resistor

1 x 9V Battery and clip (optional, for more portability)

18 x Jumper wires

Allchips is an electronics components online service platform, you can buy all the components from them.

Step 2: Plugging the Parts Into the Breadboard

Insert the LCD, the potentiometer and the LM35 into the breadboard. Their locations doesn't matter, place them the way you like.

Step 3: Connecting the LCD

This is the hardest part - you need to make most of the connections now. They are as follows:

LCD Pin -> Arduino Pin

4 -> 12

6 -> 11

11 -> 5

12 -> 4

13 -> 3

14 -> 2

LCD Pin -> Rail of the breadboard

1,5,16 -> GND

2 -> 5V

15 -> 5V (using the 220 ohm resistor!)

Step 4: Connecting the Potentiometer and the LM35

Here, the connections are as follows:

Potentiometer

One of the sides goes to GND, the opposite one - to 5V. The middle pin connects to pin 3 of the LCD


LM35

See the picture above.

Please, make sure that you insert the sensor the right way! If you swap the connections, it will burn out!


Step 5: Uploading the Code

After connecting everything, plug in your Arduino to your PC and upload the code that I've pasted here. I've added a few comments to explain some of the code.

Step 6: Done!

Enjoy your handmade thermometer. Feel free to modify the code at your liking and improve the project by adding more sensors and stuff :)

Share

Recommendations

  • Classroom Science Contest

    Classroom Science Contest
  • Games Contest

    Games Contest
  • DIY Summer Camp Contest

    DIY Summer Camp Contest

11 Discussions

0
None
bilalzaaj

4 months ago

What is the code?

1
None
Kyle J

Question 8 months ago on Step 6

What is the potentiometer used for on this project? Does using the LM35 temp sensor require a potentiometer or is the potentiometer there to set/vary the temperature?

1 answer
0
None
JayfusionKyle J

Answer 5 months ago

The potentiometer is used to control the contrast on the LCD screen. Without it, you may not be able to read the text on the LCD due to the character boxes being too light or too dark.

0
None
mt690ju11

Question 1 year ago

When I apply voltage to the board, it reads"0.00C 32.00F" on the LCD screen. Could this be a bad LM35?

1 answer
0
None
Jayfusionmt690ju11

Answer 5 months ago

Your LM35 works perfectly, the code is just inaccurate. Change the Celsius reading to: Celsius = value / 9.31

Also add this under void setup:
analogReference(INTERNAL)

Now, the program should run smoothly.

Cheers!

1
None
KerimY1

8 months ago

For arduino UNO
please change
const int lmPin = 0; -----------> int lmPin = A0;
and
value = analogRead(lmPin);

0
None
سعدم1

Question 1 year ago on Step 5

what is meant by
value = analogRead(inPin);
when i run the code on arduino mega , the error " 'intPin' was not declared in this scope"

error.PNG
2 answers
0
None
paulbrandt2

9 months ago

there is an error in the program it should read: const int inPin = 0; // The analog pin of the LM35

0
None
Hangoverr

1 year ago

What should i do here?

FQ70GDJJGNWTSU7.LARGE.jpg