Autor Tema: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado  (Leído 5923 veces)

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

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Hola a todos de nuevo, despues de lograr salir del problema con el glcd, ahora vuelvo con este problemita, estoy tratando de utilizar un teclado AT, bueno, son ps2, pero lei como hacer la conversion de ps2 a AT, he de suponer q si funciona, de lo contrario corriganme. Bueno, el detalle es q niple me dice q recomienda, q sea conectado el pin de dato, a un pin con interrupcion por flanco descendente, para mi, el de siempre, RB0, pero al momento de presionar una tecla fisicamente, se me traba el programa, he de comentar, q guardo la tecla presionada en un registro, incluso quite la rutina de mostrar la tecla presionada en el glcd, se me traba al recibir el codigo. Adjunto la rutina de interrupcion, obviamente, configuré antes la interrupcion. Agadesco su ayuda, pero vi q nadie pregunta eso, solo vi un tema, pero todopic me recomendo abrir post nuevo. Espero no molestar a nadie, pero tal vez, a mas de uno le pica la curiosidad, saludos!
Update: Ya esta resuelto, ahora el detalle, es mostrar ese codigo ascii, tal cual, en el glcd, ya muestra la tecla pulsada, atrás de una animacion de un monito dibujado por mi, ahi la llevamos!
« Última modificación: 20 de Mayo de 2012, 17:40:08 por xiran »

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #1 en: 20 de Mayo de 2012, 22:36:57 »
Update2: ya le conecté 2 teclado diferentes, uno at y el otro ps/2 pero como q no agarra algunas teclas, y no me coincide el ascii, llegando lo checo en la pc, a ver si si funcionan en la pc, en bloc de notas, me tuve q chutar un super tuto del teclado, jejejeje!
Update3: Si funcionan perfectamente en el pc, bueno, a seguir investigando.

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #2 en: 21 de Mayo de 2012, 02:13:40 »
Alguien sabe escribir texto en el glcd con niple, q no sea por imagenes¿ Estoy tratando de mostrar, la tecla presiona a traves de un teclado ps2, pero solo puedo desplegar numeros, convirtiendo el dato guardado, de la tecla presionada, a BCD, pero me gustaria mas, mostrarla en texto. De antemano, muchas gracias!

Desconectado vesperia

  • PIC10
  • *
  • Mensajes: 34
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #3 en: 21 de Mayo de 2012, 14:04:25 »
Lamentablemente niple no tiene implementada ninguna rutina para escribir letras.. creeme q busque de todo... El tema es q estos gLCD usan un controlador interno ks-108 de samsung o algún alternativo compatible, q no tiene graficación de caracteres incorporada. De hecho cuando graficás números niple envía las lineas correspondientes a la formación de cada uno (podés ver un tema q publiqué hace poco sobre como corregir en el asm el n° 1 en la letra más chica, q niple lo dibuja mal).

Otras cosas q vale la pena comentar, por experiencia personal:

- Graficar variables en medio de la pantalla trae errores: en gral si querés graficar un número alrededor de la col 62, 63.. es habitual q no lo haga bien.

- Refrescar una porción de la pantalla con imagenes: para evitar errores de graficación te aconsejo q los bmp sean siempre de 8 pixels de alto o multiplos de 8, sino a veces se grafican mal (x ej, si querés graficar un ícono intermitente aunq tenga menor altura, el bmp hacelo de 8).

- Nunca interrumpir la rutina de escritura de la pantalla!!! Si en el proyecto usas interrupciones para algo t aconsejo q durante los momentos en q grafiques la pantalla las inhabilites.

- Niple todavía casi no tiene funciones de graficación automática de formas (círculos, cuadrados, esas cosas..). Lo único que podés hacer es gráficos de barras eligiendo chart_003 en "mostrar Variables".

No se si me olvido de algo, pero hace rato q vengo laburando con gLCDs en niple, así q pregunta lo q quieras! Hay varios temas q faltan pulir el uso de gLCD, estaría bueno ir haciendo con tiempo unas bibliotecas de letras y q en algún momento Jorge Cano las vaya agregando como módulos.

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #4 en: 21 de Mayo de 2012, 16:15:48 »
Q tal vesperia agradesco bastante tu respuesta, claro q lei tu post con esa aclaracion, lo q no vi, es q si la version 5.6 la corrige o es el del problema  ;-). Entonces lo mas aconsejable es, crear mi propio font para cada letra¿ Creo q se alargaria mucho el codigo, pero bueno, tenemos buen pedazo de memoria con el 18f4550, ahora la pregunta es, he estado usando un teclado at, y como dices tu, tener cuidado con graficas + interrupciones, hice una animacion de un monito saludando todo el tiempo, y aun lado 3 variables, q es el dato recogido por el teclado convertido a bcd, el detalle es q no corresponde con la tabla de caracteres mostrado en niple, pero ese no es el problema, el problema es q hay algunas teclas q aparecen en 0, y el teclado funciona al 100 en la pc, escribe todas las letras, a q crees tu q se deba¿

Desconectado vesperia

  • PIC10
  • *
  • Mensajes: 34
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #5 en: 22 de Mayo de 2012, 14:33:34 »
Y si, el tema de la memoria es inevitable.. incluso aunq fuese un módulo de niple, lo terminaría guardando en el micro...
En cuanto al teclado AT, la verdad q nunca trabajé con uno en niple. El resultado de la lectura lo guarda en decimal en algún registro? en ASCII, x ej? Subite el programa, así le doy una mirada.

Saludos!

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #6 en: 23 de Mayo de 2012, 03:42:53 »
Ok, el dia de mañana te subo para q lo cheques.

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #7 en: 25 de Mayo de 2012, 03:25:34 »
Ok, realicé uno nuevo con un lcd sencillo de 2x16, para saber exactamente q esta pasando, el programa te muestra el texto "ASCII BCD NOASC".
Debajo de cada termino, muestra la variable mencionada en su titulo.
Aun asi, no coincide con el codigo en niple, y trato de encontrar una formula q me cuadre con el code de niple, pero no es algo fijo.
Siento q el error puede ser al momento de llamar la rutina de Teclado AT, ya q me da el poder decidir si el resultado es 0 o no.
Este dato es almacenado en una variable, la cual guardo en otra nueva, ya q al invocarla despues, se corrompe, asi, independizo ambas.
Tambien es convertida a BCD.
Bueno, espero su comentario, y alguna ayudita, saludos!

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #8 en: 26 de Mayo de 2012, 01:01:04 »
Ahora adjunto fotos del estado real, con un analizador logico, creo q el uso de un teclado at, en vez de uno matricial, nos facilitará bastante el uso de un periferico externo (niple trae uno mas bueno, con un solo pin a/d), a ver si podemos lograr algo bueno de esto.

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #9 en: 26 de Mayo de 2012, 15:13:54 »
Jorge Cano, echame una manita!!! Podrás ponerme un ejemplo donde utilices el teclado AT, y lo imprimas por ejemplo, en un lcd¿ por mas q busco en todos lados, no doy... Sé q el teclado envia una trama de 11 bits, un bit de inicio (0), 1 byte datos (LSB 1ero), 1 bit paridad impar, y 1bit de stop (1). Pero al interpretar el codigo enviado por el teclado, no es el mismo q debe ser en ascii, por ejemplo, puse una letra "l" en el teclado, e interpretando el byte de la trama, es una "K", entonces, no puedo saber q es lo q realmente esté pasando... Te agradeceria demasiado!

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #10 en: 30 de Mayo de 2012, 23:58:24 »
A nadie le llama la atencion¿ Bueno, solo paciencia mi pequeño padawan!, jejejejejje!

Desconectado Segga

  • PIC10
  • *
  • Mensajes: 28
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #11 en: 31 de Mayo de 2012, 21:07:29 »
Estimado Xiran, leyendo tu post te recomiendo que hagas un programa para ver en al PC lo que te devuelve el micro por cada tecla presionada. Con la interfaz RS232 de Niple, puedes listar los valores recibidos y verlos en diferentes formatos (Ascci, Binario, Hexa, etc).

Hace un programa, que lo que recibe del teclado te lo envía por RS232 a la PC. Así vas a poder ver que es lo que pasa cuando presionas cada tecla.

Recuerdo que el teclado envía varios caracteres por cada tecla presionada, no se si 11 como decís, se que son varios.

Espero haberte ayudado con esto.

Saludos,  Silvio Galán

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #12 en: 05 de Junio de 2012, 20:55:27 »
Muchas gracias por el consejo Segga, construi un analizador logico visual con el mismo lcd, lo q hace, es construir la trama recibida en 8 espacios, indicando altos y bajos. Para saber exactamente q es lo q recibe. Y continua en las mismas, indicando diferencias entre el valor enviado directamente con el teclado (con un analizador real) y el valor entendido por el pic. Por lo q presiento, ha de ser algo relacionado con el bit "acknowledge" (bit 12 de la trama recibida), q es el encargado de decirle al teclado q la trama no fue entendida. Esto es, lo q niple nos pregunta q deseamos hacer, en caso de recibir "0", en mi ejemplo, yo lo mando directamente a q continue el proceso. Voy a continuar investigando, cual es el momento exacto, para enviar ese bit decreciente, probablemente este por ahi el problema, saludos y muchas gracias por leer mi post, por el momento tendré q inclinarme en el teclado A/D, pero lo del teclado AT no se me escapará!

Desconectado xiran

  • PIC16
  • ***
  • Mensajes: 100
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #13 en: 07 de Junio de 2012, 19:51:30 »
Hola a todos, ya estoy usando un teclado a/d, ahora me estoy liando con ello... Alguien q me pueda pasar algun ejemplo, q por decir, con un boton por ejemplo el 1, prenda y apague un led, o algo, saludos!

Desconectado vesperia

  • PIC10
  • *
  • Mensajes: 34
Re: Nuevamente yo, ayuda con teclado AT... Parcialmente solucionado
« Respuesta #14 en: 08 de Junio de 2012, 13:19:57 »
xiran, como va? te adjunte dos capturas como para q te hagas una idea de como manejar un teclado AD. En la 1ra podes ver la confliguración del teclado AD en dispositivos, donde usas dos pines (RA0 como entrada AD y RB0 como pin de interrupción). Al presionar "Calcular" niple te muestra la tensión que deberías poder medir sobre RA0 al presionar cada tecla junto con el valor AD que debiera devolver.

La tolerancia define los rangos de tensión para los que una tecla será reconocida como tal. Por ejemplo, en la captura los botones 9 y # se ven en rojo por estar muy cerca uno del otro, lo que podría generar un conflicto de reconocimiento. Por eso te recomendaría que uses las teclas que necesites lo más separadas que puedas una de la otra. Te conviene también usar todas resistencias de 1% para evitar desvios y buenas teclas tact, para que no aumenten la resistencia de contacto con un uso intensivo.

Después lo único que te falta es insertar una interrupción por RB0 como se ve en la captura 2, en la cual ingresas una rutina de lectura de teclado AD. La rutina guarda el valor leido en RA0 con el valor AD que aparece en la tabla de configuración del dispositivo, o devuelve un 128 en caso de error. En el ejemplo de la captura se evalúa si tecla es igual a 209 (correspondiente al boton 1) y se conmuta un bit de led.

Espero q te sirva, saludos!