Laporan Akhir Modul 1 Percobaan 3


Modul 1

General Input dan Output

Percobaan 3


DAFTAR ISI
1. Prosedur
2.Hardware dan diagram blok
3. Rangkaian Simulasi dan Prinsip Kerja
4. Flowchart dan Listing Program
5. Video Demo
6. Kondisi
7. Video Simulasi
8. Download File

 

1. Prosedur [kembali]

  • 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



  • Hardware



  • Diagram Blok



a. Rangkaian Simulasi

b. Prinsip Kerja


Pada percobaan kali ini terdapat dip switch dan dot matriks dimana kaki 1,2 nya itu terhubung dengan kaki 13 dan 12 arduino lalu pada kaki 3 sampai 8 terhubung dengan kaki pada arduino yaitu kaki A0 sampai A5, kemudian dot matriks disini berfungsi sebagai output yang dimana data yang dikirimkan dari arduino tsb, lalu terdapat kaki 9 hingga 16 pada dip switch itulah yang terhubung dengan ground, sesuai dengan kebutuhan dimana kita menggunakan rangkaian pull up dimana dipswitch sudah dari awal aktif dengan keadaan ON (HIGH)




lalu untuk mendisplay dotmatriks yang mana disini adalah output dari rangkaian ini digunakanlah driver IC max7219 , yang terhubung  dari kaki ISET dan DOUT ke VCC dan GND, dan pin lainnya seperti DIN, CLK, dan LOAD, terhubung ke pin digital arduino tersebut.

Pada awalnya kita akan memprogram agar semua pin tidak aktif, Lalu pada program masukkan kode untuk mendisplay 1,2, dan 3

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

byte pattern1[] = { B01000000,B11000000,B01000000,B01000000,B01000000,B01000000,B11100000,}; // Pola LED untuk angka 1
        byte pattern2[] = { B01110000,B10001000,B00001000,B00010000,B00100000,B01000000,B11111000, }; // Pola LED untuk angka 2
        byte pattern3[] = { B11111000,B00010000,B00100000,B00010000,B00001000,B10001000,B01110000 }; // Pola LED untuk angka 3

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 huruf "D" jika 3 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 tidak 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. 
Untuk 2 switch disini bebas yang mana saja dari 8 switch yang ada



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

Tidak ada komentar:

Posting Komentar

 Bahan Presentasi untuk mata kuliah kimia         Oleh : Zhafir Ibnu Tanjung 2010953028     Dosen Pengampu: Darwison...