// Mengatur pin untuk Seven Segmen
const int seg1A = 2;
const int seg1B = 3;
const int seg1C = 4;
const int seg1D = 5;
const int seg1E = A2;
const int seg1F = A3;
const int seg1G = A4;
const int seg2A = 9;
const int seg2B = 10;
const int seg2C = 11;
const int seg2D = 12;
const int seg2E = 13;
const int seg2F = A0;
const int seg2G = A1;
const int reset = 6;
int start =0;
int seconds = 1;
int counter=0;
int stop = 0;
int delays=0;
int hitungdelay=0;
void setup() {
Serial.begin(9600);
pinMode(reset, INPUT_PULLUP);
pinMode(seg1A, OUTPUT);
pinMode(seg1B, OUTPUT);
pinMode(seg1C, OUTPUT);
pinMode(seg1D, OUTPUT);
pinMode(seg1E, OUTPUT);
pinMode(seg1F, OUTPUT);
pinMode(seg1G, OUTPUT);
pinMode(seg2A, OUTPUT);
pinMode(seg2B, OUTPUT);
pinMode(seg2C, OUTPUT);
pinMode(seg2D, OUTPUT);
pinMode(seg2E, OUTPUT);
pinMode(seg2F, OUTPUT);
pinMode(seg2G, OUTPUT);
}
void loop() {
if(start ==0){
digitalWrite(seg1A, HIGH);
digitalWrite(seg1B, HIGH);
digitalWrite(seg1C, HIGH);
digitalWrite(seg1D, HIGH);
digitalWrite(seg1E, HIGH);
digitalWrite(seg1F, HIGH);
digitalWrite(seg1G, LOW);
digitalWrite(seg2A, HIGH);
digitalWrite(seg2B, HIGH);
digitalWrite(seg2C, HIGH);
digitalWrite(seg2D, HIGH);
digitalWrite(seg2E, HIGH);
digitalWrite(seg2F, HIGH);
digitalWrite(seg2G, LOW);
start=1;
}
if(stop == 0){
if(seconds==1){
digitalWrite(seg2A, HIGH);
digitalWrite(seg2B, LOW);
digitalWrite(seg2C, LOW);
digitalWrite(seg2D, HIGH);
digitalWrite(seg2E, HIGH);
digitalWrite(seg2F, HIGH);
digitalWrite(seg2G, HIGH);
if(delays==1000){
seconds=seconds+1;
delays=0;
}
}
if(seconds==2){
digitalWrite(seg2A, LOW);
digitalWrite(seg2B, LOW);
digitalWrite(seg2C, HIGH);
digitalWrite(seg2D, LOW);
digitalWrite(seg2E, LOW);
digitalWrite(seg2F, HIGH);
digitalWrite(seg2G, LOW);
if(delays==1000){
seconds=seconds+1;
delays=0;
}
}
if(seconds==3){
digitalWrite(seg2A, LOW);
digitalWrite(seg2B, LOW);
digitalWrite(seg2C, LOW);
digitalWrite(seg2D, LOW);
digitalWrite(seg2E, HIGH);
digitalWrite(seg2F, HIGH);
digitalWrite(seg2G, LOW);
if(delays==1000){
seconds=seconds+1;
delays=0;
}
}
if(seconds==4){
digitalWrite(seg2A, HIGH);
digitalWrite(seg2B, LOW);
digitalWrite(seg2C, LOW);
digitalWrite(seg2D, HIGH);
digitalWrite(seg2E, HIGH);
digitalWrite(seg2F, LOW);
digitalWrite(seg2G, LOW);
if(delays==1000){
seconds=seconds+1;
delays=0;
}
}
if(seconds==5){
digitalWrite(seg2A, LOW);
digitalWrite(seg2B, HIGH);
digitalWrite(seg2C, LOW);
digitalWrite(seg2D, LOW);
digitalWrite(seg2E, HIGH);
digitalWrite(seg2F, LOW);
digitalWrite(seg2G, LOW);
if(delays==1000){
seconds=seconds+1;
delays=0;
}
}
if(seconds==6){
digitalWrite(seg2A, LOW);
digitalWrite(seg2B, HIGH);
digitalWrite(seg2C, LOW);
digitalWrite(seg2D, LOW);
digitalWrite(seg2E, LOW);
digitalWrite(seg2F, LOW);
digitalWrite(seg2G, LOW);
if(delays==1000){
seconds=seconds+1;
delays=0;
}
}
if(seconds==7){
digitalWrite(seg2A, LOW);
digitalWrite(seg2B, LOW);
digitalWrite(seg2C, LOW);
digitalWrite(seg2D, HIGH);
digitalWrite(seg2E, HIGH);
digitalWrite(seg2F, HIGH);
digitalWrite(seg2G, HIGH);
if(delays==1000){
seconds=seconds+1;
delays=0;
}
}
if(seconds==8){
digitalWrite(seg2A, LOW);
digitalWrite(seg2B, LOW);
digitalWrite(seg2C, LOW);
digitalWrite(seg2D, LOW);
digitalWrite(seg2E, LOW);
digitalWrite(seg2F, LOW);
digitalWrite(seg2G, LOW);
if(delays==1000){
seconds=seconds+1;
delays=0;
}
}
if(seconds==9){
digitalWrite(seg2A, LOW);
digitalWrite(seg2B, LOW);
digitalWrite(seg2C, LOW);
digitalWrite(seg2D, LOW);
digitalWrite(seg2E, HIGH);
digitalWrite(seg2F, LOW);
digitalWrite(seg2G, LOW);
if(delays==1000){
if(counter==9 && seconds ==9){
stop=1;
}else{
counter=counter+1;
seconds=0;
}
delays=0;
}
if(counter==1){
digitalWrite(seg1A, HIGH);
digitalWrite(seg1B, LOW);
digitalWrite(seg1C, LOW);
digitalWrite(seg1D, HIGH);
digitalWrite(seg1E, HIGH);
digitalWrite(seg1F, HIGH);
digitalWrite(seg1G, HIGH);
}
if(counter==2){
digitalWrite(seg1A, LOW);
digitalWrite(seg1B, LOW);
digitalWrite(seg1C, HIGH);
digitalWrite(seg1D, LOW);
digitalWrite(seg1E, LOW);
digitalWrite(seg1F, HIGH);
digitalWrite(seg1G, LOW);
}
if(counter==3){
digitalWrite(seg1A, LOW);
digitalWrite(seg1B, LOW);
digitalWrite(seg1C, LOW);
digitalWrite(seg1D, LOW);
digitalWrite(seg1E, HIGH);
digitalWrite(seg1F, HIGH);
digitalWrite(seg1G, LOW);
}
if(counter==4){
digitalWrite(seg1A, HIGH);
digitalWrite(seg1B, LOW);
digitalWrite(seg1C, LOW);
digitalWrite(seg1D, HIGH);
digitalWrite(seg1E, HIGH);
digitalWrite(seg1F, LOW);
digitalWrite(seg1G, LOW);
}
if(counter==5){
digitalWrite(seg1A, LOW);
digitalWrite(seg1B, HIGH);
digitalWrite(seg1C, LOW);
digitalWrite(seg1D, LOW);
digitalWrite(seg1E, HIGH);
digitalWrite(seg1F, LOW);
digitalWrite(seg1G, LOW);
}
if(counter==6){
digitalWrite(seg1A, LOW);
digitalWrite(seg1B, HIGH);
digitalWrite(seg1C, LOW);
digitalWrite(seg1D, LOW);
digitalWrite(seg1E, LOW);
digitalWrite(seg1F, LOW);
digitalWrite(seg1G, LOW);
}
if(counter==7){
digitalWrite(seg1A, LOW);
digitalWrite(seg1B, LOW);
digitalWrite(seg1C, LOW);
digitalWrite(seg1D, HIGH);
digitalWrite(seg1E, HIGH);
digitalWrite(seg1F, HIGH);
digitalWrite(seg1G, HIGH);
}
if(counter==8){
digitalWrite(seg1A, LOW);
digitalWrite(seg1B, LOW);
digitalWrite(seg1C, LOW);
digitalWrite(seg1D, LOW);
digitalWrite(seg1E, LOW);
digitalWrite(seg1F, LOW);
digitalWrite(seg1G, LOW);
}
if(counter==9){
digitalWrite(seg1A, LOW);
digitalWrite(seg1B, LOW);
digitalWrite(seg1C, LOW);
digitalWrite(seg1D, LOW);
digitalWrite(seg1E, HIGH);
digitalWrite(seg1F, LOW);
digitalWrite(seg1G, LOW);
}
}
if(seconds==0){
digitalWrite(seg2A, LOW);
digitalWrite(seg2B, LOW);
digitalWrite(seg2C, LOW);
digitalWrite(seg2D, LOW);
digitalWrite(seg2E, LOW);
digitalWrite(seg2F, LOW);
digitalWrite(seg2G, HIGH);
if(delays==1000){
seconds=1;
delays=0;
}
}
}
if(delays<=1000){
delays=delays+1;
}
}