That's Hot

How to use Arduino and 16x2 LCD display room temperature and set a desired temperature.
*You can switch between Fahrenheit and Celsius.
*You can set up your desired temperature.
*When the temperature higher than desired temperature,
the LED will be lighted.
What Do You Need?
Arduino UNO
Breadboard
16x2 LCD
Temperature Sensor
Wires
LED
Potentiometer
Button
Resistors
How to Do It?

Example Code :
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int buttonPin = 9; // pushbutton pin const int temperaturePin = 0; //Temperature sensor pin float voltage, degreesC, degreesF; int displaysetC, displaysetF; //The value used to display the disired temperature float set; //The Value read from potentiometer const int PotentiometerPin = 1; //PotentiometerPin boolean button; //The button pushed or not int buttonState;//Variables to hold the pushbutton states const int led = 13; // LED pin void setup() { // Set up the pushbutton pins to be an input: pinMode(buttonPin, INPUT); // Set up the LED pin to be an output: pinMode(led, OUTPUT); } void loop() { Potentiometer(); Temperature(set); Button(); LCDdisplay();
} int Potentiometer() //Read the value from potentiometer and return it. { set = analogRead(PotentiometerPin); set = set / 32; //Make the value fit Fahrenheit set = set + 60; return (set); } float Temperature(float set) { voltage = analogRead(temperaturePin) * 0.004882814; degreesC = (voltage - 0.5) * 100.0; degreesF = degreesC * (9.0 / 5.0) + 32.0; int barD = (int) set; //Round the value from potentiometer set = (float) barD; displaysetC = set - 32; //Make the value into 5-33 to fit Celsius displaysetC = displaysetC * 9; displaysetC = displaysetC / 5; displaysetC = displaysetC - 40; displaysetC = displaysetC / 2; displaysetF = set;
} int Button() { // read the current pushbutton states into a variable buttonState = digitalRead(buttonPin); if (buttonState == LOW) { //If the button pressed, switch the state button = !button; } } void LCDdisplay() { int barF = (int) degreesF; //Round the value before display degreesF = (float) barF; int displayF = degreesF; int barC = (int) degreesC; degreesC = (float) barC; int displayC = degreesC; lcd.begin(16, 2); if (button == true) {
lcd.print(displayF); lcd.print(" Fahrenheit"); lcd.setCursor(0, 1); lcd.println(displaysetF); lcd.println("DesiredTemp"); if (displayF > displaysetF) { digitalWrite(led, LOW); } else { digitalWrite(led, HIGH); } } if (button == false) { lcd.print(displayC); lcd.println(" Celsius"); lcd.setCursor(0, 1); lcd.println(displaysetC); lcd.println(" DesiredTemp"); if (displayC > displaysetC) { digitalWrite(led, LOW); } else { digitalWrite(led, HIGH); }
} delay(500); }
Important Code
// include the library code:
#include
// initialize the library with the numbers ofthe interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);