Modul 2
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
Flowchart :
Listing Program :
#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
#define Dsw3 A2
#define Dsw4 A3
bool sw1, sw2, sw3, sw4;
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, 1, 1, 0, 1}, // d
{0, 0, 0, 1, 1, 1, 1}, // t
{1, 1, 0, 1, 1, 1, 1}, // e
};
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);
pinMode(Dsw3, INPUT_PULLUP);
pinMode(Dsw4, 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() {
int sw1 = digitalRead(Dsw1);
int sw2 = digitalRead(Dsw2);
int sw3 = digitalRead(Dsw3);
int sw4 = digitalRead(Dsw4);
static int digit = 1; // Digit yang sedang ditampilkan (1 atau 2)
static unsigned long lastTime = 0; // Waktu terakhir pembacaan tombol
if (sw1 == LOW && sw2 == LOW && sw3 == LOW) {
if (millis() - lastTime >= 1000) { // Debouncing
lastTime = millis();
if (digit == 1) {
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
for (int i = 0; i <= 3; i++) {
number(i);
delay(1000); // Delay agar Anda bisa melihat perubahan digit
}
digit = 2;
} else {
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
for (int i = 4; i <= 6; i++) {
number(i);
delay(1000); // Delay agar Anda bisa melihat perubahan digit
}
digit = 1;
}
}
} else {
if (millis() - lastTime > 1000) { // Debouncing
lastTime = millis();
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
}
}
}
5. Kondisi [Kembali]
Saat 3 Switch aktif maka, 7-segment menampilkan kombinasi d,t,e setelah hitung maju sampai 3.
.png)


.png)

.png)

.png)

.png)

Tidak ada komentar:
Posting Komentar