Prak uP&uC : M2 TP1




Tugas Pendahuluan 1 Modul 2
(Percobaan 1 Kondisi 3)

1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino



2. Dip Switch







3. LED




4. Resistor






5.  LCD




6. Motor DC


7.  Sensor LDR


8. IC LD293D










Diagram Blok:





3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :






Prinsip Kerja :

Pada percobaan 1 ini membahas bagaimana prinsip ADC yang diaplikasikan pada Sensor LDR dan Motor DC. dan terdapat beberapa komponen pendukung seperti LCD dan dipswitch untuk menyesuaikan kondisi yang berbunyi "Ketika ADC antara 200 dan 600 dan 3 switch 3 aktif motor berputar ke kanan 3 detik lalu mati dan muncul karakter pada kolom 1 LCD

Sensor LDR sebagai input dan MOTOR DC sebagai output. Dikarenakan Sensor LDR sebagai input yang akan divariasikan, kita menghubungkan pin output dari sensor LDR menjadi input pada arduino pada pin A0 karena sensor LDR adalah analog yang nilai nya ada disetiap waktu. Kemudian untuk output dari arduino ke Motor DC melalui pin A1 dan A2 yang dihubungkan dulu ke IC L293D sebagai driver motor tersebut. Dipswitch sendiri berperan sebagai pengatur kondisi yang diinginkan. terakhir juga LCD sebagai tampilan dalam bentuk tulisan yang diinginkan

Saat rangkaian dijalankan, arduino akan menerima input dari sensor LDR yang berupa tegangan pembagi resistor, sensor LDR bekerja disaat intensitas cahaya besar maka resistansi nya semakin kecil mengakibatkan tegangan pada resistor pembagi semakin besar yang kemudian menjadi input pada arduino. arduino membaca tegangan dari sensor ldr yang kemudian dikonversi dalam bit, sesuai pin Analog yang mengubah data analog menjadi digital (diskrit) dalam bentuk 10 bit atau dari tegangan 0-5V menjadi nilai ADC 0-1023. Syarat dari kondisi adalah nilai ADC yang diantara 200-600 agar dapat menyesuaikan kondisi, dan untuk memudahkan melihat nilai ADC ditampilkan pada lcd baris ketiga. Disaat sudah memenuhi nilai ADC, saat nya mengatur dipswitch 3 yang aktif agar dapat memenuhi syarat menghidupkan motor. Saat semua kondisi sudah terpenuhi, arduino akan mengeluarkan output pada pin A1 yang berlogika HIGH untuk menghidupkan motor ke kanan, diberikan delay pada program selama 3000ms atau 3 detik dan ditampilkan pada kolom 1 lcd bahwa Motor Hidup. setelah 3 detik diberikan logika LOW pada pin A1 untuk mematikan motor.
 
4. Flowchart dan Listing Program [Kembali]

Flowchart :




Listing Program :

#include <LiquidCrystal.h>

// Konfigurasi pin untuk LCD
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

// Tentukan pin untuk LDR dan motor
const int ldrPin = A0;
const int motorPin1 = A1;
const int motorPin2 = A2;

// Tentukan pin untuk saklar
const int switchPin1 = 5;
const int switchPin2 = 4;
const int switchPin3 = 3;
const int switchPin4 = 2;

void setup() {
  // Inisialisasi pin input dan output
  pinMode(ldrPin, INPUT);
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(switchPin1, INPUT);
  pinMode(switchPin2, INPUT);
  pinMode(switchPin3, INPUT);
  pinMode(switchPin4, INPUT);

  // Mulai LCD
  lcd.begin(20, 4);
}

void loop() {
  // Baca nilai LDR
  int ldrValue = analogRead(ldrPin);
  lcd.setCursor(1,3);
  lcd.print(ldrValue);
  delay(100);

  // Baca status saklar
  bool switch1Active = digitalRead(switchPin1);
  bool switch2Active = digitalRead(switchPin2);
  bool switch3Active = digitalRead(switchPin3);
  bool switch4Active = digitalRead(switchPin4);

  // Periksa kondisi
  if (ldrValue > 200 && ldrValue < 600 && switch1Active && switch2Active && switch3Active && !switch4Active) {
    // Putar motor ke kanan selama 3 detik
    digitalWrite(motorPin1, HIGH);
    digitalWrite(motorPin2, LOW);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Motor Aktif!");
    delay(3000);

    // Matikan motor
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    lcd.clear();
    
  }

  // Beri sedikit delay untuk stabilitas
  delay(2000);
}

5. Kondisi [Kembali]

Percobaan 1 Kondisi 3
Ketika ADC antara 200 dan 600 dan 3 Switch aktif, motor berputar ke kanan 3 detik lalu mati dan muncul karakter pada kolom 1 LCD    


6. Video Simulasi [Kembali]




7. Download File [Kembali]

File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Button klik disini

Tidak ada komentar:

Posting Komentar

Among Us - Crewmates

  BAHAN PRESENTASI MATA KULIAH SISTEM DIGITAL 2023 OLEH : Raras Yulia Rosandi 2110951012 DOSEN PENGAMPU : Dr. Ir. Darwison, ST, MT JURUSAN T...