Tugas Pendahuluan 1 (M1)

                                    [KEMBALI KE MENU SEBELUMNYA]



1. Prosedur  [back]
Langkah-langkah percobaan :
    1. Siapkan alat dan bahan yaitu dengan komponen yaitu Arduino Uno, 
        Dipswitch, dan dotmarix
    2. Rangkai sesuai gambar percobaan.
    3, Rancang kerja rangkaian sesuai kondisi.
    4. Jalankan simulasi.

2. Hardware dan diagram blok [back]
- Arduino Uno




- Dipswitch



- LCD Dotmatrix



- IC MAX7219



  • Diagram Blok :






3. Rangkaian Simulasi dan Prinsip Kerja  [back]




  • Prinsip Kerja :
    Apabila setiap dipswitch diaktifkan, maka akan ditampilkan setiap baris dari kondisi dipswitch yang aktif. Dan sesuai kondisi pada percobaan, apabila dipswitch yang sedang aktif berjumlah 2, maka mikrokontroller akan memproses menampilkan kombinasi 2, k, 3 pada tampilan output dotmatrix.


4. Flowchart dan Listing Program  [back]

  • Flowchart :




  • 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() {
    // Membaca status DIP switch dan mengupdate pola LED
    int activeSwitches = 0; // Jumlah saklar yang aktif
    for (int i = 0; i < 8; i++) {
        if (digitalRead(DIP_Pins[i]) == LOW) {
            activeSwitches++; // Menghitung jumlah saklar yang aktif
        }
    }

    // Menampilkan angka 2, k, dan 3 secara berurutan jika 2 saklar aktif
    if (activeSwitches == 2) {
        byte pattern1[] = { B00011000,
                            B00100110,
                            B00000110,
                            B00001100,
                            B00011000,
                            B00110000,
                            B11111111,
                            B00000000 }; // Pola LED untuk angka 2
        byte patternK[] = { B00000000,
                            B01001000,
                            B01010000,
                            B01100000,
                            B01010000,
                            B01001000,
                            B01000100,
                            B00000000 }; // Pola LED untuk huruf k
        byte pattern3[] = { B00000000,
                            B01111111,
                            B00000001,
                            B00000001,
                            B01111111,
                            B00000001,
                            B00000001,
                            B01111111 }; // Pola LED untuk angka 3
       
        // Menampilkan angka 2
        for (int i = 0; i < 8; i++) {
            lc.setRow(0, i, pattern1[i]);
            delay(100); // Delay untuk efek tampilan
        }
        // Menampilkan huruf k
        for (int i = 0; i < 8; i++) {
            lc.setRow(0, i, patternK[i]);
            delay(100); // Delay untuk efek tampilan
        }
        // Menampilkan angka 3
        for (int i = 0; i < 8; i++) {
            lc.setRow(0, i, pattern3[i]);
            delay(100); // Delay untuk efek tampilan
        }
    } else {
        // Menampilkan pola LED sesuai dengan status saklar DIP seperti sebelumnya
        for (int i = 0; i < 8; i++) {
            if (digitalRead(DIP_Pins[i]) == LOW) {
                patterns[i] = B11111111; // Mengatur semua LED menyala jika sakelar diaktifkan
            } else {
                patterns[i] = 0; // Mengatur semua LED mati jika sakelar tidak diaktifkan
            }
        }

        // 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
}


   
5. Video Demo  [back]
 


6. Kondisi  [back]

Percobaan 3 (Dipswitch dan LED Dot Matrix) Kondisi 2 :
    Ketika 2 switch aktif dot matrix akan menampilkan kombinasi 2,k,3.
  
7. Video Simulasi  [back]



8. Download File  [back]
Download Video percobaan Di Sini
Download Rangkaian percobaan Di Sini
Download Library Arduino Uno Di Sini
Download Datasheet Arduino Uno Di Sini
Download Datasheet Dotmatrix Di Sini
Download Datasheet IC MAX7219 Di Sini
Download HTML Di Sini

Tidak ada komentar:

Posting Komentar