// Define segment pins
const int a = 2;
const int b = 3;
const int c = 4;
const int d = 5;
const int e = 6;
const int f = 7;
const int g = 8;
const int dp = 9; // optional, if using the decimal point
void setup() {
// Set all segment pins as outputs
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dp, OUTPUT); // optional
// Display a number (e.g., '0') on the seven-segment display
}
void loop() {
displayDigit(0);
delay(1000);
displayDigit(1);
delay(1000);
displayDigit(2);
delay(1000);
displayDigit(3);
delay(1000);
displayDigit(4);
delay(1000);
displayDigit(5);
delay(1000);
displayDigit(6);
delay(1000);
displayDigit(7);
delay(1000);
displayDigit(8);
delay(1000);
displayDigit(9);
delay(1000);
}
// Function to display a digit on the seven-segment display
void displayDigit(int num) {
// Array to store segment values for digits 0-9
const bool segments[10][7] = {
{LOW, LOW, LOW, LOW, LOW, LOW, HIGH}, // 0
{HIGH, LOW, LOW, HIGH, HIGH, HIGH, HIGH}, // 1
{LOW, LOW, HIGH, LOW, LOW, HIGH, LOW}, // 2
{LOW, LOW, LOW, LOW, HIGH, HIGH, LOW}, // 3
{HIGH, LOW, LOW, HIGH, HIGH, LOW, LOW}, // 4
{LOW, HIGH, LOW, LOW, HIGH, LOW, LOW}, // 5
{LOW, HIGH, LOW, LOW, LOW, LOW, LOW}, // 6
{LOW, LOW, LOW, HIGH, HIGH, HIGH, HIGH}, // 7
{LOW, LOW, LOW, LOW, LOW, LOW, LOW}, // 8
{LOW, LOW, LOW, HIGH, HIGH, LOW, LOW} // 9
};
digitalWrite(a, segments[num][0]);
digitalWrite(b, segments[num][1]);
digitalWrite(c, segments[num][2]);
digitalWrite(d, segments[num][3]);
digitalWrite(e, segments[num][4]);
digitalWrite(f, segments[num][5]);
digitalWrite(g, segments[num][6]);
}