// Definisikan pin LED dan sensor suhu
const int ledPin = 11; // Pin LED
const float BETA = 3950;
void setup() {
pinMode(ledPin, OUTPUT); // pin LED sebagai output
Serial.begin(9600); // Mulai komunikasi serial untuk debugging
pinMode(8, OUTPUT);
digitalWrite(8, HIGH);
}
void loop() {
int analogValue = analogRead(A0);
float temperatureCelsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
// Tampilkan suhu pada Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperatureCelsius);
Serial.print(" °C ");
Serial.print("Nilai ADC: ");
Serial.println(analogValue);
// Atur intensitas LED berdasarkan suhu
if (temperatureCelsius > 50) {
// Jika suhu tinggi, LED menyala dengan maksimum kecerahan
analogWrite(ledPin, 255);
} else if (temperatureCelsius >= 30 && temperatureCelsius <= 50) {
// Jika suhu di antara 30 dan 50 derajat, LED menyala dengan kecerahan sedang
analogWrite(ledPin, 100);
} else if (temperatureCelsius >= 10 && temperatureCelsius < 30) {
// Jika suhu di antara 10 dan 30 derajat, LED menyala dengan kecerahan rendah
analogWrite(ledPin, 20);
} else {
// Jika suhu rendah, LED dimatikan
digitalWrite(ledPin, LOW);
}
delay(1000); // Tunda selama 1 detik sebelum membaca suhu lagi
}