int a = 2;
int b = 3;
int c = 4;
int d = 5;
int e = 6;
int f = 8;
int g = 7;
int pt = 9;
int boton = 12;
int contador = 0;
int direccion = 1;
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(pt, INPUT);
pinMode(boton, INPUT_PULLUP);
}
void escribirEnElDisplay(int va, int vb, int vc, int vd, int ve, int vf, int vg) {
digitalWrite(a, !va);
digitalWrite(b, !vb);
digitalWrite(c, !vc);
digitalWrite(d, !vd);
digitalWrite(e, !ve);
digitalWrite(f, !vf);
digitalWrite(g, !vg);
}
void loop() {
// Leer el estado del botón
int estadoBoton = digitalRead(boton);
// Si el botón está presionado (asumiendo LOW significa presionado)
if (estadoBoton == LOW) {
// Pausar el contador, no hacer nada
return;
}
// Si el botón no está presionado, continuar con el contador
switch (contador) {
case 0:
escribirEnElDisplay(1, 1, 1, 1, 1, 1, 0);
break;
case 1:
escribirEnElDisplay(0, 1, 1, 0, 0, 0, 0);
break;
case 2:
escribirEnElDisplay(1, 1, 0, 1, 1, 0, 1);
break;
case 3:
escribirEnElDisplay(1, 1, 1, 1, 0, 0, 1);
break;
case 4:
escribirEnElDisplay(0, 1, 1, 0, 0, 1, 1);
break;
case 5:
escribirEnElDisplay(1, 0, 1, 1, 0, 1, 1);
break;
case 6:
escribirEnElDisplay(1, 0, 1, 1, 1, 1, 1);
break;
case 7:
escribirEnElDisplay(1, 1, 1, 0, 0, 0, 0);
break;
case 8:
escribirEnElDisplay(1, 1, 1, 1, 1, 1, 1);
break;
case 9:
escribirEnElDisplay(1, 1, 1, 1, 0, 1, 1);
break;
}
delay(500);
contador += direccion;
if (contador > 9) {
direccion = -1;
contador = 8;
} else if (contador < 0) {
direccion = 1;
}
}