Tugas Pendahuluan 1 - Percobaan 1 Kondisi 4

 [KEMBALI KE MENU SEBELUMNYA]


MODUL 2
PERCOBAAN 1 KONDISI 4

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. Power supply

    6. Ground

    7. Motor DC

    8. Baterai

    9. Resistor

    10. Potensiometer

    11. IC L293D
   
     Diagram 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>

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

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

void setup() {
  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() {
  int s1 = digitalRead(sw1);
  int ldr = analogRead(A0);
  if (s1 == HIGH) {
    int activesw = 0;
    for (int thesw = 0; thesw < numsw; thesw++) {
      if (digitalRead(sws[thesw]) == HIGH) {
        activesw++;
      }
    }
    Serial.print("Number of Switch : ");
    Serial.println(activesw);
    delay(200);
    switch (activesw) {
      case 0 :
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print(ldr);
        lcd.setCursor(0, 1);
        lcd.print("The LDR Value");
        delay(200);
        break;
      case 1 :
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("LDR Value : ");
        lcd.setCursor(13, 0);
        lcd.print(ldr);
        if (ldr >= 200 && ldr <= 600) {
          lcd.setCursor(0, 1);
          lcd.print(" ");
          lcd.setCursor(0, 1);
          lcd.print("turn Motor left");
          digitalWrite(front, LOW);
          digitalWrite(back, HIGH);
          delay(8000); // Putar motor ke kiri selama 8 detik
          digitalWrite(front, LOW);
          digitalWrite(back, LOW); // Matikan motor
          lcd.clear();
          lcd.setCursor(1, 1);
          lcd.print("K"); // Munculkan karakter "K" pada kolom 2 LCD
          delay(20000);
        } else {
         
        }
        break;
      case 2 :
      if (ldr < 550) {
            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);
          }
       
      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 {
    lcd.clear();
    lcd.setCursor(4, 0);
    lcd.print("ELECTRONIC");
    lcd.setCursor(0, 1);
    lcd.print("&INSTRUMENTATION");
    delay(100);
  }
}


b. Flowchart

 


5. Kondisi [Kembali]

Kondisi  →Percobaan 1 Kondisi 4
        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]





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
Download Datasheet L293D klik disini

Komentar

Postingan populer dari blog ini

MODUL I - GENERAL INPUT DAN OUTPUT

Sub Chapter 7.5

MODUL III - Counter