#include <Arduino.h>
const int segments[] = {2, 3, 4, 5, 6, 7, 8}; // Adjust pins based on your connections
void setup()
{
for (int i = 0; i < 7; i++) {
pinMode(segments[i], OUTPUT);
}
}
void loop()
{
// Display numbers from 0 to 9
for (int i = 0; i < 10; i++) {
displayNumber(i);
delay(1000); // Delay of 1 second between numbers
}
}
void displayNumber(int num)
{
// Define segment patterns for each digit
byte digitPatterns[10] = {
B1111110, // 0
B0110000, // 1
// ... other digits
};
// Turn off all segments
for (int i = 0; i < 7; i++)
{
digitalWrite(segments[i], HIGH); // For common anode, use LOW for common cathode
}
// Turn on segments for the current number
byte pattern = digitPatterns[num];
for (int i = 0; i < 7; i++)
{
if (bitRead(pattern, i) == 1)
{
digitalWrite(segments[i], LOW); // For common anode, use HIGH for common cathode
}
}
}