Percobaan 3 Kondisi 7
DIP SWITCH DAN LED DOT MATRIX
1. Prosedur [Kembali]
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- Jalankan program pada simulasi dan cobakan sesuai kondisi
- Rangkaian
- Prinsip Kerja
- Listing Program
#include <LedControl.h> // Library untuk LED Dot Matrix
const int DIP_Pins[] = {13, 12, 11}; // 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
byte DPattern[8] = {
B11111110,
B11111111,
B11000011,
B11000011,
B11000011,
B11000011,
B11111111,
B11111110
};
byte RPattern[8] = {
B11111110,
B11111111,
B11000011,
B11111110,
B11111100,
B11001110,
B11000111,
B11000011
};
byte ZPattern[8] = {
B11111111,
B11111111,
B00000011,
B00001100,
B00011000,
B00110000,
B11111111,
B11111111
};
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 menampilkan pola LED yang sesuai
if (digitalRead(DIP_Pins[0]) == LOW) {
displayPattern(DPattern);
} else if (digitalRead(DIP_Pins[1]) == LOW) {
displayPattern(RPattern);
} else if (digitalRead(DIP_Pins[2]) == LOW) {
displayPattern(ZPattern);
} else {
displayPattern(patterns); // Menampilkan pola normal jika tidak ada switch yang aktif
}
delay(100); // Delay untuk tampilan LED stabil
}
void displayPattern(byte pattern[]) {
// Menampilkan pola LED pada dot matrix
for (int row = 0; row < 8; row++) {
lc.setRow(0, row, pattern[row]);
}
}
Video Simulasi klik disini
Listring Program klik disini
Tidak ada komentar:
Posting Komentar