const int segPins[7] = {2, 3, 4, 5, 6, 7, 8};
const int dp = 9;
// Common Cathode hex codes
byte digitCode[10] = {
0x3F, // 0
0x06, // 1
0x5B, // 2
0x4F, // 3
0x66, // 4
0x6D, // 5
0x7D, // 6
0x07, // 7
0x7F, // 8
0x6F // 9
};
void setup() {
for (int i = 0; i < 7; i++) {
pinMode(segPins[i], OUTPUT);
}
pinMode(dp, OUTPUT);
}
void displayDigit(int num) {
byte code = digitCode[num];
for (int i = 0; i < 7; i++) {
digitalWrite(segPins[i], (code >> i) & 0x01);
}
}
void loop() {
for (int num = 0; num <= 9; num++) {
displayDigit(num);
digitalWrite(dp, HIGH); // DP ON
delay(500);
digitalWrite(dp, LOW); // DP OFF
delay(500);
}
}