int A = 2;
int B = 3;
int C = 4;
int D = 6;
int E = 7;
int F = 8;
int G = 9;
int DP = 5;
int satuan = 13;
int puluhan = 12;
int ratusan = 11;
int ribuan = 10;
int KeadaanTombol;
int TombolSebelumnya = 1;
int isiSatuan = 0;
int isiPuluhan = 9;
int isiRatusan = 9;
int isiRibuan = 6;
int buzzer = A1;
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(A0, INPUT_PULLUP);
pinMode(A1, OUTPUT);
digitalWrite(DP, HIGH);
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
Serial.begin(9600);
}
void loop() {
KeadaanTombol = digitalRead(A0);
if (KeadaanTombol != TombolSebelumnya){
if(KeadaanTombol == LOW){
if (isiSatuan == 9){
if(isiPuluhan == 9){
if(isiRatusan ==9){
isiRatusan = -1;
isiRibuan ++;
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
}
isiPuluhan = -1;
isiRatusan ++;
}
isiSatuan = -1;
isiPuluhan ++;
}
isiSatuan ++;
delay(500);
}
}
TambahAngka(isiSatuan);
SatuanNyala();
TambahAngka(isiPuluhan);
PuluhanNyala();
TambahAngka(isiRatusan);
RatusanNyala();
TambahAngka(isiRibuan);
RibuanNyala();
}
void SatuanNyala () { // 7 segment satuan nyala
Serial.println(isiSatuan);
digitalWrite(satuan, HIGH); // segment satuan nyala
digitalWrite(puluhan, LOW);
digitalWrite(ratusan, LOW);
digitalWrite(ribuan, LOW);
digitalWrite(satuan, LOW);
}
void PuluhanNyala () { // 7 segment puluhan nyala
Serial.println(isiPuluhan);
digitalWrite(satuan, LOW);
digitalWrite(puluhan, HIGH); //7 segment puluhan nyala
digitalWrite(ratusan, LOW);
digitalWrite(ribuan, LOW);
digitalWrite(puluhan, LOW);
}
void RatusanNyala () { // 7 segment Ratusan nyala
Serial.println(isiRatusan);
digitalWrite(satuan, LOW);
digitalWrite(puluhan, LOW);
digitalWrite(ratusan, HIGH);// 7 segment Ratusan nyala
digitalWrite(ribuan, LOW);
digitalWrite(ratusan, LOW);
}
void RibuanNyala () { // 7 segment Ribuan nyala
Serial.println(isiRibuan);
digitalWrite(satuan, LOW);
digitalWrite(puluhan, LOW);
digitalWrite(ratusan, LOW);
digitalWrite(ribuan, HIGH);// 7 segment Ribuan nyala
digitalWrite(ribuan, LOW);
}
void TambahAngka (int TampilAngka){
switch (TampilAngka){
case 0:
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
break;
case 1:
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
case 2:
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
break;
case 3:
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
break;
case 4:
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
break;
case 5:
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
break;
case 6:
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
break;
case 7:
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
case 8:
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
break;
case 9:
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
break;
}
}