int pinA = 9; //defines the pin number
int pinB =13;
int pinC = 4;
int pinD = 6;
int pinE = 7;
int pinF = 10;
int pinG = 3;
int D1 = 8;
int D2 = 11;
int D3 = 12;
int D4 = 2;
unsigned long int sec1;
unsigned long int sec2;
unsigned long int sec3;
unsigned long int sec4;
unsigned long int counter;
unsigned long int frequency = 1000; // 1HZ
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pins as outputs.
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D4, OUTPUT);
/*digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);*/
}
void loop() {
// put your main code here, to run repeatedly:
//determines the counter
sec4 = (counter/frequency);
sec3 = (counter/(frequency * 10));
sec2 = (counter/(frequency * 100));
sec1 = (counter/(frequency * 1000));
led1(sec1%10); //dispay unit place
delay(5);
led2(sec2%10); // display tenth place
delay(5);
led3(sec3%10); // display hundereth place
delay(5);
led4(sec4%10); // display thousandth place
delay(5);
counter = counter+20;
// delay(200);
}
//define first LED segment to turn on and diplay specific numbers
// Ones Place
void led4(int a){
digitalWrite(D4, LOW);
digitalWrite(D3,LOW);
digitalWrite(D2, LOW);
digitalWrite(D1, LOW);
//switch to the number to call specific it and display
switch (a) {
case 0:
zero();
break;
case 1:
one();
break;
case 2:
two();
break;
case 3:
three();
break;
case 4:
four();
break;
case 5:
five();
break;
case 6:
six();
break;
case 7:
seven();
break;
case 8:
eight();
break;
case 9:
nine();
break;
}
digitalWrite(D4, HIGH);
digitalWrite(D3,LOW);
digitalWrite(D2, LOW);
digitalWrite(D1, LOW);
}
//define second LED segment to turn on and diplay specific numbers
// Tens Place
void led3(int b){
digitalWrite(D4,LOW);
digitalWrite(D3, LOW);
digitalWrite(D2, LOW);
digitalWrite(D1, LOW);
//switch to the number to call specific it and display
switch (b) {
case 0:
zero();
break;
case 1:
one();
break;
case 2:
two();
break;
case 3:
three();
break;
case 4:
four();
break;
case 5:
five();
break;
case 6:
six();
break;
case 7:
seven();
break;
case 8:
eight();
break;
case 9:
nine();
break;
}
digitalWrite(D4,LOW);
digitalWrite(D3, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D1, LOW);
}
// Hundreds Place
void led2(int c){
digitalWrite(D4, LOW);
digitalWrite(D3,LOW);
digitalWrite(D2, LOW);
digitalWrite(D1, LOW);
//switch to the number to call specific it and display
switch (c) {
case 0:
zero();
break;
case 1:
one();
break;
case 2:
two();
break;
case 3:
three();
break;
case 4:
four();
break;
case 5:
five();
break;
case 6:
six();
break;
case 7:
seven();
break;
case 8:
eight();
break;
case 9:
nine();
break;
}
digitalWrite(D4, LOW);
digitalWrite(D3,LOW);
digitalWrite(D2, HIGH);
digitalWrite(D1, LOW);
}
// Thousands Place
void led1(int d){
digitalWrite(D4, LOW);
digitalWrite(D3,LOW);
digitalWrite(D2, LOW);
digitalWrite(D1, LOW);
//switch to the number to call specific it and display
switch (d) {
case 0:
zero();
break;
case 1:
one();
break;
case 2:
two();
break;
case 3:
three();
break;
case 4:
four();
break;
case 5:
five();
break;
case 6:
six();
break;
case 7:
seven();
break;
case 8:
eight();
break;
case 9:
nine();
break;
}
digitalWrite(D4, LOW);
digitalWrite(D3,LOW);
digitalWrite(D2, LOW);
digitalWrite(D1, HIGH);
}
// 0 to 9 number outputs to display on the segment
void zero(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
}
void one(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
}
void two(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
}
void three(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
}
void four(){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
}
void five(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
}
void six(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
}
void seven(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
}
void eight(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
}
void nine(){
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
}