Percobaan 3
DIP Switch & Dot Matrix
1. Prosedur [Kembali]
- 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
- 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]
Gambar 1. Rangkaian Percobaan 3
1. Arduino Uno
2. Dip Switch
3. Dot Matrix
4. Kabel jumper
=> Diagram Blok:
Dot matrix adalah kumpulan sekelompok lampu LED . Lampu LED dalam suatu dot matrix diatur dalam bentuk baris dan kolom. Pengaturan setiap lampu pada dot matrix dilakukan melalui program Arduino, dimana setiap bit itu hanya merepresentasikan 1 LED. Jika suatu bit itu memiliki nilainya 1, itu berarti LED akan menyala, sedangkan saat bit nilainya 0, nah itu berarti LED akan mati. Dalam program yang diatur di arduino IDE di percobaan ini, saat satu switch digeser, satu baris LED akan dinyalakan.
1. Arduino Uno
2. Dip Switch
3. Dot Matrix
4. Kabel jumper
=> Diagram Blok:
Dot matrix adalah kumpulan sekelompok lampu LED . Lampu LED dalam suatu dot matrix diatur dalam bentuk baris dan kolom. Pengaturan setiap lampu pada dot matrix dilakukan melalui program Arduino, dimana setiap bit itu hanya merepresentasikan 1 LED. Jika suatu bit itu memiliki nilainya 1, itu berarti LED akan menyala, sedangkan saat bit nilainya 0, nah itu berarti LED akan mati. Dalam program yang diatur di arduino IDE di percobaan ini, saat satu switch digeser, satu baris LED akan dinyalakan.
4. Flowchart dan Listing Program [Kembali]
=> Flowchart:
Gambar 4. Flowchart
=> Listing Program :
#include <LedControl.h> //Library untuk LED Dot Matrixconst int DIP_Pins[] = {13, 12, A0, A1, A2, A3, A4, A5}; // Pin DIP switch terhubung ke ArduinoLedControl lc=LedControl(2,3,4,1); // Pin DIN, CLK, LOAD (CS), dan jumlah Dot Matrix yang dihubungkan ke Arduinobyte patterns[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // Pola LED untuk ditampilkanvoid 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}
Ketika satu DIP Switch digeser atau d aktifkan maka satu baris LED dot matrix akan hidup.
=> Flowchart:
Gambar 4. 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
}
Ketika satu DIP Switch digeser atau d aktifkan maka satu baris LED dot matrix akan hidup.



.jpeg)

.jpeg)





Tidak ada komentar:
Posting Komentar