const int analogPin = 27; // Pin ADC sensor NTC terhubung
const int greenLedPin = 12; // Pin LED hijau terhubung
const int yellowLedPin = 13; // Pin LED kuning terhubung
const int redLedPin = 14; // Pin LED merah terhubung
void setup() {
pinMode(greenLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, LOW);
Serial.begin(9600);
}
void loop() {
int analogValue = analogRead(analogPin);
float celsius = 1 / (log(1 / (4096.0 / analogValue - 1)) / 3950 + 1.0 / 298.15) - 273.15;
Serial.print("Temperature: ");
Serial.print(celsius);
Serial.println(" C");
if (celsius >= 0 && celsius <= 30) {
digitalWrite(greenLedPin, HIGH); // LED hijau menyala
digitalWrite(yellowLedPin, LOW); // LED kuning mati
digitalWrite(redLedPin, LOW); // LED merah mati
}
else if(celsius > 30 && celsius <= 70){
digitalWrite(greenLedPin, HIGH); // LED hijau menyala
digitalWrite(yellowLedPin, HIGH); // LED kuning mati
digitalWrite(redLedPin, LOW); // LED merah mati
}
else if(celsius > 70 && celsius <= 100){
digitalWrite(greenLedPin, HIGH); // LED hijau menyala
digitalWrite(yellowLedPin, HIGH); // LED kuning mati
digitalWrite(redLedPin, HIGH); // LED merah mati
}
else {
digitalWrite(greenLedPin, LOW); // LED hijau mati
digitalWrite(yellowLedPin, LOW); // LED kuning mati
digitalWrite(redLedPin, LOW); // LED merah menyala
}
delay(500); // Delay 1 detik untuk mengurangi pembacaan sensor yang berlebihan
}