Membuat Thermometer Ruang dengan Sensor Suhu LM35


LM35 adalah jenis sensor yang dapat mendeteksi keadaan suhu di sekitar lingkungan/ruangan. Dan projek Arduino kami kali ini adalah akan, “Mengukur suhu di ruang sekitar”. Kami juga akan memberi tips menyalakan level indikator LED dengan lebih simpel.

Yang perlu disiapkan:

1x Arduino
1x Breadboard
1x LM35 Sensor Suhu
2x LED hijau
2x LED kuning
1x LED merah
5x Resistor 220 ohm
Kabel Jumper secukupnya

Rangkailah seperti gambar dibawah ini

Untuk pemrograman Arduino bisa menggunakan Skecth seperti ini:

void setup() {
Serial.begin(9600); //mengaktifkan komunikasi serial dengan baudrate 9600
}

void loop() {
Serial.print(“Suhu=”); //menuliskan “Suhu=” ke serial
float suhu=analogRead(A5); //membaca ADC dan menyimpan pada variabel suhu
suhu=(int)((suhu/1023)*500);//konversi nilai ADC LM35 ke derajat celcius
Serial.println(suhu); //tampilkan nilai suhu kemudian ganti baris
delay(100); //tunda 100ms
}

Setelah diupload, masuk ke tamilan serial monitor.

Sekarang tinggal menyalakan level led indikator.

Kita coba bedakan dengan perintah if else biasa dan menggunakan for.

Untuk if else biasa seperti dibawah ini:

void setup() {
Serial.begin(9600);
for(char x=9;x<14;x++){pinMode(x,OUTPUT);digitalWrite(x,LOW);}
}

void loop() {
Serial.print(“Suhu=”);
float suhu=analogRead(A5);
suhu=(int)((suhu/1023)*500);
Serial.println(suhu);
delay(100);

if(suhu>20)digitalWrite(9,HIGH);
else digitalWrite(9,LOW);
if(suhu>25)digitalWrite(10,HIGH);
else digitalWrite(10,LOW);
if(suhu>30)digitalWrite(11,HIGH);
else digitalWrite(11,LOW);
if(suhu>35)digitalWrite(12,HIGH);
else digitalWrite(12,LOW);
if(suhu>40)digitalWrite(13,HIGH);
else digitalWrite(13,LOW);
}

Sedangkan berikut ini menggunakan for.

void setup() {
Serial.begin(9600);
for(char x=9;x<14;x++){pinMode(x,OUTPUT);digitalWrite(x,LOW);}
}

void loop() {
Serial.print(“Suhu=”);
float suhu=analogRead(A5);
suhu=(int)((suhu/1023)*500);
Serial.println(suhu);
delay(100);

for(char x=0;x<5;x++){
if(suhu>(20+(x*5)))digitalWrite(9+x,HIGH);
else digitalWrite(9+x,LOW);
}
}

Baik, apa perbedaannya?? ?? Catatan, untuk menggunakan fungsi “for” harus dapat menentukan nilai dan rumusnya ??


Like it? Share with your friends!

0