int del=1000,ts=20, n=0;
const int segmentPins[] = {19,21,17,5,18,22,23}; 
const int digitPins[] = {4, 0}; 

const byte digits[10][7] = { // 0-9
  {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() {
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
  for (int i = 0; i < 2; i++) {
    pinMode(digitPins[i], OUTPUT);
  }
}

void loop() {
  n++;
  if(n>99){
    n=0;
  }
  unsigned long tiempoActual = millis();
  unsigned long tiempoAnterior = millis();
  
  while (tiempoActual - tiempoAnterior < del) {
    displayNumber(n);
    tiempoActual = millis();
  }
}

void displayNumber(int number) {
  int tens = number / 10;
  int ones = number % 10;

  // Display tens digit
  displayDigit(tens);
  digitalWrite(digitPins[0], LOW);
  delay(ts);
  digitalWrite(digitPins[0], HIGH);
  
  // Display ones digit
  displayDigit(ones);
  digitalWrite(digitPins[1], LOW);
  delay(ts);
  digitalWrite(digitPins[1], HIGH);
}

void displayDigit(int digit) {
  for (int i = 0; i < 7; i++) {
    digitalWrite(segmentPins[i], digits[digit][i]);
  }
}