//PROYEK #25 : Monitoring Temperatur dengan Tampilan LCD
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set alamat LCD 0x27, Lcd 24 kolom dan 2 baris
const float BETA = 3950; // sesuaikan angka ini dg koefecient sensor NTC yang anda gunakan
int pinNTC = 25; //pin 25 untuk output siginal sensor NTC
void setup() {
analogReadResolution(10);
lcd.init(); // inialisasi lcd
lcd.backlight(); //nyalakan baclight
lcd.setCursor(0,0);
lcd.print("Monitor Suhu");
lcd.setCursor(0,1);
lcd.print("Kamarku");
for(int i=0;i <6;i++){
lcd.noDisplay();//kedipkan 6 kali
delay(400);
lcd.display();
delay(400);
}
lcd.clear();//hapus semua tampilan teks
}
void loop() {
int analogValue = analogRead(pinNTC);
float celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
lcd.setCursor(0,0);
lcd.print ("SUHU RUANGAN:");
lcd.setCursor(0,1);
lcd.print(celsius);
lcd.setCursor(6,1);
lcd.print ((char)223);//simbol derajat
lcd.setCursor(7,1);
lcd.print ("C");
}