Hola Amigos del foro....Necesito que me den una mano con esto ya que estoy recien iniciando...me hice un contador de 5 digitos y funciona ala perfeccion!! pero necesito coocarle un pulsador para que me frene el conteo y quede congelado en donde este...ya he probado de todo y no lo puedo hacer funcionar para que frene,..me podrian dar alguna sugerencia??? Gracias!!!
Si pones el código será mas sencillo ayudarte...
aca esta el programa:
int pinLatch = 10; //Pin para el latch de los 74CH495
int pinDatos = 11; //Pin para Datos serie del 74CH495
int pinReloj = 12; //Pin para reloj del 74CH495
int i=0; //Número de las decenas
int j=0; //Número de las unidades
int k=0; //Numero de las decimas
int l=0; //Numero de las centesimas
int m=0; //numero de las milesimas
byte digitOne[10]= {
// Codificación hexadecimal de los dígitos decimales en el display de 7 segmentos
0xEE, 0x82, 0xDC, 0xD6, 0xB2, 0x76, 0x7E, 0xC2, 0xFE, 0xF6};
void setup(){
pinMode(pinLatch,OUTPUT);
pinMode(pinDatos,OUTPUT);
pinMode(pinReloj,OUTPUT);
}
void loop(){
// Para que imprima
for(m=0; m<10; m++){ //Aumneta en uno, hasta que llegue a 10, el numero de las milesimas
for(l=0; l<10; l++){ //Aumneta en uno, hasta que llegue a 10, el numero de las centesimas
for(k=0; k<10; k++){ //Aumneta en uno, hasta que llegue a 10, el numero de las decimas
for(i=0; i<10; i++){ //Aumneta en uno, hasta que llegue a 10, el numero de las decenas
for(j=0; j<10; j++){ //Aumneta en uno, hasta que llegue a 10, el numero de las unidades
digitalWrite(pinLatch, LOW);
shiftOut(pinDatos, pinReloj, LSBFIRST, digitOne[m]); // imprime unidades
shiftOut(pinDatos, pinReloj, LSBFIRST, digitOne[l]); //imprime decenas
shiftOut(pinDatos, pinReloj, LSBFIRST, digitOne[k]); //imprime decimas
shiftOut(pinDatos, pinReloj, LSBFIRST, digitOne*); //imprime centesimas*
- shiftOut(pinDatos, pinReloj, LSBFIRST, digitOne[j]); //imprime milesimas*
- digitalWrite(pinLatch, HIGH);*
- delayMicroseonds(500);*
- }*
- }*
- }*
- }*
- }*
}
Es la primera vez que intento ayudar a si que... no se que puede salir.
Creo que si pones un While en el cual le indicas que mientras la lectura del pulsador sea 0 siga con los for y que cuando esa lectura pase a ser 1 pare, no se si esto te puede servir..... nunca he utilizado los shift register.
Un saludo.
while (digitalRead(XXX, LOW){
tu codigo for....
}
Pero que pasó con el código que yo te puse?
En el código que te puse tenias un pulsador que iniciaba y detenía la cuenta.
Surbyte este post lo puse antes de que pusiera el anterior... en el cual vos me diste la solucion!!
Y entonces que persigues? vuelves a este post o esta terminado porque si esta terminado edita el titulo y ponle SOLUCIONADO asi nadie mas escribe en el y si no es molestia, refiere al otro post para que puedan entender de que hablamos tu y yo.
A