#include <Servo.h>
#include <LiquidCrystal_I2C.h>
#define SERVO_PIN 10
#define NTC_PIN A0
#define BETA 3950
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo servo;
void setup() {
pinMode(12, INPUT_PULLUP);
pinMode(13, INPUT_PULLUP);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(NTC_PIN, INPUT);
lcd.init();
lcd.backlight();
servo.attach(SERVO_PIN);
}
void loop() {
float temp = readCelcius();
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(temp);
lcd.setCursor(0, 1);
lcd.print("Threshold: 57");
if (temp > 57) {
servo.write(0);
} else {
servo.write(90);
}
}
float readCelcius() {
return 1 / (log(1 / (1023. / analogRead(A0) - 1)) / BETA + 1.0 / 298.15) - 273.15;
}