Tugas Pendahuluan 1 (Modul 1)
Percobaan 3
Dip Switch dan Dot Matrix
1. Kondisi [Kembali]
Percobaan 3 Kondisi 7
Ketika 3 switch aktif dot matrix akan menampilkan huruf D, R, Z
2. Alat dan Bahan [Kembali]
- Dipswitch-8
- Arduino UNO
- MAX7219
- Dot Matrix 8x8
- VCC
- Ground
- Resistor
3. Gambar Rangkaian Simulasi [Kembali]
4. Flowchart dan Listing Program[Kembali]
#define a 6
#define b 7
#define c 8
#define d 9
#define e 10
#define f 11
#define g 12
#define dp 13
#define D1 4
#define D2 5
#define Dsw1 A0
#define Dsw2 A1
int segments[] = {a, b, c, d, e, f, g};
byte digitPatterns[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 1, 0, 1, 1} // 9
};
int counter1 = 0;
int counter2 = 0;
void setup() {
for (int i = 0; i < 7; i++) {
pinMode(segments[i], OUTPUT);
}
pinMode(dp, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(Dsw1, INPUT_PULLUP);
pinMode(Dsw2, INPUT_PULLUP);
Serial.begin(9600);
}
void number (int display) {
if (display >= 0 && display <= 9) {
for (int i = 0; i < 7; i++) {
digitalWrite(segments[i], digitPatterns[display ][i]);
}
}
}
void loop() {
// Update counter1 and counter2
counter1++;
if (counter1 == 10) {
counter1 = 0;
counter2++;
}
// Tampilkan counter1 pada digit pertama
digitalWrite(D1, HIGH);
number(counter1 % 10);
digitalWrite(D2, LOW);
delay(100);
// Tampilkan counter2 pada digit kedua
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
number(counter2 % 10);
delay(100);
}
5. Video Simulasi [Kembali]
6. Prinsip Kerja Rangkaian [Kembali]
Rangkaian percobaan ini merupakan rangkaian Dip Switch dan 7-Segment. Dip Switch mengatur keluaran dari Dot Matrix. Dimana ketika semua switch pada dip switch berlogika 0, maka akan muncul huruf D. Ketika SW1 berlogika 1, maka muncul huruf R dan ketika SW1 dan SW2 berlogika 1 atau ON, maka muncul huruf Z pada dot matrix.