Tugas Pendahuluan 1 Modul 2 Percobaan 1


Percobaan I

ADC - Sensor LDR dengan Motor DC

1. Prosedur [Kembali]

  • Rangkailah seperti rangkaian berikut
  • Buka Arduino IDE dan masukan listing program
  • Upload program ke arduino
  • Variasikan nilai ADC dan amati keluarannya pada LCD

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

Diagram Blok:



Rangkaian Simulasi.

Prinsip Kerja:

    Pada rangkaian percobaan 1 kondisi 6 ini menggunakan sensor LDR dan dipswitch yang berfungsi sebagai input, LCD dan motor dc berfungsi sebagai output. Dimana ketika nilai sensor LDR < 200 atau >600 dan tidak ada switch aktif maka output pada motor akan berputar ke kanan 3 detik lalu kiri 4 detik dan pada LCD akan menampilkan "Motor Aktif" pada kolom 1 LCD. Dan ketika nilai sensor LDR berada diluar rentang  dan ada switch aktif maka motor tidak berputar, dimana sesuai dengan kondisi 5 yaitu (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.
 

4. Flowchart dan Listing Program [Kembali]

    Flowchart:


    Listing Program:

#include <LiquidCrystal.h>

// Inisialisasi pin
const int LDR_PIN = A5;
const int MOTOR_EN_PIN = A1;
const int MOTOR_OUT1_PIN = A2;
const int MOTOR_OUT2_PIN = A3;
const int DIPSW_PIN[] = {1, 2}; // 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, LOW);
    digitalWrite(MOTOR_OUT2_PIN, HIGH);
   
    // Tampilkan karakter pada kolom 1 LCD
    lcd.setCursor(0, 0);
    lcd.print("Motor Aktif");
   
    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, LOW);
    digitalWrite(MOTOR_OUT1_PIN, HIGH);
    digitalWrite(MOTOR_OUT2_PIN, LOW);
   
    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
}


5. Kondisi [Kembali]

    (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.

᭒ HTML↠ klik disini
Rangkaian Simulasi ↠ klik disini
᭒ Gambar Simulasi ↠ klik disini
᭒ Video Simulasi ↠ klik disini
᭒ Listing Program ↠ klik disini





Tidak ada komentar:

Posting Komentar

Bahan Presentasi Untuk Matakuliah Sistem Digital 2023 OLEH: Fadhila Amanda 2110952031 Dosen Pengampu: Dr. Darwison,MT Referensi: a. Anil K. ...