Saludos amigos, espero me puedan ayudar en lo que me falta para terminar este proyecto. El problema que tengo es que lo que manipulo en subrutina no se me guarda para usarlo en subrutinota, osea lo que quiero es definir el numero por el que el cronometro empezara a decrementar. Espero que me ayuden tengo días con este problema y no consigo la solución aqui el codigo:
#define data 2
#define clock 3
#define LATCH 4
const byte digito1[] = { 0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111, 0b1111111, 0b1101111};
const byte digito2[] = { 0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111, 0b1111111, 0b1101111};
const byte digito3[] = { 0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111, 0b1111111, 0b1101111};
const byte digito4[] = { 0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111, 0b1111111, 0b1101111};
int i, j,m,n;
int variable1;
int variable2;
void setup()
{
pinMode(clock, OUTPUT);
pinMode(data , OUTPUT);
pinMode(LATCH, OUTPUT);
pinMode(12,INPUT);
pinMode(11,INPUT);
}
void loop()
{
if(digitalRead(12)==HIGH){
subrutina();
}
if(digitalRead(11)==HIGH){
subrutinota();
}
}
void subrutina(){
for(int i=0; i<10; i++){
for(int j=0; j<10; j=j+5){
if(digitalRead(12)== HIGH){
digitalWrite(LATCH, LOW);
shiftOut(data, clock, MSBFIRST, digito1[j]);
shiftOut(data, clock, MSBFIRST, digito2[i]);
digitalWrite(LATCH, HIGH);
delay(100);
}
}
}
}
void subrutinota(){
variable1 = digito1[j];
variable2 = digito2[i];
for(int m=variable1; m>=0;m--){
for(int n=variable2; n>=0; n--){
for(int a=5; a>=0; a--){
for(int b=9; b>=0; b--){
digitalWrite(LATCH, LOW);
shiftOut(data, clock, MSBFIRST, digito1[a]);
shiftOut(data, clock, MSBFIRST, digito2[b]);
shiftOut(data, clock, MSBFIRST, digito3[n]);
shiftOut(data, clock, MSBFIRST, digito4[m]);
digitalWrite(LATCH, HIGH);
delay(100);
}
}
}
}
}
Nota: este código que monte es uno de tantas pruebas que e hecho pero creo q es por el que voy bien encaminado espero que me aclaren que me falta o cual es el error. Gracias de ante mano