PA 20 00 Display 4 dígitos.

 PA 20 00 Display 4 dígitos. Todos ON.

 IMP.: Ánodo común.

#include <SevSeg.h>  // Solo una vez

SevSeg sevseg;

// Variables globales
int Contador = 0;     // inicio
int espera = 0;        // contador espera
int esperamax = 1000;  // define la velocidad

// Definir los pines para los segmentos y los dígitos
byte numDigits = 4;
byte digitPins[] = {10, 11, 12, 13};
byte segmentPins[] = {9, 2, 3, 5, 6, 8, 7, 4};

bool resistorsOnSegments = true;
bool updateWithDelaysIn = true;
byte hardwareConfig = COMMON_CATHODE;

void setup() {
  sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
  sevseg.setBrightness(90);
}

void loop() {
  // Apagar todos los LEDs de cada segmento
  for (int i = 0; i < numDigits; i++) {
    digitalWrite(digitPins[i], LOW); // Activar el dígito
    for (int j = 0; j < 8; j++) {
      digitalWrite(segmentPins[j], LOW); // Apagar todos los segmentos
    }
    delay(5); // Tiempo para mostrar el estado de apagado en cada dígito
    digitalWrite(digitPins[i], HIGH); // Apagar el dígito después de mostrarlo
  }
 
  // Sistema para aumentar el contador
  espera = espera + 1;
  if (espera == esperamax) {
    espera = 0;
    Contador = Contador + 1;
  }
}

PA 20 01 Display 4 dígitos. Contador.

#include "SevSeg.h"
SevSeg sevseg;

// Variables globales
int Contador = 0;     // Valor inicial
int espera = 0;       // Contador interno de espera
int esperamax = 1000; // Controla la velocidad de cambio

void setup() {
  byte numDigits = 4;
  byte digitPins[] = {10, 11, 12, 13};
  byte segmentPins[] = {9, 2, 3, 5, 6, 8, 7, 4};

  bool resistorsOnSegments = true;
  bool updateWithDelaysIn = true;
  byte hardwareConfig = COMMON_ANODE;  // Cambiado a ánodo común

  sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
  sevseg.setBrightness(90);
}

void loop() {
  // Primero se actualiza el número a mostrar
  sevseg.setNumber(Contador, -1);
  sevseg.refreshDisplay();  // Luego se refresca la pantalla

  // Sistema de retardo por software (no usar delay)
  espera = espera + 1;
  if (espera >= esperamax) {
    espera = 0;
    Contador = Contador + 1;
    if (Contador > 9999) {  // Evita que se pase del límite del display
      Contador = 0;
    }
  }
}