// digunakan untuk mendeklarasikan variabel yang nilainya tetap
#define analog 13
#define hijau 2
#define merah 15
#define buzzer 12
// digunakan untuk mendeklarasikan variabel yang nilainya desimal
float temperatur;
// digunakan untuk mengubah nilai dari sensor NTC ke Celcius
const float BETA = 3950;
float suhu = 0.0;
float bacaSensorNTC(){
int analogValue = analogRead(analog);
float celsius = 0.1 + (1 / (log(1 / (4095. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15);
return celsius;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
//digunakan untuk menentukan jenis input/output yang digunakan pada variabel
pinMode(hijau, OUTPUT);
pinMode(merah, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(analog, INPUT);
}
void loop() {
// digunakan untuk memanggil suatu fungsi
int ntc = bacaSensorNTC();
// digunakan untuk membuat suatu kondisi
if(ntc >= 10 && ntc <= 15) {
digitalWrite(hijau, HIGH);
delay(300);
digitalWrite(hijau, LOW);
delay(300);
} else if(ntc >= 15 && ntc <= 20) {
digitalWrite(merah, HIGH);
delay(300);
digitalWrite(merah, LOW);
delay(300);
} else if(ntc >= 20){
digitalWrite(merah, HIGH);
tone(buzzer, HIGH);
}
Serial.println("Temperature: " + String(ntc) + " ℃");
delay(1000);
}