Autor Tema: problemas con lcd  (Leído 5581 veces)

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

Desconectado hedu

  • PIC10
  • *
  • Mensajes: 19
problemas con lcd
« en: 21 de Agosto de 2012, 15:43:41 »
Buen día a todos, quería consultarle a alguno de los mas experimentados, si han tenido problemas con el LCD (16x2) cuando combinan una visualización de texto fijo y variables, ya que realice una cerradura electrónica de 4 cifras la cual al iniciar el programa,nos indica que ingresemos el código y luego en la segunda linea va mostrándonos 4  **** a medida que ingresamos los números y noto que la cerradura funciona perfectamente pero sobre el LCD se me sobreescriben parte de la cadenas de caracteres (ingrese código) inclusive donde no debería aparecer letra alguna. El error me lo hace sobre harware y también en el proteus.
En un momento pensé haber utilizado mal el comando limpiar pantalla pero si es así no encuentro el defecto, mas aún despues de observar que estos caracteres perdidos aparecen en zonas no declaradas en el niple (casilleros libres de color verde).
cualquier ayuda es bienvenida

gracias.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: problemas con lcd
« Respuesta #1 en: 22 de Agosto de 2012, 07:29:58 »
Puedes adjuntar el proyectgo para echarle un vistazo.

F.
Todos los días se aprende algo nuevo.

Desconectado hedu

  • PIC10
  • *
  • Mensajes: 19
Re: problemas con lcd
« Respuesta #2 en: 22 de Agosto de 2012, 10:39:34 »
gracias fernando por tu ayuda, te paso también el proteus para que visualices la falla.

para no hacerte perder  tiempo te cuento que hay un registro bandera cuyos bit 4,3,2 y1 se ponen en uno cuando el código ingresado es correcto seguramente conocerás formas mejores de realizarlo pero es lo que se me ocurrió y funciona!! salvo el problema que te comente.

gracias nuevamente.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: problemas con lcd
« Respuesta #3 en: 22 de Agosto de 2012, 12:43:26 »
En cuanto tenga un rato lo miro e intento decirte algo.
Por cierto tienes un error en el codigo
Fernando=No
Fermin=Si

 :D ;-)
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: problemas con lcd
« Respuesta #4 en: 22 de Agosto de 2012, 13:31:32 »
Hedu,
acabo de probar lo adjuntado y por lo que indicas en tu post veo al correr el proteus que efeectivamente se sobre-escriben ciertos caracterres es como que se estan produciendo el efecto rebote al pulsar y soltar las teclas es como si se detectaran varias pulsaciones al pulsar una sola.
He modificado el programa añadiendo un retraso mayor en la temporizacion por ciclos que tienes despues de la tabla en la rutina de interrupcion de rb0 a rb7. Tienes puesto 20msg y lo aumnete a 200msg(por poner un ejemplo, tendras que ajustarlo a tu medida) de ese modo ya no se produce ese efecto.
Prueba ahora a ver si te va bien. No te adjunto el programa pues tengo una version superior a la tuya y no lo podrias abrir.

De todas foemas me gustaria preguntarte un par de cosas y alguna sugerencia. Ahi vanlas preguntas:
La clave que tienes puesta por defecto es 8528?.
Por que tienes creada una tabla con 16 posiciones/teclas si el teclado es de 12?
Si pasas de 4 intentos y si es erronea la clave, se debe de activar el rele y el led ¿correcto? Lo pregunto porque lo introduzco mas de 4 y el rele y led nunca actuan
Si la clave es correcta ¿no haces nada?

Ahora los consejos:
IMPORTANTE: las rutinas de interrupcion siempre deben ser lo mas cortas posibles.Aunque no esta ma, pero se debe de sacar el maximo de codigo posible del programa princiapl ycuando salte la interrupcion solamnete hay que poner por ejemplo algun bit de un registro auxiliar a 1, comprobarlo dentro de ellas si esta al nivel que deseas, en ese caso realizas una subrutina con el codigo necesario, reseteas el bit y vuelves a habilitar la interrupcion.

Ya me contaras como te fue.
F.
Todos los días se aprende algo nuevo.

Desconectado hedu

  • PIC10
  • *
  • Mensajes: 19
Re: problemas con lcd
« Respuesta #5 en: 22 de Agosto de 2012, 17:02:26 »
Fermin... no me equivoco mas(con el nombre jeje)!!

contesto tus inquietudes:
_El còdigo es el que dijiste.
 
_La tabla de 16 posiciones me la creo niple automaticamente aùn declarando un teclado de 3 colunnas que es el que uso.

_el rele y el led encienden cuando la clave es correcta, ahora si seguís intentando equivocadamente, al 5º intento de código (el registro alarma se pone en 5) suena un buzzer (mas adelante quiero hacer que se bloquee el teclado pero el buzer me es mas pràctico  por ahora para comprobar el funcionamiento).

el tiempo de 20ms, no es un anticiclado (de echo el niple ya lo tiene incorporado en el teclado)  es la duraciòn del pitido del buzzer cada vez que pulsas una tecla (si te fijas pongo a uno RB7 y luego lo apago.

ahora bien....

en el proteus nunca se activa el relè y la primera vez que ingresas el còdigo tampoco hace nada. pero en hardware funciona bien.. osea ojo con el proteus que es una valiosa herramienta pero tiene sus cosas...

las letras que sobreescribe, no son al azar, son trozos del "ingrese codigo" que me los sobreescribe en cualquier parte, creo que la posiciòn del cursor en esto tiene algo que ver!! pero no puedo encontrar el error, voy a seguir investigando.

te agradezco el consejo en cuanto al tamaño de las subrutinas, no lo sabia y lo voy a tener en cuenta en futuras experiencias

Te cuento que el harware es un entrenador pero no es comprado, lo arme yo, por lo cual en algùn momento pienso que puede tener errores y recurro al proteus, pero hasta ahora por suerte el que me trae problemas es el proteus.

te lo presento en la foto adjunta

gracias, por todo

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: problemas con lcd
« Respuesta #6 en: 22 de Agosto de 2012, 22:23:55 »
Hola a todos, buenas noches. Estaba mirando el npl pero no pude compilar el codigo, me pide declarar un teclado matricial, que por cierto no veo declarado, y me da error al compilar el hex, estoy teniendo problemas con esta versión. Fermin: ¿podes compilarlo? Tenemos, creo la misma versión. Ya se lo comuniqué a Jorge. De lo que pude ver me gustó, pero creo que puede evitar repeticiones de bloques (cuenta=cuenta+1 por ejemplo)poniéndolo al principio 1 vez, adicionar una rutina de cambio de clave, etc. Ojalá pueda compilarlo pronto y ver lo que falla ya que en el código está correcto según creo. Puede ser un bug de Niple. Con el debido respeto al conocimiento de Fer, discrepo, en este caso,respecto de la brevedad de código en la interrupción, por no contener otras que lo ameriten, la seguridad de no interrupción en el proceso por ruidos u otros interferente, a mi me resultó mejor el código dentro de la int. en la que hice, ya que no tomaba un caracter sobre otro. Si me resultó mucho Pic para el proyecto, ojo con los pines desconectados. Muy linda esa entrenadora, te felicito Hedu. Un abrazo a todos
- Santiago -

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: problemas con lcd
« Respuesta #7 en: 23 de Agosto de 2012, 08:05:23 »

Os contesto a ambos


Hola a todos, buenas noches. Estaba mirando el npl pero no pude compilar el codigo, me pide declarar un teclado matricial, que por cierto no veo declarado, y me da error al compilar el hex, estoy teniendo problemas con esta versión. Fermin: ¿podes compilarlo? Tenemos, creo la misma versión. Ya se lo comuniqué a Jorge.

Es cierto que no lo tiene declarado el dispositivo, pro a mi me lo compila perfectamnete. Lo suyo es declaralo en la parte de dispositivos. Voya aintentar crearlo de buevo a ver como va.

De lo que pude ver me gustó, pero creo que puede evitar repeticiones de bloques (cuenta=cuenta+1 por ejemplo)poniéndolo al principio 1 vez, adicionar una rutina de cambio de clave, etc. Ojalá pueda compilarlo pronto y ver lo que falla ya que en el código está correcto según creo. Puede ser un bug de Niple.


Las cosas casi siempre se pueden mejorar y es bueno para realiar las cosas mas efectivas. Me inclino mas por Bug de Proteus en la parte de la simulacion.

 
Con el debido respeto al conocimiento de Fer, discrepo, en este caso,respecto de la brevedad de código en la interrupción, por no contener otras que lo ameriten, la seguridad de no interrupción en el proceso por ruidos u otros interferente, a mi me resultó mejor el código dentro de la int. en la que hice, ya que no tomaba un caracter sobre otro. Si me resultó mucho Pic para el proyecto, ojo con los pines desconectados. Muy linda esa entrenadora, te felicito Hedu. Un abrazo a todos

Solo aconsejo el intentar el realizar las rutinas de interrupcion lo mas breve posible, no que si sacas el codigo fera sea mas efectivo. la interrupcion como tal es efectiva.

_La tabla de 16 posiciones me la creo niple automaticamente aùn declarando un teclado de 3 colunnas que es el que uso.

Voy a crear la de nuevo y te aviso, ya que a mi la simulacion e Proteus no me funciona, ya que aunque de 5 claves erroneas no hace nada. Tampoco puedo introducir la clave correcta.

las letras que sobreescribe, no son al azar, son trozos del "ingrese codigo" que me los sobreescribe en cualquier parte, creo que la posiciòn del cursor en esto tiene algo que ver!! pero no puedo encontrar el error, voy a seguir investigando.

A mi al simularlo se me elimina esa sobreescritura aumnetando el tiempo que dije en el post anterior.
Te cuento que el harware es un entrenador pero no es comprado, lo arme yo, por lo cual en algùn momento pienso que puede tener errores y recurro al proteus, pero hasta ahora por suerte el que me trae problemas es el proteus.

te lo presento en la foto adjunta

Muy bonito, es mejor crearte tu el simulador que no comprarlo, a estos siempre piensas que le falta alguna cosa y le sobra alguna otra que nunca vas a utilizar. Es mejor crearselo a la medida.

F.
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: problemas con lcd
« Respuesta #8 en: 23 de Agosto de 2012, 12:48:23 »
Acabo de reacer el programa con los siguientes cambios:

- Creado el dispositivo de teclado matricial de 3x4
- Actualizar el Lcd. estaba de puesto de 4bits cuando en proteus se utilizaban 8 lineas.
- Lo he compilado y no tiene errores

¿puedes probarlo sobre el simulador, en proteus sigue sin ir?

F.
« Última modificación: 23 de Agosto de 2012, 12:51:34 por Fer_TACA, Razón: Añadir fichero »
Todos los días se aprende algo nuevo.

Desconectado hedu

  • PIC10
  • *
  • Mensajes: 19
Re: problemas con lcd
« Respuesta #9 en: 23 de Agosto de 2012, 14:50:55 »
Ahora me van cerrando algunos comentarios de ustedes.....
En primer lugar mi versiòn 5.5 no declara el LCD en la lista de dispositivos, tal es asi que cuando abri el npl de fermin lo primero que me tirò fue "dispositivo matricial desconocido", no se encuentra registro teclado matricial"
Fermin te pediria si no te es molestia que me mandes el hex porque el npl no lo puedo compilar y lo mismo les debe pasar a Uds con el mio, si tu hex funciona seria un paso impportante.
Respecto al problema principal, estoy casi convencido que el problema es del niple, para ser exacto el limpiar pantalla no esta funcionando.

Luciegar: Se que es un micro demasiado grande, pero no te olvides que lo uso de escuela, si logro salir de esta comienzo con IC2, te cuento que reforme el diagrama con un solo contador(cuenta) como me sugeriste y logicamente tambièn funciona.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: problemas con lcd
« Respuesta #10 en: 23 de Agosto de 2012, 17:43:21 »
Hola Hedu,
adjunto el hex generado.

Yo si puedo abrir la tuya pue versiones superiores abren las inferiores pero no al reves como es tu caso.
El hex no puedo proarlo, ahora mismo, hasta la 1ª semana de septiembre no dispondia de simlador, lo tengo el curro y ahora estoy de vacaciones.
Por eso suelo puedo probarlo en el simulador.

F.
Todos los días se aprende algo nuevo.

Desconectado hedu

  • PIC10
  • *
  • Mensajes: 19
Re: problemas con lcd
« Respuesta #11 en: 23 de Agosto de 2012, 18:40:10 »
FERMIN!! EL HEX FUNCIONA!!!! ¿como puede ser? es un problema de la versiòn? en el 5.5 solo se declara cuando el teclado es A/D.
La ùnica falla que note es que cuando ingresas la clave correcta,abre cerradura y enciende el led como corresponde, pero si queres volver a tipear, y ese primer tipeo es la tecla 8, el teclado no la lee. pero la primera vez luego si (solamente lo hace en el primer tipeo y si es el nº 8=)???????? este niple me vuelve loco, en estos dias voy a ver si adquiero el 5.6 para estar acorde con Uds.

que disfrutes las vacaciones y cualquier hex que quieras probar lo hacemos con el mio,

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4154
Re: problemas con lcd
« Respuesta #12 en: 24 de Agosto de 2012, 05:32:36 »
Hola Hedu,

si te fjas en un post anterior mio te indicaba lo realizado
:
Acabo de reacer el programa con los siguientes cambios:

- Creado el dispositivo de teclado matricial de 3x4
- Actualizar el Lcd. estaba de puesto de 4bits cuando en proteus se utilizaban 8 lineas.
- Lo he compilado y no tiene errores

¿puedes probarlo sobre el simulador, en proteus sigue sin ir?

F.

Es decir actualzar el dispositivo del tecaldo y actualizar el disposito del LCD para que pudiera funcioanr con mi version.
Quizas al cambiar la forma de gestionar los disposiivos en Niple, se cambiara alguna cosa mas(como comprenderas ao se que pede haber sido al no aprticipar en el desarrollo del programa) y de ahi que ahora te funcione.


De todas formas lo del nº8 y su no lectura no se que puede ser, quizas sea algo del programa repasalo un poquito que yo con tiempo haré lo mismo a ver si encontramos que puede ser.

Gracias por el ofrecimiento, se tendrá en cuenta.

F.
Todos los días se aprende algo nuevo.

Desconectado hedu

  • PIC10
  • *
  • Mensajes: 19
Re: problemas con lcd
« Respuesta #13 en: 05 de Septiembre de 2012, 18:09:13 »
Hola fermin:
Se que comenzaste a trabajar así que no dispondrás de mucho tiempo,de todas maneras, sin ningun tipo de apuro me gustaría que reveamos un poco el tema del lcd.
te adjunte el npl que me generaste con tu versiòn 5.6 (yo tengo un problema porque mi versiòn es con llave y aparentemente no compatibilizo con la actualización que jorge cano me mando.y todavia no tengo su respuesta.

Aparentemente la nueva versiòn soluciono algunas cosas en el tema de las escrituras erraticas en la pantalla, pero noto que no se puede tipear 2 veces seguidas el mismo numero.(en un principio si recordas hable del 8 pero ahora me doy cuenta que cualquier tecla para escribirla 2 veces seguidas tengo que hacer 3 tipeos.)
Yo revise el proyecto que me mandaste y ahora te reenvió, que es muy sencillo y no le encuentro fallas, por lo que me parece que sigue habiendo algo en la rutina del dispositivo teclado que no esta andando bien (¿alguna funcion antirrebote tal vez?).
Digo esto porque en aquella oportunidad me dijiste que tenia configurado el LCD en 4 bits y no era así quizá tu versión vio eso
te aclaro que la cerradura no es mi preocupación, sino descubrir un posible defecto en el niple que lo compila bien pero en la realidad no esta funcionando como debería y de ser así seria bueno que lo sepamos, porque en proyectos mas complejos seria un dolor de cabeza.

logicamente pido tu ayuda porque considero que estas unos cuantos escalones encima mio en conocimiento,pero si estas muy ocupado no hay problema.

te mando saludos

Hedu