int temp_dasar = 0; //variabel tetap dasar menyimpan 
//nilai batas awal nol
int celcius = 0; // variabel celcius menyimpan
// nilai batas awal nol

 void setup() // fungsi dibaca satu kali   
{
pinMode (A0, INPUT) // pin A0 sebagai input analog
; Serial.begin(9600) ; //komunikasi serial dari arduino ke serial 
// monitor komputer
pinMode (2, OUTPUT) ; // pin 2 sebagai output
pinMode (3, OUTPUT) ;
pinMode (4, OUTPUT) ;
}

void loop ()
{
  temp_dasar = 40;
  // set baas temperature untuk mengaktifkan led
  celcius = map ( ( ( analogRead (A0) - 20) * 3.04) , 0, 1023, -40, 125) ;
  // mengukur temperatur dalam celcius
  // pembacaan 0 s.d 1023 diterjemahkan ke -40 s.d 125 derajat celcius

  Serial.print(celcius) ; // print ke serial monitor nilai celcius
  Serial.print( " C ") ;

if (celcius < temp_dasar)  { 
  digitalWrite(2, LOW) ;
  digitalWrite(3, LOW) ;
  digitalWrite(4, LOW) ;
}
if (celcius >= temp_dasar && celcius < temp_dasar + 10) { 
  digitalWrite(2, HIGH) ;
  digitalWrite(3, LOW) ;
  digitalWrite(4, LOW) ;
}
if (celcius >= temp_dasar + 10 && celcius < temp_dasar + 20) {
 digitalWrite(2, LOW) ;
 digitalWrite(3, HIGH) ;
 digitalWrite(4, LOW);
}
if (celcius >= temp_dasar + 20) {
digitalWrite(2, LOW) ;
digitalWrite(3, LOW) ;
digitalWrite(4, HIGH) ;
}
delay(2000); // jeda waktu 2000 milidetik

}