#include "SevSeg.h"
SevSeg sevseg;
// Variables globales
int Contador = 0; // inicio
int espera = 0; // contador espera
int esperamax = 1000; // define la velocidad
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;
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
sevseg.setBrightness(90);
}
const int Contador = A1; // Pulsador que comenzara a mover el dado
int ContadorEstado = 0; // Estado del pulsador
int ContadorEstadoActual = LOW; // Estado del pulsador actual
int ContadorContador = 0; // Contador de las veces que se ha presionado
long contador = 0;
long max_long_val = 2147483647L;
pinMode(pulsador, INPUT_PULLUP);
Serial.begin(9600);
ContadorEstadoActual = LOW;
}
void loop() {
pulsadorEstado = digitalRead(pulsador);
if (pulsadorEstado == HIGH) {
pulsadorEstado = LOW;
} else {
pulsadorEstado = HIGH;
}
if (pulsadorEstado == HIGH) {
Serial.println("on");
pulsadorEstadoActual = HIGH;
pulsadorContador++;
if (contador & lt; max_long_val)
contador++;
pulsadorContador %= 9;
sevseg.setNumber(pulsadorContador, 1);
sevseg.refreshDisplay();
delay(100 - (contador % 99));
} else {
Serial.println("off");
if (pulsadorEstadoActual == HIGH) {
Serial.println("in");
pulsadorContador++;
pulsadorContador %= 7;
if (pulsadorContador == 0)
pulsadorContador = 1;
contador--;
sevseg.setNumber(pulsadorContador, 1);
sevseg.refreshDisplay();
delay(100 - (contador % 99));
if (contador == 0) {
pulsadorEstadoActual = LOW;
sevseg.setNumber(pulsadorContador, 0);
sevseg.refreshDisplay();
}
}