LM35 adalah jenis sensor yang dapat mendeteksi keadaan suhu di sekitar lingkungan/ruangan. Kemudian projek Arduino kami kali ini adalah akan, Mengukur suhu di ruang sekitar. Selanjutnya Kami juga akan memberi tips menyalakan level indikator LED dengan lebih simpel.
Kemudian yang perlu disiapkan adalah:
- 1x Arduino
- 1x Breadboard
- 1x LM35 Sensor Suhu
- 2x LED hijau
- 2x LED kuning
- 1x LED merah
- 5x Resistor 220 ohm
Kabel Jumper secukupnya
Pertama Rangkailah seperti gambar dibawah ini
Kemudian Untuk pemrograman Arduino bisa menggunakan Skecth seperti ini:
void setup() {
Serial.begin(9600); //mengaktifkan komunikasi serial dengan baudrate 9600
}
void loop() {
Serial.print(Suhu=); // Pertama menuliskan Suhu= ke serial
float suhu=analogRead(A5); //Kedua membaca ADC dan menyimpan pada variabel suhu
suhu=(int)((suhu/1023)*500);// Ketiga konversi nilai ADC LM35 ke derajat celcius
Serial.println(suhu); //kemudian tampilkan nilai suhu kemudian ganti baris
delay(100); //Selanjutnya akan tunda 100ms
}
Selanjutnya diupload, masuk ke tamilan serial monitor.
Sekarang tinggal menyalakan level led indikator.
Kita coba bedakan dengan perintah if else biasa dan menggunakan for.
Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!
Kemudian 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);
}
Selanjutnya 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, Kemudian apa perbedaannya?? ?? Catatan, segera untuk menggunakan fungsi for harus dapat menentukan nilai dan rumusnya ??
Kamu ingin memperbanyak jam terbang dan portofolio bikin project elektronika/ Arduino/ IoT?segera Ikuti program dari Indobot!