Senin, 18 Maret 2024

Laporan Akhir 1 - Modul 2

  





Percobaan 1

Sensor LDR dengan LCD

1. Foto Hardware dan Diagram Blok [Kembali]

a. Hardware

 

    1. LCD 2x16

2. Arduino Uno

   3. Dipswitch_4

4. Resistor

5. Jumper

6. Breadboard

7. Motor

8. Potensiometer

9. Sensor LDR

10. Driver motor L293D

11. Motor DC

b. Diagram Blok






2. PROSEDUR PERCOBAAN [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan dengan modul


3. RANGKAIAN SIMULASI DAN PRINSIP KERJA[Kembali]





Prinsip Kerja :

Pada percobaan 1 Sensor LDR dengan LCD, rangkaian bekerja berdasarkan kondisi input dari tombol dan sensor LDR. Saat tombol utama tidak ditekan, rangkaian memasuki kondisi idle di mana tampilan LCD menampilkan pesan default "ELECTRONIC & INSTRUMENTATION". Namun, saat tombol utama ditekan, program memulai pemantauan tombol lain dan nilai LDR. Jika hanya satu tombol ditekan, motor akan diaktifkan tanpa memperhatikan nilai LDR. Ketika dua tombol ditekan, nilai LDR digunakan untuk mengarahkan motor ke kanan atau kiri berdasarkan ambang batas yang ditentukan. Saat semua tombol ditekan, nilai LDR dijadikan sebagai PWM untuk mengontrol kecepatan motor.

Selama setiap iterasi dalam loop utama, informasi yang relevan ditampilkan pada LCD untuk memberikan umpan balik visual. Misalnya, ketika dua tombol ditekan, tampilan LCD memberikan informasi tentang nilai LDR yang terbaca dan arah yang diambil oleh motor berdasarkan nilai tersebut. Ketika semua tombol ditekan, nilai PWM yang dihasilkan untuk mengontrol kecepatan motor juga ditampilkan pada LCD bersamaan dengan informasi tentang jenis kontrol yang sedang dilakukan. Dengan demikian, rangkaian ini tidak hanya menanggapi input pengguna dengan aksi yang sesuai, tetapi juga memberikan umpan balik visual yang informatif tentang status operasional motor dan nilai LDR yang terbaca.


4. FLOWCHART DAN LISTING PROGRAM [Kembali]

a. Flowchart



b. 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() {
  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(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 < 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);
        }
        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 {
    lcd.clear();
    lcd.setCursor(4, 0);
    lcd.print("ELECTRONIC");
    lcd.setCursor(0, 1);
    lcd.print("&INSTRUMENTATION");
    delay(100);
  }
}




5. KONDISI [Kembali]
  

Modul 2 Percobaan 1 - Sensor LDR dengan LCD

6. VIDEO RANGKAIAN [Kembali]




7. ANALISA [Kembali]





8. LINK DOWNLOAD [Kembali]

HTML                                                           klik disini

Listing Program                                            klik disini

Video Percobaan                                          klik disini

Datasheet Arduino                                        klik disini 

Download Resistor                                        klik disini

Download Dipswitch                                     klik disini

Download datasheet sensor LDR                  klik disini

Download Datasheet LCD 2X16                   klik disini

Download Datasheet Driver Motor L293D    klik disini

Download Datasheet Motor DC                        klik disini







Tidak ada komentar:

Posting Komentar

MODUL 4

  [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI     1. Pendahuluan     2. Tujuan     3. Alat dan Bahan     4. Dasar Teori     5. Perc...