Introduction: Arduino Thermometer
Its hot here in Los Angeles! Besides the massive drought California is in, Its not as cool around here lately. I wanted to build something to see just how hot it really was, and here it is!
Read this instructable and Ill teach how you can turn just a few components you have into an accurate mini desktop thermometer!
I hope you enjoy the project and vote for it for the contests!
Lets Build It!
Step 1: You Will Need...
If you would like to make this project, you will need:
- LM35 sensor (Already had)
- Plastic Tupperware (Free)
- Breadboard (Already had)
- 9v Battery and Arduino 9v clip (Already had)
- LCD 16x2 (Already had)
- Arduino Uno (Already Had)
- Wires! (Already Had)
As you can see, you dont need much. In fact I had these pieces lying around my house so this was FREE!
Step 2: Test the LCD
I wanted to test and see if my LCD still worked. It still worked! Heres how I wired it:
LCD Arduino
1...... GDN
2...... 5V
3...... GDN
4...... PIN 8
5...... GDN
6...... PIN 9
7...... –
8....... –
9...... –
10...... –
11...... PIN 4
12......PIN 5
13......PIN 6
14...... PIN 7
15...... 5V
16...... GDN
Step 3: Add in the LM35!
Take the LM35 and add it in! Heres a helpful guide:
(Ignore the periods)
____________
[ LM35 (Front) ]
[...................... ]
[___________]
I............I...........I
I............I...........I
I............I.......... I
(5v)....(A0).....(GDN)
Step 4: Check Your Wiring
Make sure to double check your wiring!
We don't want any mistakes!
Heres a schematic I used for this project
Step 5: Code!
Now its time to code!
Here the code! (Please If you see anything wrong tell me)
//---------------------------------------------------------------- // Program: LCD_temperature // By: Constructed https://www.youtube.com/channel/UCD4TpqX_CJW0d4YoLLaaHYA //---------------------------------------------------------------- #include // Arduino pins used for LCD LiquidCrystal lcd(8,9,4,5,6,7); void setup() { lcd.begin(16, 2); } void loop() { float temperature = 0.0; // stores the calculated temperature int sample; // counts through ADC samples float ten_samples = 0.0; // stores sum of 10 samples for (sample = 0; sample < 10; sample++) { // convert A0 value to temperature temperature = ((float)analogRead(A0) * 5.0 / 1024.0) - 0.5; temperature = temperature / 0.01; // sample every 0.1 seconds delay(100); // sum of all samples ten_samples = ten_samples + temperature; } // get the average value of 10 temperatures temperature = ten_samples / 10.0; // display the temperature on the LCD lcd.setCursor(0, 0); lcd.print("Temperature:"); lcd.setCursor (0,1); lcd.print (temperature); lcd.print((char)223); lcd.print(" F "); ten_samples = 0.0; }
Step 6: Measure LCD
Now its time to make the case
Measure the LCD protruding sceen and cut a hole just big enough to squeeze over the LCD.
Step 7: Your Done!
Saftly place all the electronics in the plastic container and snap the lid on!
Your DONE!
Place your thermometer near your bed like I did, whenever I wake up, I can see how hot it is!
Please Like Comment And Subscribe for more!

Participated in the
Hot Glue Challenge

Participated in the
Coded Creations
23 Comments
4 years ago on Introduction
nice.ILike this work and design
5 years ago
Nice instructable, it didn't work the first try, problem: LCD characters were displayed as white cubes just like our friend @VictorG9 case, I'm going to check
https://www.instructables.com/id/How-to-use-an-LCD...
since my guess is that the problem is with the contrast settings of the LCD and it would be solved by a potentiometer.
8 years ago on Step 5
It doesn't work, why? :'( I've checked 3 times the wires
Reply 5 years ago
I know that this image is 3 years old but maybe it helps someone out here - wires are connected in wrong direction, counting should start from bottom left corner. Also, potentiometer should be added if there's none within screen (https://www.instructables.com/id/How-to-use-an-LCD-displays-Arduino-Tutorial/)
Reply 7 years ago
Same problem i am facing....
Reply 7 years ago
be sure that you are using the correct pins for the lcd.
when it does this that means that u should change the pins
Reply 7 years ago
First, you need a potentiometer to regulate the contrast on screen if you still having troubles, check if you add the library of the Lm35, if you want some help with the code send me a msg we'll find it out, good day!
Reply 8 years ago
Someone help me pleasee
Reply 8 years ago
Usually you need to add a variable resistor and connect its output to the contrast pin which is the 3rd pin from the left. Google "liquidcrystal arduino". Hope that helps
5 years ago
my lcd doesnt have a character
6 years ago
This looks clean. I like it.
Can you tell how long a batterij lasts?
7 years ago
So I made this and used your code and the only thing that displays is 3 zeros on one side of the screen and 2 on the other? What happened.
7 years ago
Has anyone made a clock/thermometer?
7 years ago
You never set pin A0 as input.
Reply 7 years ago
how would you do that?
7 years ago
Nice work on this interesting Instructable.
8 years ago
First I just got black boxes, now I get a blank screen. Help?
8 years ago
my programming doesn't work can somebody help me?
Reply 8 years ago
what happend?
Reply 8 years ago
It might be a defective part. I had to buy three sensors before one worked