Arduino LED Temperature Indicator

19,382

105

4

Published

Introduction: Arduino LED Temperature Indicator

About: I go by millerman4487, and I am here to share what I make. Hopefully, you can learn from watching what I have done and even improve upon it. So here you go! If you have any ideas for future projects, send...

This design is made to keep track of the temperature in a room.

You give it the parameters you want and it will light a blue LED if it is too cold, a red LED if it's too hot, and a green one if it's just right.

Step 1: Get Parts

You will need:

  • Arduino board
  • Breadboard
  • Jumper wires
  • 3 220Ω resistors (red-red-brown)
  • 3 LEDs (colors of your choice)
  • A temperature sensor (mine is an LM35, but most should work)

Buy specialty parts:

Temp sensor - https://www.sparkfun.com/products/10988?gclid=Cjw...

Step 2: Put Parts in Place

Not much explaining to do on this step, just follow the picture.

Step 3: Wire It Up

Wire it up:

>Red LED goes to digital pin 4 through one of the resistors, and ground

>Green LED goes to digital pin 3 though a resistor, and ground

>Blue LED goes to digital pin 2 through a resistor, and ground

>Pin one (the pin on the left) of the temperature sensor goes to 5v

>Pin two (the pin in the middle) of the temperature sensor goes to analog pin A2

>pin three (the pin on the right) of the temperature sensor goes to ground

Step 4: Coding

Connect your Arduino to your computer and upload this code:

const int hot = 87; //set hot parameter
const int cold = 75; //set cold parameter
void setup() {
pinMode(A2, INPUT); //sensor
pinMode(2, OUTPUT); //blue
pinMode(3, OUTPUT); //green
pinMode(4, OUTPUT); //red
Serial.begin(9600);
}
void loop() {
int sensor = analogRead(A2);
float voltage = (sensor / 1024.0) * 5.0;
float tempC = (voltage - .5) * 100;
float tempF = (tempC * 1.8) + 32;
Serial.print("temp: ");
Serial.print(tempF);
if (tempF < cold) { //cold
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
Serial.println(" It's Cold.");
}
else if (tempF >= hot) { //hot
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
Serial.println(" It's Hot.");
}
else { //fine
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
Serial.println(" It's Fine.");
}
delay(10);
}

Open the Serial Monitor in the Arduino program, and watch what happens!

5 People Made This Project!

Recommendations

  • Oil Contest

    Oil Contest
  • Water Contest

    Water Contest
  • Creative Misuse Contest

    Creative Misuse Contest

4 Discussions

0
user
kilixn

Question 2 months ago

How can I change it into celsius ?EDIT : I just needed to change TempF to tempC. Thanks for the post this project is really nice and easy!

I had a few complications at first with this project, but eventually I figured them out and this is a very cool project, you did a good job designing it!