// Define the pins connected to each segment of the 7-segment display
const int segmentA = 13;
const int segmentB = 12;
const int segmentC = 11;
const int segmentD = 10;
const int segmentE = 9;
const int segmentF = 8;
const int segmentG = 7;
// Define the numbers to display on the segments
int numbers[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() {
// Initialize all segment pins as outputs
pinMode(segmentA, OUTPUT);
pinMode(segmentB, OUTPUT);
pinMode(segmentC, OUTPUT);
pinMode(segmentD, OUTPUT);
pinMode(segmentE, OUTPUT);
pinMode(segmentF, OUTPUT);
pinMode(segmentG, OUTPUT);
}
void loop() {
// Loop through numbers 0-9
for (int i = 0; i < 10; i++) {
displayNumber(i); // Display the current number
delay(1000); // Display each number for 1 second
}
}
void displayNumber(int num) {
// Get the segments for the current number
int* currentNumber = numbers[num];
// Set the segment pins according to the current number
digitalWrite(segmentA, currentNumber[0]);
digitalWrite(segmentB, currentNumber[1]);
digitalWrite(segmentC, currentNumber[2]);
digitalWrite(segmentD, currentNumber[3]);
digitalWrite(segmentE, currentNumber[4]);
digitalWrite(segmentF, currentNumber[5]);
digitalWrite(segmentG, currentNumber[6]);
}