Percobaan 3 Kondisi 3

LED & SWITCH

1. Foto Hardware dan Diagram Blok [Kembali]

        1. Ar7duino Uno
        2. DIPSW_8
        3. DOT MATRIX 8X8
        4. Driver MAX7219
      5. Resistor
        6. Power Supply


      7. Ground



Diagram Blok:






2. Prosedur Percobaan  [Kembali]

+ Rangkai semua komponen 
+ Buat program di aplikasi arduino IDE
+ Setelah selesai masukkan program ke arduino 
+ Jalankan program pada simulasi dan cobakan dengan modul


Saat rangkaian tidak dijalankan
Saat 3 button yang ditekan
Saat 2 button yang ditekan

Prinsip Kerja

Pada rangkaian ini menggunakan komponen antara lain yaitu mikrokontroler (ATMEGA328P-PU), DIPSW_8, resistor, MAX7219, dan Dot Matrix.

Mikrokontroler ATMEGA328P-PU adalah inti rangkaian, yang mengelola pengoperasian switch dan Dot Matrix. Switch terhubung ke mikrokontroler melalui pin input analog pada arduino yaitu pin A0 - A5, dan pin input digital yaitu pin 12 - 13.

Ketika 3 switch ditekan, pin input yang sesuai mendeteksi perubahan tegangan dan mengirimkan sinyal ke mikrokontroler. Mikrokontroler kemudian mengirimkan sinyal ke driver MAX7219 sesuai listing program sesuai blok huruf yang ditampilkan, untuk menyalakan Dot Matrix. 
Ketika lebih/kurang 3 switch ditekan, mikrokontroler menerima sinyal dari pin input dan mengaktifkan program yang menjalankan listing program yang tidak menyalakan apapun pada Dot Matrix.

4. Flowchart dan Listing Program [Kembali]


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 huruf "D" jika 3 switch aktif
  if (activeSwitches == 3) {
    patterns[0] = B00000000;
    patterns[1] = B00000011;
    patterns[2] = B00011110;
    patterns[3] = B00101010;
    patterns[4] = B00101011;
    patterns[5] = B11101010;
    patterns[6] = B10101010;
    patterns[7] = B11101011;
  }
   else {
    // Menampilkan pola default jika tidak ada 3 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
}


---


5. Kondisi [Kembali]

    Percobaan 1 Kondisi 3 : " Ketika 3 switch aktif, Dot Matrix akan menampilkan huruf d T E "

᭒ HTML↠ klik disini

Rangkaian↠ klik disini

᭒ Video Percobaan↠ klik disini

Program↠ klik disini

᭒ Datasheet Arduino↠ klik disini

᭒ Datasheet Push Button↠ klik disini

᭒ Datasheet LED↠ klik disini

Tidak ada komentar:

Posting Komentar

DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Percobaan ... Tugas Pendahulu...