Percobaan 3
1. Foto Hardware dan Diagram Blok [Kembali]
2. Prosedur Percobaan [Kembali]
- Siapkan alat dan bahan yang akan digunakan pada saat praktikum seperti Arduino Uno, Dotmatrik, dan Dip switch
- Rangkai sesuai gambar percobaan
- Rancang kerja rangkaian menggunakan flowchart
- Running rangkaian simulasi sesuai dengan kondisi pada saat praktikum
Rangkaian Simulasi
Prinsip Kerja
Pertama-tama, setiap saklar pada dipswitch harus terhubung dengan pin input digital. Pada kondisi ini, enam dipswitch digunakan. Program pada Arduino IDE dijalankan untuk membaca status setiap pin (on/off) yang terhubung ke dipswitch. Ketika Arduino membaca status dipswitch, data tersebut akan dikirim ke dot matrix. Dot matrix akan menampilkan LED yang menyala sesuai dengan saklar yang diaktifkan Terdapat beberapa pin yang ada pada dot matrik 8x8, yaitu:
VCC adalah pin yang menyediakan tegangan positif dan terhubung ke sumber daya dengan nilai +5V. GND (ground) merupakan pin yang membawa tegangan negatif dan terhubung ke ground dengan nilai 0V. DIN (Data Input) adalah pin input data yang digunakan untuk mengirimkan data yang mengontrol LED. CLK (Clock) adalah pin yang mengatur waktu dan sinkronisasi pengiriman data ke dot matrix. CS (Chip Select) adalah pin yang memberikan sinyal ke dot matrix untuk menandakan bahwa data yang dikirim sudah lengkap dan siap untuk ditampilkan..
4. Flowchart dan Listing Program [Kembali]
#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
Download HTML
Download Program
Download Video Simulasi
Download Gambar simulasi
No comments:
Post a Comment