LAPORAN AKHIR MODUL 2 PERCOBAAN 1

 



Percobaan 1 Modul 2

                                                    Sensor LDR dengan LCD

Foto Hardware dan Diagram Blok [Kembali]

     Arduino Uno
            
    



    DipSwitch
        
        
 
 LCD
     






Driver Motor L293D





 
Motor DC
 

Diagram Blok:




2. Prosedur Percobaan  [Kembali]

1. Susun semua komponen.
2. Buat program menggunakan aplikasi Arduino IDE.
3. Unggah program ke Arduino setelah selesai.
4. Jalankan program pada simulasi dan uji dengan modul.


Rangkaian Simulasi
 




Prinsip Kerja

        Rangkaian ini terdiri dari beberapa komponen, termasuk mikrokontroler (ATMEGA328P-PU), dipswitch, driver motor LD293D,Sensor LDR,LCD,serta motor dan kipas. Pada rangkaian ini Sensor LDR bertindak sebagai input analog dan Dipswitch sebagai input digital. Prinsip kerja rangkaian ini adalah sensor LDR berfungsi sebagai input analaog yang menjadi paramater instruksi yang diberikan pada motor. Kemudian ada dipswitch dengan 4 pin, dimana untuk pin 4 untuk mengaktifkan motor, pin 3 untuk inputan analog dari LDR untuk ADC, pin 2 untuk mengatur arah putaran motor berdasarkan nilai inputan LDR, dan pin 4 untuk mengatur PWM dari motor. Kemudian sebagai output pada LCD akan menampilkan karakter ELECTRICAL INSTRUMEN.

Pada percobaan ini, berbagai kondisi diperhatikan:

- Jika saklar utama atau saklar enable aktif (s1 == HIGH), program akan menentukan jumlah saklar tambahan yang aktif (activesw) dengan melakukan iterasi melalui saklar tambahan (sws[]). Setelah itu, program akan beralih ke dalam blok switch-case berdasarkan jumlah saklar yang aktif.

- Jika tidak ada saklar yang aktif (activesw == 0), nilai LDR akan ditampilkan pada LCD dengan pesan "The LDR Value" dan nilai LDR juga akan ditampilkan.

- Jika satu saklar aktif (activesw == 1), motor DC akan diaktifkan, dan output pada LCD akan menampilkan "Running The Motor".

- Jika dua saklar aktif (activesw == 2), program akan menentukan arah putaran motor DC berdasarkan nilai LDR. Jika nilai LDR kurang dari 650, motor akan berputar ke kanan dan pada LCD akan ditampilkan "Running Motor Right". Jika tidak, motor akan berputar ke kiri, dan pada LCD juga akan ditampilkan "Running motor left".

- Jika tiga saklar aktif (activesw == 3), program akan mengonfigurasi sinyal PWM untuk mengontrol kecepatan motor DC berdasarkan nilai bacaan LDR, dan pada LCD juga ditampilkan indikator nilai PWM "PWM= " serta pesan "control???".

- Jika saklar utama tidak aktif atau saklar enable, program akan membersihkan layar LCD dan menampilkan pesan "ELECTRONIC & INSTRUMENTATION", atau kata dan kalimat yang telah ditetapkan pada program. Kelompok 5 telah mengatur tampilan LCD sebagai "ELECTRICAL INSTRUMEN". 

4. Flowchart dan Listing Program [Kembali]

Flowchart



Listing Program:

#include <LiquidCrystal.h>

LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

int sw1 = 2;
int sws[]={3,4,7};
int numsw = 3;
int front = 6;
int back = 5;

void setup() {
  // put your setup code here, to run once:
lcd.begin(16,2);
pinMode(sw1,INPUT);
for(int thesw = 0; thesw < numsw; thesw++){
  pinMode(sws[thesw],INPUT);
}
pinMode(front,OUTPUT);
pinMode(back,OUTPUT);
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
int s1 = digitalRead(sw1);
int ldr = analogRead(A0);
if(s1 == HIGH){
  int activesw = 0;
  int thesw = 0;
  for(thesw; thesw < numsw; thesw++){
    if(digitalRead(sws[thesw]) == HIGH){
      activesw++;
    }
  }
Serial.print("Number of Switch : ");
Serial.println(activesw);
Serial.print("Number of Activation : ");
Serial.println(thesw);
delay(200);
switch(activesw){
  case 0 :
  lcd.clear();
    lcd.setCursor(0,0);
    lcd.print(ldr);
    lcd.setCursor(0,1);
    lcd.print("The LDR Value");
    digitalWrite(front,LOW);
    digitalWrite(back,LOW);
    delay(200);
    break;
  
  case 1 :
  lcd.clear();
    lcd.setCursor(2,0);
    lcd.print("Running The");
    lcd.setCursor(2,1);
    lcd.print("Motor");
    digitalWrite(front,HIGH);
    digitalWrite(back,LOW);
    delay(200);
    break;

  case 2 :
  lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("LDR Value : ");
    lcd.setCursor(13,0);
    lcd.print(ldr);
    if(ldr < 650){
      lcd.setCursor(0,1);
      lcd.print("                 ");
      lcd.setCursor(0,1);
      lcd.print("turn Motor right");
      digitalWrite(front,HIGH);
      digitalWrite(back,LOW);
    }else{
      lcd.setCursor(0,1);
      lcd.print("                 ");
      lcd.setCursor(0,1);
      lcd.print("turn Motor left");
      digitalWrite(front,LOW);
      digitalWrite(back,HIGH);
    }
    break;

  case 3 :
  int pwm = map(ldr,0,1023,0,255);
    digitalWrite(back,LOW);
    analogWrite(front,pwm);
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("PWM = ");lcd.print(pwm);
    lcd.setCursor(0,1);
    lcd.print(" Control ???");
    delay(200);
    break;

}
delay(10);
}else{
  Serial.println("look at the LCD");
  digitalWrite(back,LOW);
  digitalWrite(front,LOW);
  lcd.clear();
  lcd.setCursor(4,0);
  lcd.print("ELECTRONIC");
  lcd.setCursor(0,1);
  lcd.print("&INSTRUMENTATION");
  delay(100);
}
}


5. Kondisi [Kembali]

Ketika ADC antara 200 dan 600 dan 1 Switch aktif, motor berputar ke kiri 8 detik lalu mati dan muncul karakter pada kolom 2 LCD.

6. Video Simulasi [Kembali]


    Download HTML
    Download Rangkaian
   
Download Program
   
Download Video Simulasi
    Download Datasheet L293D
    Download Datasheet motor DC
    
Download Datasheet Arduino Uno


 











Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

MODUL 3 KOMUNIKASI

DAFTAR ISI      1. Pendahuluan      2. Tujuan      3. Alat dan Bahan      4. Dasar Teori      5. Percobaan Percobaan ... T...