Laporan Akhir Modul 2 - Percobaan 2



1. Tujuan [Daftar]
1. Merangkai percobaan 2 modul 2.
2. Menjelaskan cara kerja rangkaian percobaan 2.
3. Melakukan simulasi rangkaian percobaan 2.

Kondisi : Bila suhu yang terbaca pada LCD >= 30C motor berputar ke kanan dan jika suhu yang terbaca pada LCD < 30C maka motor berputar ke kiri

2. Alat dan Bahan [Daftar]
Alat
1. Power Supply

Bahan
1. Arduino UNO
2. LM35
3. LCD 16x2
4. IC L293D
5. Motor DC
6. Baterai

3. Rangkaian Percobaan [Daftar]
Prinsip Kerja
Program dimulai dengan deklarasi library yang digunakan untuk LCD yaitu LiquidCrystal.h. Selanjutnya deklarasi pin-pin arduino yang digunakan yaitu pin A0 untuk output dari LM35, pin 10 untuk IN1 L293D, pin 9 untuk IN2 L293D, selanjutnya pin 2-7 yang digunakan pada LCD. Setelah itu dideklarasikan sebuah variabel nilaiSuhu bertipe data Integer.
Pada fungsi void setup() dilakukan deklarasi pin A0 sebagai input dari LM35 ke arduino. Untuk LCD dilakukan set baris dan kolom LCD dengan fungsi lcd.begin(). Pada fungsi void loop() dilakukan pembacaan nilaiSuhu dengan memproses output analog dari LM35 menjadi data digital dengan ADC pada arduino. Pembacaan nilai suhu dengan syntax nilaiSuhu+((5*analogRead(LM35)*100.00)/1024);. Selanjutnya dilakukan percabangan, jika suhu yang dideteksi lebih besar atau sama dengan 30C maka akan dioutputkan PWM dengan nilai 255 untuk mengontrol motor pada pin IN1 L293D dan PWM dengan nlai 0 ke pin IN2 L293D sehingga motor berputar ke kanan. Jika suhu yang dideteksi lebih kecil dari 30C maka akan dioutputkan PWM dengan nilai 255 untuk mengontrol motor pada pin IN2 L293D dan PWM dengan nlai 0 ke pin IN1 L293D sehingga motor berputar ke kiri. Selanjutnya dilakukan output pada LCD dengan menampilkan nilaiSuhu. Dilakukan delay selama 200ms dan program berulang untuk membaca data suhu yang baru.

4. Listing Program [Daftar]
Listing Program
#include <LiquidCrystal.h>
#define LM35 A0
#define in1 10
#define in2 9
LiquidCrystal lcd(2,3,4,5,6,7);
int nilaiSuhu;

void setup()
{
      pinMode(A0, INPUT);
      pinMode(in1, OUTPUT);
      pinMode(in2, OUTPUT);
      lcd.begin(16,2);
}

void loop()
{
    //Pembacaan LM35
    nilaiSuhu=((5*analogRead(LM35)*100.00)/1024);
    if(nilaiSuhu >= 30){
        analogWrite(in1, 255);
        analogWrite(in2, 0);
    }else{
        analogWrite(in1, 0);
        analogWrite(in2, 255);
    }
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("LM35 Sensor Suhu");
    lcd.setCursor(0,1);
    lcd.print(nilaiSuhu);
    delay(200);
}

Flowchart

5. Analisa [Daftar]
1. Bagaimana pengaruh ADC pada percobaan ini?
Jawab:
ADC pada pecobaan ini digunakan untuk mengubah sinyal analog dan keluaran IC LM35 menjadi sinyal digital agar dapat diproses oleh mikrokontroller arduino. Sinyal keluaran dari LM35 merupakan sinyal analog dengan penambahan 10mV untuk setiap peningkatan suhu 1C karena sinyal ini tidak dapat diproes langsung oleh arduino maka diperlukan ADC sehingga didapat sinyal digital dengan nilai biner 1 dan 0 yang dimengerti oleh arduino.

2. Apakah pengukuran LM35 akurat? Jelaskan!
Jawab:
Jika dilihat berdasarkan data spesifikasi pada datasheet LM35 dapat dikatakan akurat karena LM35 bersifat linear dengan kenaikan Vout 10mV per kenaikan 1C. LM35 memiliki tingkat akurasi 0,25C pada suhu ruang dan mampu beroperasi dari suhu -55C sampai 150C. Selain itu LM35 memiliki tingkat pemanasan sendiri yang rendah yaitu 0,08C atau kecil dari 0,1C.

3. Kenapa ADC menentukan tingkat kepekaan pembacaan sensor? Jelaskan!
Jawab:
ADC menentukan tingkat kepekaan pembacaan sensor karena dipengaruhi oleh kecepatan sampling dan resolusi. Semakin besar kecepatan sampling maka semakin banyak sampel yang dihasilkan per detik sehingga semakin banyak sinyal analog yang dikonversikan. Semakin kecil nilai resolusi maka pembacaan ADC semakin akurat karena ADC semakin peka terhadap perubahan tegangan yang kecil.


6. Video [Daftar]