Senin, 25 Maret 2024

Tugas Pendahuluan 1 M2




 Modul 2
(Percobaan 2 Kondisi 6)

1. Prosedur
[Kembali]

1. Siapkan semua komponen yang akan di rangkai pada proteus
2. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
3. Buat program di arduino di software Arduino IDE.
4. Compile program tersebut dan upload ke dalam arduino pada proteus
5. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
6. Finish

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1.  Arduino Uno



2. LCD



3. IC PCF8574



4. Power Supply



5. Dip Switch


6. L293D



7. Motor DC



8. Baterai 



9. Potensiometer




10. Resistor


11. LED





Diagram Blok  :



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi Sebelum dirunning:



Rangkaian Simulasi Setelah dirunning:



Prinsip Kerja : 

Pada percobaan kali ini kita menggunakan beberapa komponen yaitu Arduino Uno, motor DC, LCD, PCF8574, DIP Switch, Driver L293D, Potensiometer, Baterai, Resistor, power supply, dan Ground.  

    Percobaan kali ini kita hanya akan menggunakan DIP Switch sebagai input untuk memanggil atau men-trigger kodisi interrupt yang mana kondisi ini berarti akan memak sa berhenti semua program utama yang berjalan dan akan menjalankan intruksi yang berada dalam fungsi interrupt ini. Arduino juga akan terhubung dengan PCF8574 yang berfungsi sebagai ekspander I/O yang mana akan mengurangi penggunaan pin dari arduino dan dari PCF8574 akan terhubung ke LCD dan terakhir arduino juga akan tehubung ke motor driver dan motor DC. Lalu kondisi interrupt akan terpanggil disaat kita men-trigger nya menggunakan DIP Switch yang mana akan langsung menghentikan semua program utama sebelumnya dan menjalankan perintah yang berada dalam fungsi interrupt yaitu motor DC akan berhenti selama 4 detik dan akan kembali berputar semula setelah 4 detik.

    Komponen lainnya yaitu Potensiometer yang berfungsi untuk mengatur kontras layar LCD, resistor berfungsi untuk membatasi arus pada rangkaian agar dapat berjalan dengan baik dan terhindar dari kerusakan akibat arus atau tegangan yang berlebihan.

4. Flowchart dan Listing Program [Kembali]

Flowchart :



Listing Program :

#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>

// Inisialisasi pin
const int MOTOR_OUT1_PIN = 12; // Pin untuk kontrol motor (output 1)
const int MOTOR_OUT2_PIN = 13; // Pin untuk kontrol motor (output 2)
const int DIPSW_2_PIN = 2;
const int LED_PIN_1 = 3; // Pin untuk LED 1
const int LED_PIN_2 = 4; // Pin untuk LED 2

// Inisialisasi objek LCD
LiquidCrystal_PCF8574 lcd(0x27); // Alamat PCF8574

// Variabel global
volatile bool dipsw_2_state = false; // Volatile digunakan untuk variable yang bisa diakses secara asinkron oleh interrupt
int counting = 50; // Inisialisasi counting awal

void setup() {
  // Inisialisasi pin mode
  pinMode(MOTOR_OUT1_PIN, OUTPUT); // Mengatur pin motor sebagai output
  pinMode(MOTOR_OUT2_PIN, OUTPUT); // Mengatur pin motor sebagai output
  pinMode(DIPSW_2_PIN, INPUT); // Dipsw_2 menggunakan pull-up resistor
  pinMode(LED_PIN_1, OUTPUT); // Mengatur pin LED 1 sebagai output
  pinMode(LED_PIN_2, OUTPUT); // Mengatur pin LED 2 sebagai output
 
  // Inisialisasi LCD
  lcd.begin(16, 2);
 
  // Attach interrupt untuk Dipsw_2
  attachInterrupt(digitalPinToInterrupt(DIPSW_2_PIN), dipsw2Interrupt, CHANGE);
 
  // Memulai motor berputar ke kanan
  digitalWrite(MOTOR_OUT1_PIN, HIGH);
  digitalWrite(MOTOR_OUT2_PIN, LOW);
}

void loop() {
  // Tampilkan counting dari 50 sampai 0 di LCD
  for (counting; counting >= 0; counting--) {
    lcd.setCursor(0, 0);
    lcd.print("Counting: ");
    lcd.print(counting);
    delay(1000); // Delay 1 detik
   
    // Cek status Dipsw_2 setiap detik
    if (dipsw_2_state) {
      // Berhenti motor selama 3 detik jika Dipsw_2 aktif
      digitalWrite(MOTOR_OUT1_PIN, LOW);
      digitalWrite(MOTOR_OUT2_PIN, LOW);
      digitalWrite(LED_PIN_1, HIGH); // Hidupkan LED 1
      digitalWrite(LED_PIN_2, HIGH); // Hidupkan LED 2
      delay(3000); // Delay 3 detik
     
      // Menghidupkan kembali motor berputar ke kiri setelah 3 detik
      digitalWrite(MOTOR_OUT1_PIN, LOW);
      digitalWrite(MOTOR_OUT2_PIN, HIGH);
      digitalWrite(LED_PIN_1, LOW); // Matikan LED 1
      digitalWrite(LED_PIN_2, LOW); // Matikan LED 2
      delay(5000); // Delay 5 detik
     
      // Menghentikan motor selama 7 detik setelah berputar ke kiri
      digitalWrite(MOTOR_OUT1_PIN, LOW);
      digitalWrite(MOTOR_OUT2_PIN, LOW);
      delay(7000); // Delay 7 detik
     
      // Menghidupkan kembali motor berputar ke kanan setelah 7 detik
      digitalWrite(MOTOR_OUT1_PIN, HIGH);
      digitalWrite(MOTOR_OUT2_PIN, LOW);
     
      // Reset counting ke 50
      counting = 50;
    }
  }
}

// Fungsi interrupt untuk Dipsw_2
void dipsw2Interrupt() {
  // Membaca status Dipsw_2
  dipsw_2_state = digitalRead(DIPSW_2_PIN);
  // Setelah interrupt, reset counting ke 50 dan hentikan motor selama 3 detik
  counting = 50;
  digitalWrite(MOTOR_OUT1_PIN, LOW);
  digitalWrite(MOTOR_OUT2_PIN, LOW);
  digitalWrite(LED_PIN_1, HIGH); // Hidupkan LED 1
  digitalWrite(LED_PIN_2, HIGH); // Hidupkan LED 2
  delay(3000); // Delay 3 detik
}


5. Kondisi [Kembali]

Percobaan 2 Kondisi 6
Percobaan 2 Kondisi 6 :Motor ke kanan  5 detik lalu mati 3 detik berputar ke kiri 5 detik dan mati 7 detik ,LCD menampilkan counting dari 50 sampai 0,interrupt maka counting diulang dari 50 dan motor DC berhenti 3 detik dan 2 led hidup setiap kali dilakukan interrupt

6. Video Simulasi [Kembali]




7. Download File [Kembali]

Download Rangkaian Simulasi Klik Disini

Download HTML Klik Disini

Download Video Percobaan Klik Disini

Download Kodingan Program Klik Disini

Download Datasheet Arduino Klik Disini

Download Datasheet  LCD Klik Disini

Download Datasheet  L293D Klik Disini

Download Datasheet PCF8574 Klik Disini

Download Datasheet  Dip Switch Klik Disini

Download Datasheet  Baterai Klik Disini

Download Datasheet  LED Klik Disini

Download Datasheet  Potensiometer Klik Disini








Tidak ada komentar:

Posting Komentar

Jawaban UTS No.3 Up

     [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan 5. File Download   Jawaban No.3 1. Tu...