// Arduino pins connected to the seven segment display
int pins[] = {2, 3, 4, 5, 6, 7, 8, 9};
// 0-9 for a common anode seven-segment display
byte numbers[] = {
0b11000000, // 0
0b11111001, // 1
0b10100100, // 2
0b10110000, // 3
0b10011001, // 4
0b10010010, // 5
0b10000010, // 6
0b11111000, // 7
0b10000000, // 8
0b10010000 // 9
};
void setup() {
// Set all pins as outputs
for (int i = 0; i < 8; i++) {
pinMode(pins[i], OUTPUT);
}
}
void loop() {
// Cycle through numbers 0-9
for (int i = 0; i < 10; i++) {
showNumber(numbers[i]);
delay(1000); // Wait for 1 second
}
}
void showNumber(byte number) {
for (int i = 0; i < 8; i++) {
// Write each bit of the number to the appropriate pin
digitalWrite(pins[i], bitRead(number, i));
}
}