Teknik Elektro

Tugas Pendahuluan 2 Modul 2 Praktikum uP uC

RAISHA ADINI_2110953023
TUGAS PENDAHULUAN 2



MODUL 2
PERCOBAAN 5 KONDISI 2

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]
   a. hardware
                                                                        
1. SW SPDT
2. Arduino Uno
3. Driver Motor L293D
4. Motor DC
5. Max7219
6. Dot Matrix

  b. Digram Blok

3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

Rangkaian Sebelum Simulasi

Rangkaian Setelah Simulasi

                                        



Prinsip Kerja 

 
    Rangkaian ini disusun dalam bentuk INPUT PULL DOWN. Yang mana switch menerima tegangan eksternal, sedangkan resistor dihubungkan ke ground. Resistor terletak di antara switch dan arduino, secara konsep saat arus akan mengalir dari potensial  tinggi ke rendah. Sehingga saat switch aktif maka tegangan eksternal akan mengalir melalui switch dan tidak akan menuju ke gorund karena terdapat hambatan. Sehingga input pada arduino  saat switfh ON adalah berlogika HIGH. Sedangkan saat switch OFF maka arduino tidak akan memperoleh tegangan eksternal, sehingga input pada ardunio berlogika LOW. Resistor Pull Down dan Pull Up ini berbanding terbalik. 
    Program dan rangkaian kontrol motor DC yang diberikan menggunakan Arduino dan modul MAX7219 untuk mengendalikan motor dan menampilkan grafik pada dot matrix.
Pertama proses nisialisasi, modul MAX7219 diatur dengan menggunakan objek LedControl yang dideklarasikan pada baris pertama. Kemudian, pin-pin yang terhubung ke switch dan motor diatur dengan menentukan pin-pin tersebut sebagai input atau output. kemudian masuk ke dalam fungsi loop(), yang akan terus berjalan secara terus-menerus selama mikrokontroler aktif. Di dalam loop(), nilai dari setiap switch (switch1 hingga switch4) dibaca dengan menggunakan fungsi digitalRead(). Setelah membaca nilai dari setiap switch, selanjutnya pengecekan terhadap keadaan switch. Jika semua switch dalam keadaan aktif (HIGH), maka motor dimatikan dan display pada dot matrix dihapus (baris 24-27). Jika tidak, program memeriksa kombinasi switch yang aktif untuk menentukan arah gerakan motor.
Kondisi kontrol putaran motor DC :
  • Jika switch1 dan switch3 aktif, motor diatur untuk bergerak ke arah kanan
  • Jika switch2 dan switch4 aktif, fungsi displayArrowRight() dipanggil untuk menampilkan gambar panah ke kanan pada dot matrix, dan motor dibiarkan dalam keadaan diam
Gambar panah disimpan dalam bentuk array byte (arrowRight) dan kemudian ditampilkan baris per baris menggunakan metode setRow() dari objek LedControl.
4. FlowChart [Kembali]

a. Listing Program 

#include <LedControl.h>

// Inisialisasi modul MAX7219
LedControl lc = LedControl(5, 6, 7, 1); // Pin DIN, CLK, LOAD (CS) dihubungkan ke Arduino

const int switch1Pin = A0; // Switch 1 connected to pin A0
const int switch2Pin = A1; // Switch 2 connected to pin A1
const int switch3Pin = A2; // Switch 3 connected to pin A2
const int switch4Pin = A3; // Switch 4 connected to pin A3

const int pin3Output = 3; // Output pin connected to pin 3 (motor control)
const int pin4Output = 4; // Output pin connected to pin 4 (motor control)

const int motor1Pin1 = 2;
const int motor1Pin2 = 3;

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

  // Set up pins for motor
  pinMode(pin3Output, OUTPUT);
  pinMode(pin4Output, OUTPUT);
  pinMode(motor1Pin1, OUTPUT);
  pinMode(motor1Pin2, OUTPUT);

  pinMode(switch1Pin, INPUT);
  pinMode(switch2Pin, INPUT);
  pinMode(switch3Pin, INPUT);
  pinMode(switch4Pin, INPUT);

  Serial.begin(9600);
}

void loop() {
  int switch1State = digitalRead(switch1Pin);
  int switch2State = digitalRead(switch2Pin);
  int switch3State = digitalRead(switch3Pin);
  int switch4State = digitalRead(switch4Pin);

  // Check if all switches are active (LOW)
  if (switch1State == HIGH && switch2State == HIGH && switch3State == HIGH && switch4State == HIGH) {
    digitalWrite(pin3Output, LOW);
    digitalWrite(pin4Output, LOW);
    lc.clearDisplay(0);
  } else {
    if (switch1State == HIGH && switch3State == HIGH) {
      digitalWrite(pin3Output, HIGH);
      digitalWrite(pin4Output, LOW);
      lc.clearDisplay(0);
    } else {
      digitalWrite(pin3Output, LOW);
    }

    if (switch2State == HIGH && switch4State == HIGH) {
      digitalWrite(pin3Output, LOW);
      digitalWrite(pin4Output, LOW);
      displayArrowRight();
    }
  }
}

void displayArrowRight() {
  byte arrowRight[8] = {
    B00011000,
    B00001100,
    B00000110,
    B11111111,
    B00000110,
    B00001100,
    B00011000,
    B00000000
  };
  for (int row = 0; row < 8; row++) {
    lc.setRow(0, row, arrowRight[row]);
  }
  delay(500);
  lc.clearDisplay(0);
  delay(500);
}

b. Flowchart




5. Kondisi [Kembali]

Kondisi  →Percobaan 5 Kondisi 2

        Semua Switch pull-down, switch 1 dan 3 motor ke kanan, switch 2 dan 4 panah ke kanan

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 Driver Motor L293D klik disini
Download Datasheet dotmatrix klik disini
Download Datasheet MAX7219 klik disini
Download Datasheet  motor dc klik disini

Tidak ada komentar:

Posting Komentar

Smart Smoking Room Encoder Decoder

KONTROL SMART SMOKING ROOM [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan ...