Hi,
I am little bit newbie to Arduino so I would be verry happy if you would help me ![]()
I am making my stopwatch made out of my own 7 segment LED diplay, I have got there i HW driver for the display (IC 7447) and a memmory for the display to shine all the time.
Could you help me a little bit with the code?
Code: (working just for one place, I need to add the multiplexing)
// Piny pro display
#define A 1
#define B 2
#define C 3
#define D 4
#define CIF1 5
// #define CIF2 6
// #define CIF3 7
// #define CIF4 8
// #define CIF5 9
// #define CIF6 10
int timer = 0;
// Fce pro zobrazovani cislic
void digit0 () {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
};
void digit1 () {
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
};
void digit2 () {
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
};
void digit3 () {
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
};
void digit4 () {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
};
void digit5 () {
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
};
void digit6 () {
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
};
void digit7 () {
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
};
void digit8 () {
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
};
void digit9 () {
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
};
// Case fce pro zobrazeni cislic
void showDigit (int digit) {
switch (digit) {
case 0:
digit0 ();
break;
case 1:
digit1 ();
break;
case 2:
digit2 ();
break;
case 3:
digit3 ();
break;
case 4:
digit4 ();
break;
case 5:
digit5 ();
break;
case 6:
digit6 ();
break;
case 7:
digit7 ();
break;
case 8:
digit8 ();
break;
case 9:
digit9 ();
break;
default:
break;
};
};
// Setup fce pinu
void setup () {
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(CIF1, OUTPUT);
// pinMode(CIF2, OUTPUT);
// pinMode(CIF3, OUTPUT);
// pinMode(CIF4, OUTPUT);
// pinMode(CIF5, OUTPUT);
// pinMode(CIF6, OUTPUT);
};
// Loop fce
void loop () {
if (timer < 10) {
digitalWrite(CIF1, HIGH);
showDigit (timer);
delay (1000);
timer += 1;
}
else {
timer = 0;
digitalWrite(CIF1, HIGH);
showDigit (timer);
delay (1000);
timer += 1;
}
};
Thank you and have a nice day! ![]()