#include <Wire.h>  // Libreria I2C
#include <LiquidCrystal_I2C.h> // Libreria untuk LCD I2C

LiquidCrystal_I2C lcd(0x27, 16, 2); // Inisialisasi objek LCD. Sesuaikan alamat I2C sesuai dengan modul Anda.

const int lm35Pin = A0; // Pin analog tempat sensor LM35 terhubung

void setup() {
  lcd.init(); // Inisialisasi LCD
  lcd.backlight(); // Aktifkan backlight LCD
  lcd.setCursor(0, 0);
  lcd.print("Suhu:"); // Pesan awal di baris pertama LCD
  lcd.setCursor(0, 1);
  lcd.print("                  "); // Hapus baris kedua LCD
  Serial.begin(9600); // Inisialisasi komunikasi serial
}

void loop() {
  // Baca nilai analog dari sensor LM35
  int nilaiSensor = analogRead(lm35Pin);

  // Konversi nilai analog ke suhu dalam derajat Celsius
  float suhuC = (nilaiSensor / 1024.0) * 500.0;

  // Tampilkan suhu di LCD
  lcd.setCursor(6, 0);
  lcd.print(suhuC, 1); // Tampilkan suhu dengan 1 desimal

  // Tampilkan unit suhu di LCD
  lcd.print("C");

  // Kirim suhu melalui komunikasi serial
  Serial.print("Suhu: ");
  Serial.print(suhuC, 1);
  Serial.println("C");

  delay(1000); // Tunggu 1 detik sebelum membaca ulang
}
LM35Breakout