[Kembali ke Menu Sebelumnya]


DAFTAR ISI
1. Prosedur
2. Hardware dan Diagram Blok
3. Rangkaian Simulasi dan Prinsip Kerja
4. Flowchart
5. Kondisi
6. Video Simulasi
7. Download File


MODUL 2: PWM, ADC, dan Interrupt
Selasa, 19 Maret 2024
Tugas Pendahuluan 2

1. Prosedur [Daftar Isi]
1. Susunlah susunan komponen dalam perangkat lunak Proteus sesuai dengan kondisi eksperimen.
2. Buatlah skrip untuk perangkat Arduino menggunakan perangkat lunak Arduino IDE.
3. Lakukan proses kompilasi untuk skrip tersebut, kemudian unggah ke perangkat Arduino.
4. Setelah proses pengunggahan selesai, aktifkan simulasi rangkaian dalam perangkat lunak Proteus.

2. Hardware dan Diagram Blok [Daftar Isi]
a) Modul Arduino
b) Motor DC
c) Servo
d) Stepper Motor
e) Driver Motor L293D
f) Seven Segment
g) Dipswitch
h) Keypad
i) Dot Matrix
j) Sensor Infrared

Percobaan 5


3. Rangkaian Simulasi dan Prinsip Kerja [Daftar Isi]
Percobaan 5

Pada kondisi 5, input terdiri dari sensor infrared dan empat switch dengan output berupa dot matriks dan motor DC. Ketika sensor infrared mendeteksi objek (nilai logika 1), pin enable pada IC L293D diaktifkan, memungkinkan interaksi antara switch dan motor. Sesuai program yang dimodifikasi sesuai kondisi yang diminta, switch 1, 2, dan 4 dikendalikan dalam blok if, sementara switch 3 dikendalikan dalam blok else if. Jika posisi switch 1, 2, dan 4 sama dan tiba-tiba diinterupsi oleh switch 3 yang berlawanan, dot matriks menampilkan panah ke bawah dan motor berhenti. Jika tidak, panah ditampilkan ke atas dan motor bergerak ke kanan.

4. Flowchart [Daftar Isi]
Percobaan 5

#include <LedControl.h>
// Inisialisasi modul MAX7219
LedControl lc = LedControl(5, 6, 7, 1); // Pin DIN, CLK, LOAD (CS) dihubungkan ke Arduino
byte patterns[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // Pola LED untuk ditampilkan
// Pengaturan pin untuk dipswitch dan motor
const int infrared = 8;
const int enable = 4;
const int motor1Pin1 = 3;
const int motor1Pin2 = 2;
const int sw1 = A0;
const int sw2 = A1;
const int sw3 = A2;
const int sw4 = A3;

void setup() {
  // Set up dot matrix module
  lc.shutdown(0, false); // Mengaktifkan modul
  lc.setIntensity(0, 8); // Mengatur kecerahan (0-15)
  lc.clearDisplay(0); // Membersihkan tampilan
  // Mengatur pin-pin sebagai output untuk motor
  pinMode(enable, OUTPUT);
  pinMode(infrared, INPUT_PULLUP); // Menggunakan internal pull-up resistor
  pinMode(sw1, INPUT_PULLUP); // Switch 1
  pinMode(sw2, INPUT_PULLUP); // Switch 2
  pinMode(sw3, INPUT_PULLUP); // Switch 3
  pinMode(sw4, INPUT_PULLUP); // Switch 4
  pinMode(motor1Pin1, OUTPUT);
  pinMode(motor1Pin2, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // Membaca nilai dari infrared
  int infrarednya = digitalRead(infrared);
  // Mengendalikan arah motor berdasarkan nilai dipswitch
  if (infrarednya == HIGH) {
    digitalWrite(enable, HIGH);
    if (digitalRead(sw1) == LOW && digitalRead(sw2) == LOW && digitalRead(sw4) == LOW) {
      // Maju (ke kanan)
      digitalWrite(motor1Pin1, HIGH);
      digitalWrite(motor1Pin2, LOW);
      displayArrowUp();
    }
    else if (digitalRead(sw3) == LOW) {
      // Berhenti
      digitalWrite(motor1Pin1, LOW);
      digitalWrite(motor1Pin2, LOW);
      displayArrowDown();
    }
  }
  else {
    digitalWrite(enable, LOW);
  }
}

// Fungsi untuk menampilkan panah ke atas pada dot matrix
void displayArrowUp() {
  byte arrowUp[8] = {
    B00011000,
    B00111100,
    B01111110,
    B11111111,
    B00000000,
    B00000000,
    B00000000,
    B00000000
  };
  for (int row = 0; row < 8; row++) {
    lc.setRow(0, row, arrowUp[row]);
  }
}

// Fungsi untuk menampilkan panah ke bawah pada dot matrix
void displayArrowDown() {
  byte arrowDown[8] = {
    B00000000,
    B00000000,
    B00000000,
    B11111111,
    B01111110,
    B00111100,
    B00011000,
    B00000000
  };
  for (int row = 0; row < 8; row++) {
    lc.setRow(0, row, arrowDown[row]);
  }
}

5. Kondisi [Daftar Isi]
Pada percobaan kali ini, kami melakukan percobaan ke-5 dengan mengontrol kontrol putaran Motor DC dalam kondisi 5, yaitu semua switch pull-up, switch 1, 2, 4 motor ke kanan dan panah ke atas, switch 3 motor dipaksa berhenti dan panah ke bawah.

6. Video Simulasi [Daftar Isi]
Percobaan 5




7. Download File [Daftar Isi]
Untuk HTML di sini
Unduh Rangkaian Simulasi di sini
Unduh Program di sini 
Unduh Library Sensor di sini
Unduh Video Simulasi di sini