Tugas Pendahuluan M2




1. Kondisi [Kembali]

    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