TP 1

    [KEMBALI KE MENU SEBELUMNYA]  




1. Prosedur  [back]

Langkah-langkah percobaan :

1. Siapkan alat dan bahan yaitu dengan komponen utama Arduino Uno, dipswitch, IC Max 7219, led dot matrix

2. Rangkai sesuai gambar percobaan

3. Rancang kerja rangkaian sesuai flowchat

4. Tekan tombol “Play” untuk menjalankan simulasi


2. Hardware dan diagram blok [back]

  • 1. dipswitch
  • 2. arduino una
  • 3. resitor 
  • 4. power supply
  • 5. ground
  • 6. IC Max7219 
  • 7. LED dot matrix

3. Rangkaian Simulasi dan Prinsip Kerja  [back]








 Prinsip Kerja


4. Flowchart dan Listing Program  [back]
Flowchart :






  • LISTING PROGRAM 
#include <LedControl.h>

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 pattern5[] = {B11111110, B10000000, B10000000, B11111100, B00000010, B00000010, B00000010, B11111100}; // Pola untuk angka 5
byte pattern7[] = {B11111110, B00000010, B00000010, B00000010, B00000010, B00000010, B00000010, B00000010}; // Pola untuk angka 7

void displayNumber(byte pattern[]); // Deklarasi fungsi displayNumber()

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() {
  boolean anySwitchActive = false; // Flag untuk menandakan apakah salah satu switch aktif

  // Membaca status DIP switch
  for (int i = 0; i < 8; i++) {
    if (digitalRead(DIP_Pins[i]) == LOW) {
      anySwitchActive = true; // Setel flag jika salah satu switch aktif
      break; // Hentikan iterasi jika sudah ditemukan switch aktif
    }
  }

  // Menampilkan pola LED pada dot matrix sesuai dengan status switch
  if (anySwitchActive) {
    displayNumber(pattern5); // Menampilkan angka 5 pada dot matrix
    delay(1000); // Delay agar angka 5 ditampilkan selama 1 detik
    displayNumber(pattern7); // Menampilkan angka 7 pada dot matrix
    delay(1000); // Delay agar angka 7 ditampilkan selama 1 detik
    displayNumber(pattern7); // Menampilkan angka 7 pada dot matrix
    delay(1000); // Delay agar angka 7 ditampilkan selama 1 detik
  } else {
    lc.clearDisplay(0); // Membersihkan dot matrix jika tidak ada switch yang aktif
  }
}

// Fungsi untuk menampilkan pola pada dot matrix
void displayNumber(byte pattern[]) {
  for (int row = 0; row < 8; row++) {
    lc.setRow(0, row, pattern[row]);
  }
}



5. Kondisi  [back]
  
Percobaan 3 Kondisi 4 ketika 1 switch aktif dot matriks akan menampilkan angka 5,7,7

6. Video Simulasi  [back]




7. Download File  [back]
HTML Disini
Simulasi Disini
Video Simulasi Disini
Listing Program Disini





Tidak ada komentar:

Posting Komentar