Ketika suhu
kisaran 30-35 derajat celcius maka 1 led berwarna merah hidup dan lainnya mati,
dan jika kisaran 36-40 maka led hijau akan hidup dan lainnya mati.
Rangkaian ini
menggunakan sensor suhu LM35, 2 buah LED (RED dan GREEN), arduino sebagai
mikrokontroller, dan LCD.
Pada rangkaian
ini kaki output LM35 dihubungkan ke kaki A0 (Pin Analog) pada arduino, karena
output yang dihasilkan oleh LM35 berupa sinyal analog. Kemudian kaki pin
digital arduino (2,3,4,5,6,7) dihubungkan masing-masingnya ke pin yang ada pada
LCD, untuk melihat suhu yang di ukur nantinya.
Kemudian pada
kaki pin 9 arduino dihubungkan ke kaki
LED RED, dan kaki 10 dihubungkan ke LED GREEN. LED ini sebagai outputnya yang
digunakan untuk mendeteksi suhu. Ketika suhu berada di rentang 30 - 35 derajat
celcius, maka LED-RED akan ON. Apabila
suhu berada pada rentang 36 - 40 derajat celcius maka LED-GREEN akan ON.
Selain kedua kondisi tersebut, maka tidak ada LED yang ON.
Penentuan ON
atau OFF LED tersebut diatur pada listing program arduino dengan menggunakan logika
if else. Setelah program dibuat, kemudian di verify dan program tersebut di
masukkan ke dalam arduino pada proteus untuk mensimulaskan percobaannya.
#include
<LiquidCrystal.h>
//Deklarasi library LCD
#define LM35
A0 //Deklarasi pin A0 untuk LM35
LiquidCrystal
lcd(2,3,4,5,6,7);
//Deklarasi pin 2-7 untuk LCD
int
nilaiSuhu;
//Deklarasi variabel nilaiSuhu
int LED1 = 9;
int LED2 = 10;
void setup()
{ //Semua
kode dalam fungsi ini dieksekusi sekali
pinMode(A0,
INPUT);
//Deklarasi pin A0 sebagai INPUT
lcd.begin(16,2); //Dimensi LCD
yang digunakan
pinMode (LED1,OUTPUT); //Deklarasi pin LED
sebagai OUTPUT
pinMode
(LED2,OUTPUT);
}
void loop() //Semua kode
dalam fungsi ini dieksekusi berulang
{
nilaiSuhu=((5*analogRead(LM35)*100.00)/1024);
//Mencari nilai Suhu
if (nilaiSuhu
>= 30 && nilaiSuhu <= 35) {
digitalWrite
(LED1,HIGH);
digitalWrite
(LED2,LOW);
lcd.clear(); //Menghapus layar
LCD
lcd.setCursor(0,0); //Menentukan posisi kursor
pada awal penulisan
lcd.print("LM35
Sensor Suhu"); //Menampilkan text pada LCD
lcd.setCursor(0,1); //Menentukan posisi
kursor pada awal penulisan
lcd.print(nilaiSuhu); //Menampilkan nilaiSuhu
pada LCD
delay(100);
}
else if
(nilaiSuhu >= 36 && nilaiSuhu <= 40){
digitalWrite
(LED2,HIGH);
digitalWrite
(LED1,LOW);
lcd.clear(); //Menghapus layar
LCD
lcd.setCursor(0,0); //Menentukan posisi
kursor pada awal penulisan
lcd.print("LM35
Sensor Suhu"); //Menampilkan text pada LCD
lcd.setCursor(0,1); //Menentukan posisi
kursor pada awal penulisan
lcd.print(nilaiSuhu); //Menampilkan nilaiSuhu
pada LCD
delay(100);
}
else {
digitalWrite
(LED1,LOW);
digitalWrite
(LED2,LOW);
lcd.clear(); //Menghapus layar
LCD
lcd.setCursor(0,0); //Menentukan posisi
kursor pada awal penulisan
lcd.print("LM35
Sensor Suhu"); //Menampilkan
text pada LCD
lcd.setCursor(0,1); //Menentukan posisi
kursor pada awal penulisan
lcd.print(nilaiSuhu); //Menampilkan nilaiSuhu
pada LCD
delay(100); //Waktu delay 100
ms setelah dieksekusi
}
}
Tidak ada komentar:
Posting Komentar