extern int a;
extern int b;
extern int c;
extern int d;
extern int e;
extern int f;
extern int g;
void cero(int retardo) {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH); // Segmento g apagado
delay(retardo);
}
void uno(int retardo) {
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
delay(retardo);
}
void dos(int retardo) {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
delay(retardo);
}
void tres(int retardo) {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
delay(retardo);
}
void cuatro(int retardo) {
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(retardo);
}
void cinco(int retardo) {
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(retardo);
}
void seis(int retardo) {
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(retardo);
}
void siete(int retardo) {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
delay(retardo);
}
void ocho(int retardo) {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(retardo);
}
void nueve(int retardo) {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(retardo);
}
void apagado() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
// Variables booleanas
bool caguama;
bool wicho = true; // Se inicializa a true
int marcador_local = 0;
// Pines para los segmentos del display de 7 segmentos
int a = 2;
int b = 3;
int c = 4;
int d = 5;
int e = 6;
int f = 7;
int g = 8;
// Pines para los botones
int bot1 = 10; // Botón para incrementar
int bot2 = 9; // Botón para decrementar
// Variables para controlar el estado anterior de los botones
int lastBot1State = LOW;
int lastBot2State = LOW;
void setup() {
// Configuración de pines del display como salida
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
// Configuración de los botones como entrada
pinMode(bot1, INPUT);
pinMode(bot2, INPUT);
// Inicializa la variable caguama si wicho está activo
if (wicho) {
caguama = true; // Puedes ajustar esto según tu lógica
}
}
void loop() {
// Leer el estado actual de los botones
int bot1State = digitalRead(bot1);
int bot2State = digitalRead(bot2);
// Lógica para incrementar el contador
if (caguama && bot1State == HIGH && lastBot1State == LOW) {
marcador_local++;
if (marcador_local > 9) {
marcador_local = 0; // Si pasa de 9, vuelve a 0
}
}
// Lógica para decrementar el contador
if (wicho && bot2State == HIGH && lastBot2State == LOW) {
marcador_local--;
if (marcador_local < 0) {
marcador_local = 9; // Si baja de 0, vuelve a 9
}
}
// Guardar los estados actuales de los botones
lastBot1State = bot1State;
lastBot2State = bot2State;
// Mostrar el número actual en el display de 7 segmentos
switch (marcador_local) {
case 0: cero(0); break;
case 1: uno(0); break;
case 2: dos(0); break;
case 3: tres(0); break;
case 4: cuatro(0); break;
case 5: cinco(0); break;
case 6: seis(0); break;
case 7: siete(0); break;
case 8: ocho(0); break;
case 9: nueve(0); break;
}
// Pequeño retardo para evitar rebotes en los botones
delay(200);
}