LA M1 Percobaan 3





Percobaan 3
DOTMATRIK & DIP SWITCH


  1. Tentukan peralatan dan bahan yang diperlukan untuk praktikum, seperti Arduino Uno, Dot Matrix, dan Dip Switch. Susun rangkaian sesuai dengan gambaran diagram percobaan yang telah disediakan. Buatlah rancangan kerja rangkaian dengan menggunakan flowchart sebagai panduan. Jalankan simulasi rangkaian sesuai dengan kondisi yang akan diuji pada praktikum.




Arduino Uno

DIP SWITCH

Dotmatrik

Blok Diagram







Rangkaian ini menggunakan Arduino untuk mengontrol display LED Dot Matrix melalui penggunaan DIP switches sebagai input. Setiap DIP switch terhubung ke pin Arduino dan berfungsi sebagai saklar untuk mengatur pencahayaan LED. Pada setiap iterasi loop(), Arduino membaca status dari setiap DIP switch dan mengubah pola LED yang ditampilkan pada dot matrix berdasarkan status saklar yang ditekan.  Jika status saklar dalam posisi ON, pola LED yang sesuai dengan baris yang terhubung dengan saklar tersebut akan diatur untuk menyala penuh, sehingga menghidupkan satu baris pada dot matrix. Sebaliknya, jika saklar dalam posisi OFF, baris LED yang terhubung dengan saklar tersebut akan dimatikan.


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


Modul 1 Percobaan 3: DIP SWITCH & Dotmatrik





Percobaan 3

1.Bagaimana menentukan input dan output pada program Arduino?

Pada program Arduino input output di inisialisasikan dengan mendeklarasikan sebagai input ataupun output menggunakan pinMode() atau library, seperti pada percobaan 3, DIP switch diatur sebagai input dengan menggunakan pinMode(DIP_Pins[i], INPUT_PULLUP). Dengan demikian, Arduino akan membaca nilai dari DIP switches tersebut. Begitupula output yang bisa dideklarasikan menggunakan pinMode() atau library, seperti pada percobaan 3, Dot matrix yang terhubung ke pin DIN, CLK, dan LOAD (CS) diatur sebagai output. Ini dilakukan dengan menggunakan perintah-perintah dari library LedControl. Misalnya, lc.setRow(0, row, patterns[row]) digunakan untuk menampilkan pola LED pada dot matrix

2. Jelaskan kondisi terjadi pada output dan input saat percobaan

Jika salah satu Dip switch dalam posisi ON (dalam kondisi Low), maka Dip switch akan memberi logika low sebagai input arduino di pin yang terhubung ke Dip Switch. Sebaliknya, jika Dip Switch dalam kondisi off (dalam kondisi HIGH karena menggunakan pull-up resistor), maka input yang masuk ke arduino berlogika HIGH. Sesuai program, jika salah satu dip switch on, maka pala LED yang terhubung akan diatur bernilai (B11111111), sebaliknya, jika Dip Switch dalam posisi off maka LED output yang terhubung akan dimatikan.


HTML  [Download]
Rangkaian Proteus [Download]
Listing Program [Download]
Datasheets Komponen [Download]
Library [Download]
Video Demo [Download]


















Tidak ada komentar:

Posting Komentar