#define analog 13 //adalah variable untuk NTC dan 13 adalah port/kubu positif dari NTC
#define hijau 2 //adalah variable untuk lampu dan 2 adalah port/kubu positif dari lampu
#define merah 15 //adalah variable untuk lampu dan 15 adalah port/kubu positif dari lampu
#define buzzer 12 //adalah variable untuk buzzer dan 12 adalah port/kubu positif dari Buzzer
float temperatur; // variable trempature
const float BETA = 3950;
float suhu = 0.0;
float bacaSensorNTC(){
int analogValue = analogRead(analog);
float celsius = 1 / (log(1 / (4095. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
return celsius;
}
void setup() {
Serial.begin(115200);
pinMode(hijau, OUTPUT); //digunakan untuk menentukan jenis input/output variable
pinMode(merah, OUTPUT);//digunakan untuk menentukan jenis input/output variable
pinMode(buzzer, OUTPUT);//digunakan untuk menentukan jenis input/output variable
pinMode(analog, INPUT);//digunakan untuk menentukan jenis input/output variable
}
void loop() {
int ntc = bacaSensorNTC(); //perintah unutk ntc membaca variable analog sebagai variable ntc
if(ntc >= 10 && ntc <= 15) { //Digunakan untuk menentukan jika suhu diatas 10 dan di bawah 15
digitalWrite(hijau, HIGH); // lampu hijau menyala
delay(300); // delay/ jeda 300 ms
digitalWrite(hijau, LOW);//lampu hijau mati
delay(300);//delay / jeda 300 ms
} else if(ntc >= 16 && ntc <= 20) { //Digunakan untuk menentukan jika suhu diatas 16 dan di bawah 20
digitalWrite(merah, HIGH);// lampu merah menyala
delay(300);// delay / jeda 300 ms
digitalWrite(merah, LOW);// lampu merah menyala
delay(300);// delay / jeda 300 ms
} else { //jika 2 kondisi diatas tidak terpenuhi maka akan langsung else
digitalWrite(merah, HIGH);// lampu merah menyala
tone(buzzer, HIGH);// buzzer menyala
}
Serial.println("Temprature: " + String(ntc) + " ℃" );
delay(1000);
}