// Definición de pines
int segmentPins[] = {19, 21, 17, 5, 18, 22, 23};

// Definición de los números del 0 al 9 para un display de 7 segmentos de cátodo común
byte 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() {
  // Configuración de los pines como salida
  for(int i=0; i<7; i++){
    pinMode(segmentPins[i], OUTPUT);
  }
}

void loop() {
  for(int number=0; number<10; number++){
    displayNumber(number);
    delay(1000); // Espera un segundo
  }
}

void displayNumber(int number) {
  for(int segment=0; segment<7; segment++){
    digitalWrite(segmentPins[segment], numbers[number][segment]);
  }
}