Percobaan 3 Kondisi 3
LED & SWITCH
1. Foto Hardware dan Diagram Blok [Kembali]
1. Ar7duino Uno
2. DIPSW_8
4. Driver MAX7219
6. Power Supply
7. Ground
Diagram Blok:
2. Prosedur Percobaan [Kembali]
+ Rangkai semua komponen
+ Buat program di aplikasi arduino IDE
+ Setelah selesai masukkan program ke arduino
+ Jalankan program pada simulasi dan cobakan dengan modul
Saat rangkaian tidak dijalankan
Saat 3 button yang ditekan
Saat 2 button yang ditekan
Prinsip Kerja
Pada rangkaian ini menggunakan komponen antara lain yaitu mikrokontroler (ATMEGA328P-PU), DIPSW_8, resistor, MAX7219, dan Dot Matrix.
Mikrokontroler ATMEGA328P-PU adalah inti rangkaian, yang mengelola pengoperasian switch dan Dot Matrix. Switch terhubung ke mikrokontroler melalui pin input analog pada arduino yaitu pin A0 - A5, dan pin input digital yaitu pin 12 - 13.
Ketika 3 switch ditekan, pin input yang sesuai mendeteksi perubahan tegangan dan mengirimkan sinyal ke mikrokontroler. Mikrokontroler kemudian mengirimkan sinyal ke driver MAX7219 sesuai listing program sesuai blok huruf yang ditampilkan, untuk menyalakan Dot Matrix.
Ketika lebih/kurang 3 switch ditekan, mikrokontroler menerima sinyal dari pin input dan mengaktifkan program yang menjalankan listing program yang tidak menyalakan apapun pada Dot Matrix.
4. Flowchart dan Listing Program [Kembali]
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() {
// Menghitung jumlah switch yang aktif
int activeSwitches = 0;
for (int i = 0; i < 8; i++) {
if (digitalRead(DIP_Pins[i]) == LOW) {
activeSwitches++;
}
}
// Menampilkan huruf "D" jika 3 switch aktif
if (activeSwitches == 3) {
patterns[0] = B00000000;
patterns[1] = B00000011;
patterns[2] = B00011110;
patterns[3] = B00101010;
patterns[4] = B00101011;
patterns[5] = B11101010;
patterns[6] = B10101010;
patterns[7] = B11101011;
}
else {
// Menampilkan pola default jika tidak ada 3 switch yang aktif
for (int i = 0; i < 8; i++) {
patterns[i] = 0;
}
}
// 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 1 Kondisi 3 : " Ketika 3 switch aktif, Dot Matrix akan menampilkan huruf d T E "
᭒ HTML↠ klik disini
᭒ Rangkaian↠ klik disini
᭒ Video Percobaan↠ klik disini
᭒ Program↠ klik disini
᭒ Datasheet Arduino↠ klik disini
᭒ Datasheet Push Button↠ klik disini
᭒ Datasheet LED↠ klik disini












Tidak ada komentar:
Posting Komentar