#include <OneWire.h>
#include <DallasTemperature.h>
// Pin data untuk sensor DS18B20
#define ONE_WIRE_BUS 10
// Pin untuk LED
#define LED_HIJAU 2
#define LED_KUNING 3
#define LED_MERAH 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensor(&oneWire);
void setup(void) {
Serial.begin(115200);
sensor.begin();
// Inisialisasi pin LED sebagai output
pinMode(LED_HIJAU, OUTPUT);
pinMode(LED_KUNING, OUTPUT);
pinMode(LED_MERAH, OUTPUT);
}
void loop(void) {
sensor.requestTemperatures();
float suhu = sensor.getTempCByIndex(0);
Serial.print("Temperature is: ");
Serial.println(suhu);
if (suhu < 26) {
digitalWrite(LED_HIJAU, HIGH);
digitalWrite(LED_KUNING, LOW);
digitalWrite(LED_MERAH, LOW);
Serial.println("Dingin");
}
else if (suhu >= 26 && suhu < 28) {
digitalWrite(LED_HIJAU, LOW);
digitalWrite(LED_KUNING, HIGH);
digitalWrite(LED_MERAH, LOW);
Serial.println("Normal");
}
else if (suhu >= 28 && suhu < 30) {
digitalWrite(LED_HIJAU, LOW);
digitalWrite(LED_KUNING, LOW);
digitalWrite(LED_MERAH, HIGH);
Serial.println("Panas");
}
else if (suhu >= 30) {
digitalWrite(LED_HIJAU, LOW);
digitalWrite(LED_KUNING, LOW);
// LED merah berkedip
digitalWrite(LED_MERAH, HIGH);
delay(500);
digitalWrite(LED_MERAH, LOW);
delay(500);
Serial.println("Panas Terik");
}
delay(1000);
}