Egi Rahman 2110952042

.

TP MODUL 2 P1K6



MODUL 2
PERCOBAAN 1 KONDISI 6

1. Prosedur
[Kembali]

+ Rangkai semua komponen sesuai kondisi yang dipilih
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino di proteus
+ jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
+ Selesai

2. Hardware dan diagram blok [Kembali]

1. Arduino Uno

    2. Sensor LDR

    3. Dip Switch

    4. LCD

    5. Logic state

    6. Power supply

    7. Ground

    8. Motor DC

    9. Baterai

    10. Resistor

    11. Potensiometer

    12. IC L293D
   
     Digram Blok



3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
Gambar Rangkaian Sebelum Disimulasikan
 
                                  
Gambar Rangkaian Setelah Disimulasikan
 


                                        
PRINSIP KERJA
    
    Prinsip kerja dari rangkaian diatas yaitu untuk mengontrol sebuah motor DC menggunakan Arduino berdasarkan kondisi yang ditetapkan pada program, yang diukur melalui sensor LDR dan input dari dua saklar. Program dimulai dengan inisialisasi pin-pin yang terhubung ke sensor LDR, motor DC, saklar, dan LCD. Setelah itu, dalam loop utama, nilai sensor LDR dibaca secara terus-menerus. Jika kondisi saklar menunjukkan kedua saklar dalam posisi mati (LOW) dan nilai LDR di luar rentang tertentu, motor akan diaktifkan. Motor pertama-tama akan bergerak ke kanan selama beberapa detik (3 detik), kemudian berhenti sejenak, dan berputar ke kiri selama beberapa detik (4 detik). Tindakan ini disertai dengan menampilkan pesan pada LCD (bergerak). Jika kondisi saklar atau nilai LDR tidak memenuhi persyaratan yang ditetapkan, motor akan dimatikan dan tampilan LCD akan dibersihkan. Program akan terus berjalan dalam loop, terus memantau kondisi dan mengontrol motor sesuai keadaan lingkungan. Dengan simulasi di Proteus, prinsip kerja ini dapat diamati secara langsung, memungkinkan pengujian dan pengembangan lebih lanjut dari sistem kontrol motor menggunakan Arduino.

4. FlowChart [Kembali]

a. Listing Program 

#include <LiquidCrystal.h>

// Inisialisasi pin
const int LDR_PIN = A0;
const int MOTOR_EN_PIN = A1;
const int MOTOR_OUT1_PIN = A2;
const int MOTOR_OUT2_PIN = A3;
const int DIPSW_PIN[] = {2, 3}; // Gunakan hanya 2 pin untuk saklar
const int LCD_RS_PIN = 13;
const int LCD_EN_PIN = 12;
const int LCD_D4_PIN = 11;
const int LCD_D5_PIN = 10;
const int LCD_D6_PIN = 9;
const int LCD_D7_PIN = 8;

// Konfigurasi LCD
LiquidCrystal lcd(LCD_RS_PIN, LCD_EN_PIN, LCD_D4_PIN, LCD_D5_PIN, LCD_D6_PIN, LCD_D7_PIN);

void setup() {
  // Inisialisasi pin mode
  pinMode(LDR_PIN, INPUT);
  pinMode(MOTOR_EN_PIN, OUTPUT);
  pinMode(MOTOR_OUT1_PIN, OUTPUT);
  pinMode(MOTOR_OUT2_PIN, OUTPUT);
  for (int i = 0; i < 2; i++) { // Hanya 2 saklar
    pinMode(DIPSW_PIN[i], INPUT_PULLUP);
  }
  
  // Inisialisasi LCD
  lcd.begin(16, 2);
}

void loop() {
  // Baca nilai LDR
  int ldrValue = analogRead(LDR_PIN);
  
  // Cek kondisi saklar dan LDR
  if (digitalRead(DIPSW_PIN[0]) == LOW && digitalRead(DIPSW_PIN[1]) == LOW && (ldrValue < 200 || ldrValue > 600)) {
    // Aktifkan motor berputar ke kanan selama 3 detik
    digitalWrite(MOTOR_EN_PIN, HIGH);
    digitalWrite(MOTOR_OUT1_PIN, HIGH);
    digitalWrite(MOTOR_OUT2_PIN, LOW);
    
    // Tampilkan karakter pada kolom 1 LCD
    lcd.setCursor(0, 0);
    lcd.print("bergerak");
    
    delay(3000); // Motor bergerak ke kanan selama 3 detik
    
    // Berhenti sejenak
    digitalWrite(MOTOR_EN_PIN, LOW);
    delay(1000); // Pause selama 1 detik
    
    // Aktifkan motor berputar ke kiri selama 4 detik
    digitalWrite(MOTOR_EN_PIN, HIGH);
    digitalWrite(MOTOR_OUT1_PIN, LOW);
    digitalWrite(MOTOR_OUT2_PIN, HIGH);
    
    delay(4000); // Motor berputar ke kiri selama 4 detik
    
    // Matikan motor dan bersihkan LCD setelah selesai
    digitalWrite(MOTOR_EN_PIN, LOW);
    lcd.clear();
  } else {
    // Matikan motor dan bersihkan LCD jika salah satu saklar dalam keadaan aktif atau kondisi LDR tidak memenuhi
    digitalWrite(MOTOR_EN_PIN, LOW);
    lcd.clear();
  }
  
  delay(100); // Delay untuk stabilitas
}


b. Flowchart



5. Kondisi [Kembali]

Kondisi  →Percobaan 1 Kondisi 6
        (Ketika ADC < 200 atau >600) dan tidak ada switch aktif, motor berputar ke kanan 3 detik lalu kiri 4 detik dan muncul karakter pada kolom 1 LCD, namun jika ada switch aktif maka motor tidak berputar

6. Video Simulasi [Kembali]




7. Download File [Kembali]

Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet  LDR klik disini
Download Datasheet LCD 2X16 klik disini

0 komentar:

Posting Komentar

Blogger news

Blogger templates