TUGAS PENDAHULUAN MODUL 1 PERCOBAAN 3 KONDISI 5

Modul 1 General Input dan Output


 

  • Buatlah rangkaian sesuai dengan kondisi yang telah dipilih
  • Buat Program pada software Arduino IDE
  • Masukkan program yang telah dibuat pada software Arduino IDE sebagai library Arduino
  • Jalankan rangkaian, sesuai dengan kondisi yang diinginkan

a. Rangkaian Simulasi
Gambar Rangkaian Sebelum Disimulasikan

Gambar Rangkaian Disimulasikan

b. Prinsip Kerja
Pada percobaan 3 kondisi 5, kita menggunakan Dip Switch sebagai input dan Dot Matrix 8x8 sebagai outputnya. Pada rangkaian kali ini, kaki 9-16 Dip Switch terhubung lansung dengan ground dimana kondisi ini disebut normally closed (kondisi default nya terhubung ke ground). Selanjutnya kaki 1 dan 2 Dip Switch terhubung dengan kaki 12 dan 13 arduino dan kaki 3-8 Dip Switch terhubung dengan kaki A0-A5 arduino. 

Selanjutnya kita juga menggunakan driver IC MAX7219 untuk mengontrol display Dot Matrix 8x8. Kaki ISET dan DOUT menuju ke VCC dan GND pada Arduino dan tiga pin lainnya, DIN, CLK, dan LOAD menuju ke pin digital Arduino.
Untuk skematik isi dot marix dapat dilihat pada gambar dibawah
Pada percobaan 3 kondisi 5 sendiri, diminta suatu kondisi ketika 2 switch pada dot matrix aktif, maka akan menampilkan angka 1,2,3 pada Dot Matrix 8x8. Sesuai dengan kondisi yang sudah dimasukkan dalam ARDUINO IDE, 
    patterns[0] = B00000000;
yang berarti untuk menampilkan angka 1,2,3 kita harus menjadikan semua led dot marix pada baris 1 kolom 1,2,3,4,5,6,7,8 menjadi bernilai 0.
    patterns[1] = B10111011;
    patterns[2] = B10001001;
    patterns[3] = B10001001;
    patterns[4] = B10111011;
    patterns[5] = B10100001;
    patterns[6] = B10100001;
    patterns[7] = B10111011;
begitupun selanjutnya hingga baris ke-8
a. Flowchart

b. Listing Program
#include <LedControl.h> //Library untuk LED Dot Matrix

const int DIP_Pins[] = {13, 12, A0, A1, A2, A3, A4, A5}; // Pin DIP switch terhubung ke Arduino
LedControl lc = LedControl(2, 3, 4, 1); // Pin DIN, CLK, LOAD (CS), dan jumlah Dot Matrix yang dihubungkan ke Arduino

byte patterns[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // Pola LED untuk ditampilkan

void setup() {
  for (int i = 0; i < 8; i++) {
    pinMode(DIP_Pins[i], INPUT_PULLUP); // Mengatur pin DIP switch sebagai input dengan pull-up resistor
  }

  lc.shutdown(0, false); // Mengaktifkan display
  lc.setIntensity(0, 8); // Mengatur kecerahan LED (nilai antara 0 dan 15)
  lc.clearDisplay(0); // Membersihkan tampilan dot matrix
}

void loop() {
  // Menghitung jumlah switch yang aktif
  int activeSwitches = 0;
  for (int i = 0; i < 8; i++) {
    if (digitalRead(DIP_Pins[i]) == LOW) {
      activeSwitches++;
    }
  }

  // Menampilkan angka "123" jika 2 switch aktif
  if (activeSwitches == 2) {
    patterns[0] = B00000000;
    patterns[1] = B10111011;
    patterns[2] = B10001001;
    patterns[3] = B10001001;
    patterns[4] = B10111011;
    patterns[5] = B10100001;
    patterns[6] = B10100001;
    patterns[7] = B10111011;
  }
   else {
    // Menampilkan pola default jika ada 3, 5, atau 7 switch yang aktif
    for (int i = 0; i < 8; i++) {
      patterns[i] = 0;
    }
  }

  // Menampilkan pola LED pada dot matrix
  for (int row = 0; row < 8; row++) {
    lc.setRow(0, row, patterns[row]);
  }

  delay(100); // Delay untuk tampilan LED stabil
}
Ketika 2 switch aktif dot matrix akan menampilkan angka 1,2,3


Download HTML klik disini
Download Rangkaian Proteus klik disini
Download Program Arduino klik disini
Download Video klik disini
Download Datasheet Driver IC MAX7219 klik disini
Download Datasheet Arduino klik disini
Download Datasheet Dip Switch klik disini






Komentar

Postingan populer dari blog ini

TUGAS BESAR: KONTROL TANAMAN BAYAM PADA GREEN HOUSE

MODUL 1 : 8 x SWITCH SPDT DAN LCD

MODUL 2 : Kontrol Putaran Motor Stepper