int pins[7]={2,3,4,5,6,7,8}; //Массив задания выводов для подключения сегментов индикатора (0-9)
byte numbers[10] = { B11111100, B01100000, B11011010, B11110010, B01100110,
B10110110, B10111110, B11100000, B11111110, B11110110}; //Массив значений активации сегментов индикатора для отображения цифр
int number=0; //Задание начального значения цифры отображения на индикаторе
void setup()
{
// Конфигурация выходных контактов индикатора
for(int i=0;i<7;i++)
pinMode(pins[i],OUTPUT);
}
void loop()
{
showNumber(number);
delay(1000); //Задержка индикации перед следующей цифрой
number=(number+1)%10; //Счетчик
}
//Функция вывода цифры на семисегментный индикатор
void showNumber(int num)
{
for(int i=0;i<7;i++)
{
if(bitRead(numbers[num],7-i)==HIGH) // Активация соответствующего сегмента индикатора
digitalWrite(pins[i],HIGH);
else //Загасить сегмент индикатора
digitalWrite(pins[i],LOW);
}
}