Autor Tema: Niple 6.2 y teclado matricial. Ayudita.  (Leído 3650 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Niple 6.2 y teclado matricial. Ayudita.
« en: 23 de Diciembre de 2015, 20:16:22 »
Hola a todos. Estoy renegando con este programita que paso a contar en que consiste  así algún alma caritativa, que aquí a muchas, se apiada de mi.
Pic 16f628 con reloj int.
Teclado matricial 3x4.
a) El registro "pass2" guarda un numero decimal= 258
b) Si oprimo las teclas 2,5 y 8 deberían los bit RA2, RA3 recibir un "1" y el bit RA4 parpadear 10 veces.
c) Tambien tiene otras cosas para que indique, al momento de probarlo, que las teclas son leidas tan es el caso del RA3 que    parpadea cada vez que oprimo una tecla y si oprimo la tecla "5" parpadea el RB0.
Resultado: oprimo 2,5 y 8, solo funciona el sector c). a) y b) no me da ni cinco....

Adjunto el .npl  que lo llamé "password" y espero algo.

Desde ya muchas gracias.
* Password.zip
(3.57 kB - descargado 255 veces)


Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re:Niple 6.2 y teclado matricial. Ayudita.
« Respuesta #1 en: 23 de Diciembre de 2015, 22:53:57 »
Veo solo comprobado el valor "5" en cada presionado de tecla, con lo que te dará 555 como entrada valida, comparas la tecla si es menor a 17, pero puede ser varios valores validos entra 0 y 16 para que dé paso al resto del programa, creo que llegas con cualquier valor a la ultima comparación y no valida enviando todo a tecla 1. Es bueno poner el proteus para que lo simule quien te quiera ayudar. Un abrazo.
- Santiago -

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Re:Niple 6.2 y teclado matricial. Ayudita.
« Respuesta #2 en: 24 de Diciembre de 2015, 06:11:56 »
Veo solo comprobado el valor "5" en cada presionado de tecla, con lo que te dará 555 como entrada valida, comparas la tecla si es menor a 17, pero puede ser varios valores validos entra 0 y 16 para que dé paso al resto del programa, creo que llegas con cualquier valor a la ultima comparación y no valida enviando todo a tecla 1. Es bueno poner el proteus para que lo simule quien te quiera ayudar. Un abrazo.
Como no tengo proteus, lo tengo armado en un protoboard. Solo compruebo el "5" pues quería asegurarme que estaba bien la tabla del teclado, pues en otro programa que realicé, para que me tome el "5", debía oprimir el "4".
Todas las teclas menores a 17 pueden ser oprimidas, pero solo la secuencia "2,5y8" es válida. Haría las veces de contraseña. ¿Me explico?
La cuestión es que solo acusa lo que dije anteriormente. No se donde está el error. Seguiremos intentando la solución por lo tanto estan todos invitados a este desafío. ja ja ja.
No quiero despedirme sin antes desearles una muy feliz Navidad.

Desconectado lmtreser

  • PIC16
  • ***
  • Mensajes: 133
    • Automatismos Mar del Plata
Re:Niple 6.2 y teclado matricial. Ayudita.
« Respuesta #3 en: 24 de Diciembre de 2015, 10:07:36 »
Hola, aporto con un ejemplo que muestra la tecla pulsada en un display LCD para que lo analices y modifiques llegado el caso. Incluye la simulación en Proteus. Saludos!

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Re:Niple 6.2 y teclado matricial. Ayudita.
« Respuesta #4 en: 24 de Diciembre de 2015, 17:58:14 »
Estuve pensando y me parece que la cosa pasa por que estoy comparando registros 8 bits con otro de 32 bits, tambien hago calculos matematicos (multiplicacion, suma) entre registros de 8 bites y 32 bits. ¿Será algo de eso?. "..vaya uno a saber." je je

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re:Niple 6.2 y teclado matricial. Ayudita.
« Respuesta #5 en: 25 de Diciembre de 2015, 12:07:00 »
No entiendo bien tu lógica, validas solo el 5 y puedes armar 555, pero lo comparas con 258 pata que ocurra un evento, no lo validará pues son distintos, por lo que el código a continuación no se ejecutará.
Felices Fiestas a ambos y a quienes lean este post, Un abrazo.
- Santiago -

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Re:Niple 6.2 y teclado matricial. Ayudita.
« Respuesta #6 en: 25 de Diciembre de 2015, 17:24:35 »
No entiendo bien tu lógica, validas solo el 5 y puedes armar 555, pero lo comparas con 258 pata que ocurra un evento, no lo validará pues son distintos, por lo que el código a continuación no se ejecutará.
Felices Fiestas a ambos y a quienes lean este post, Un abrazo.
Hola Lucegiar2005. No me estas entendiendo pues mi explicación fué enredada, mezcle cosas y se hizo "un Babel" jeje.
A ver si aclaro.
a) El registro "pass2" guarda un numero decimal= 258  para compararlo luego de haber pulsado 3 teclas.
b) Si pulso las teclas 2,5 y 8 (en ese orden es decir que introduje la contraseña de manera correcta) deberían los bit RA2, RA3 recibir un "1" y el bit RA4 parpadear 10 veces.
c)Por otro lado y por cuerda separada, solo para monitorear una sola tecla: la 5, hace parpadear el RB0. Este paso no juega para nada en el proceso que quiero controlar. Puedo eliminar del programa este paso y todo sigue igual. ¿Se entiende?

Ejemplo positivo: Si pulso tecla "2", el registro se multiplica por 100 y el nuevo valor del registro es= 200. Luego si pulso "5" el registro se multiplica por 10 y el nuevo resultado es= 50, lo sumo al anterior y el nuevo resultado es 250. Por último pulso "8", se suman los registros y el resultado "258" se compara con el primer registro "pass2" y como son iguales, los bit RA2, RA3 deben recibir un "1" y el bit RA4 parpadear 10 veces.
Ejemplo negativo: Si pulso la tecla "3", el registro se multiplica por 100 y el nuevo valor del registro es= 300. Luego pulso la "7", el registro se multiplica por 10 y el nuevo resultado es = 70, lo sumo al anterior y nuevo resultado es 370, por último pulso la tecla "1", este valor se suma al resultado 370 quedando al final "371". se compara con "pass2 y como no son iguales, se reinicia el proceso.

Creo que el control con la tecla "5" que introduje en la interrupción, confundió todo.  Adjunto de nuevo el .npl en donde eliminé este control.

Saludos.
* Password.zip
(3.43 kB - descargado 255 veces)

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re:Niple 6.2 y teclado matricial. Ayudita.
« Respuesta #7 en: 30 de Diciembre de 2015, 10:25:47 »
Estás en lo correcto. Va acumulando secuencialmente tras dar valor relativo. Debiera funcionar. Lo que veo es la facilidad de perderse en el número de teclas pulsadas ante un rebote o una eventualidad. No te indica el comienzo de un nuevo codigo ingresado, cosa muy a tener en cuenta. ¿porqué no guardas el valor de pass2 en la eeprom?.Un abrazo y Feliz Año 2016 si no nos escribimos antes.
- Santiago -


 

anything