// Arduino Seven Segment Display (Common Cathode)
// Segments a–g connected to Arduino pins 2–8
int segPins[7] = {2, 3, 4, 5, 6, 7, 8};
// Digit patterns for 0–9 (1 = ON, 0 = OFF)
int digits[10][7] = {
{1,1,1,1,1,1,0}, // 0
{0,1,1,0,0,0,0}, // 1
{1,1,0,1,1,0,1}, // 2
{1,1,1,1,0,0,1}, // 3
{0,1,1,0,0,1,1}, // 4
{1,0,1,1,0,1,1}, // 5
{1,0,1,1,1,1,1}, // 6
{1,1,1,0,0,0,0}, // 7
{1,1,1,1,1,1,1}, // 8
{1,1,1,1,0,1,1} // 9
};
void setup() {
// Set all pins as OUTPUT
for (int i = 0; i < 7; i++) {
pinMode(segPins[i], OUTPUT);
}
}
void loop() {
// Loop through numbers 0–9
for (int num = 0; num < 10; num++) {
displayDigit(num);
delay(1000); // Hold each number for 1 second
}
}
// Function to light up segments for a given digit
void displayDigit(int num) {
for (int i = 0; i < 7; i++) {
digitalWrite(segPins[i], digits[num][i]);
}
}