#include <LiquidCrystal.h>
// Inisialisasi pin untuk sensor suhu dan LCD
const int tempPin = A0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// Setup awal untuk LCD
lcd.begin(16, 2);
lcd.clear();
lcd.print(" TERMOMETER ");
delay(2000);
}
void loop() {
// Membaca nilai suhu dari sensor
int tempValue = analogRead(tempPin);
float tempC = (tempValue / 1023.0) * 500; // Konversi nilai analog menjadi suhu dalam Celsius
// Menampilkan nilai suhu pada layar LCD
lcd.clear();
lcd.print("Suhu: ");
lcd.print(tempC);
lcd.write(0xDF); // Menampilkan simbol derajat Celsius pada LCD
// Membuat switch case untuk menampilkan kondisi cuaca sesuai dengan suhu
switch ((int)tempC) {
case -40 ... -10:
lcd.setCursor(0, 1);
lcd.print("Sangat Dingin");
break;
case 1 ... 10:
lcd.setCursor(0, 1);
lcd.print("Dingin");
break;
case 11 ... 20:
lcd.setCursor(0, 1);
lcd.print("Normal");
break;
case 21 ... 30:
lcd.setCursor(0, 1);
lcd.print("Panas");
break;
default:
lcd.setCursor(0, 1);
lcd.print("Sangat Panas");
break;
}
// Tunggu selama beberapa detik sebelum membaca ulang nilai suhu
delay(1000);
}