- Rangkai komponen sesuai percobaan dan kondisi yang dipilih.
- Buat program menggunakan Arduino IDE.
- Compile program yang telah dibuat lalu Upload ke dalam Arduino Uno.
- Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.
- Selesai
2. Hardware dan Diagram Blok
[Kembali]
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Rangkaian simulasi
Prinsip Kerja:
Pada rangkaian tersebut, Dipswitch berperan sebagai input yang terhubung ke pin A0, A1, A2, A3, A4, A5, 12, dan 13 pada Arduino Uno. Sedangkan Dot Matrix berperan sebagai output yang terhubung ke pin 2, 3, dan 4 pada Arduino Uno. Dipswitch diatur sebagai input pull-up sehingga kondisi awal percobaan adalah ketika Dipswitch dalam keadaan mati, memberikan logika High pada Arduino Uno dan Dot Matrix tidak menampilkan apapun. Hal ini terjadi karena pada program dilakukan penkondisian input dimana jika inputan berlogika Low, maka program memberi perintah baris LED dari Dot Matrix untuk hidup. Ketika switch pertama diaktifkan, yang menghasilkan logika Low, sesuai dengan program yang dijalankan, Dot Matrix akan menyalakan LED-nya pada baris pertama. Ketika switch kedua diaktifkan, yang menghasilkan input logika Low, sesuai dengan program yang dijalankan, Dot Matrix akan menyalakan LED-nya pada baris kedua. Begitu seterusnya hingga switch kedelapan menampilkan bahwa semua baris LED menyala.
4. Flowchart dan Listing Program [Kembali]
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
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
}
}
Percobaan 3 Modul 1
6. Video Simulasi [Kembali]
HTML klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet MAX7219 klik disini
Datasheet DotMatrix klik disini
Tidak ada komentar: