Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
20-09-2017, 22:01 (Mi?rcoles)
Inicio Ayuda Reglas Buscar Ingresar Registrarse
Noticias:
Liberada wifislax64-1.1 version final para descargar

Videos Downloader




+  Seguridad Wireless - Wifi
|-+  Equipos y materiales
| |-+  Puntos de acceso, routers, switchs y bridges
| | |-+  Openwrt & LEDE (Moderadores: jar229, Noltari, Pteridium, Tki2000)
| | | |-+  Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: 1 2 [3] Ir Abajo Imprimir
Autor Tema: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.  (Leído 3581 veces)
raphik
******
Desconectado Desconectado

Mensajes: 438



Ver Perfil
« Respuesta #40 : 07-09-2017, 10:48 (Jueves) »

... la (pantalla) que tengo ahora mismo es ésta.


Por lo que se ve, se trata de una YwRobot LCM1602 IIC V1.


Le veo pocos componentes en comparación con otras, lo que no significa que sea una mala expansora. Según se lee en Internet, se alimenta con 5V y se conecta directamente al bus i2c, sin resistencias pull-up.
http://www.electronicapty.com/component/k2/item/4-lcd-1602-con-modulo-i2c-ywrobot-iic-v1/4-lcd-1602-con-modulo-i2c-ywrobot-iic-v1
http://henrysbench.capnfatz.com/henrys-bench/arduino-displays/ywrobot-lcm1602-iic-v1-lcd-arduino-tutorial/
En línea
peperfus
*****
Desconectado Desconectado

Mensajes: 170


Ver Perfil WWW
« Respuesta #41 : 07-09-2017, 15:11 (Jueves) »

Bueno, en realidad no es la de la imagen.
Se ve que esa es la imagen que puso el vendedor en la página del artículo, pero el artículo en sí es ligeramente distinto:

De hecho, si se va a las características, en la descripción del artículo:
Caracterí­sticas:
    Pantalla LCD, 16 caracteres y 2 líneas
    Alimentación 5V
    Controlador compatible HD44780
    Adaptador II2C PCF8574T
    Fondo azul retroiluminado, letras en blanco
    Incluir un pin de contraste ajustable
    Dimensiones (mm): 80 x 36 x 19


Esta es la foto del adaptador que viene en cuestión:


He visto otro tuto por ahí y supuestamente también va directo sin resistencias y a 5V.
(Edito: en el tuto que he visto usaban el modelo  PCF8574, sin la T)
(Aquí otro tuto con el mismo controlador)
Lo cual no hace más que aumentar la duda sobre qué es lo que me está fallando.
Está la diferencia de que tú lo tienes soldado con estaño y yo lo tengo con pegamento conductor, pero me parece muy raro que sea ese el problema. Parece que este pegamento da buen resultado con estos voltajes. Por cierto, por si a alguien le interesa, es este.

Lo único que se me ocurre ahora es que pueda haber habido un cortocircuito al haber contactado ligeramente el pegamento con el polo politivo y/o negativo de las bases para led (sin leds) que hay alrededor y aún habiéndolo limpiado después, ya se haya/n estropeado el/los gpios.
No me queda prácticamente más remedio que probar el otro router.
« Última modificación: 07-09-2017, 15:53 (Jueves) por peperfus » En línea
Ficht
******
Desconectado Desconectado

Mensajes: 452



Ver Perfil
« Respuesta #42 : 07-09-2017, 23:59 (Jueves) »

Bueno, en realidad no es la de la imagen.
Se ve que esa es la imagen que puso el vendedor en la página del artículo, pero el artículo en sí es ligeramente distinto:

De hecho, si se va a las características, en la descripción del artículo:
Caracterí­sticas:
    Pantalla LCD, 16 caracteres y 2 líneas
    Alimentación 5V
    Controlador compatible HD44780
    Adaptador II2C PCF8574T
    Fondo azul retroiluminado, letras en blanco
    Incluir un pin de contraste ajustable
    Dimensiones (mm): 80 x 36 x 19


Esta es la foto del adaptador que viene en cuestión:


He visto otro tuto por ahí y supuestamente también va directo sin resistencias y a 5V.
(Edito: en el tuto que he visto usaban el modelo  PCF8574, sin la T)
(Aquí otro tuto con el mismo controlador)
Lo cual no hace más que aumentar la duda sobre qué es lo que me está fallando.
Está la diferencia de que tú lo tienes soldado con estaño y yo lo tengo con pegamento conductor, pero me parece muy raro que sea ese el problema. Parece que este pegamento da buen resultado con estos voltajes. Por cierto, por si a alguien le interesa, es este.

Lo único que se me ocurre ahora es que pueda haber habido un cortocircuito al haber contactado ligeramente el pegamento con el polo politivo y/o negativo de las bases para led (sin leds) que hay alrededor y aún habiéndolo limpiado después, ya se haya/n estropeado el/los gpios.
No me queda prácticamente más remedio que probar el otro router.

Yo creo que hasta que no hagas parpadear los gpios, no habra i2c de ninguna manera... algo te está fallando en la "exportacion"  No creo que el gpio en si se haya fastidiado si el router arranca...

¿Has comprobado que la pasta de soldar o la plastilina no te estén haciendo algún tipo de cortocircuito o alimentándose de otro gpio o punto cercano?
« Última modificación: 08-09-2017, 00:03 (Viernes) por Ficht » En línea
peperfus
*****
Desconectado Desconectado

Mensajes: 170


Ver Perfil WWW
« Respuesta #43 : 08-09-2017, 01:09 (Viernes) »

No sé qué conductividad tendrá la plastilina  Grin De todas formas, ya la había quitado de la placa.
No veo nada mal... ni cortocircuitando.

Os pongo un vídeo de cómo lo tengo. Perdón por el tembleque y el mal enfoque, pero con el zoom y mi mal pulso, no he podido conseguir mejor calidad de imagen.

<a href="http://www.youtube.com/watch?v=7pj4sFcfrwk" target="_blank">http://www.youtube.com/watch?v=7pj4sFcfrwk</a>
« Última modificación: 08-09-2017, 01:28 (Viernes) por peperfus » En línea
raphik
******
Desconectado Desconectado

Mensajes: 438



Ver Perfil
« Respuesta #44 : 08-09-2017, 14:35 (Viernes) »

(Edito: en el tuto que he visto usaban el modelo  PCF8574, sin la T)

La T o su ausencia se refiere al encapsulado y no tiene importancia, excepto si eres diseñador.

Los que tienen la T son de soldadura superficial.


Y los que no la tienen van en placa perforada.
En línea
raphik
******
Desconectado Desconectado

Mensajes: 438



Ver Perfil
« Respuesta #45 : 08-09-2017, 18:40 (Viernes) »

No me queda prácticamente más remedio que probar el otro router.

Antes de probar con el otro router, igual te vendría bien intentarlo con otras dos GPIO presentes en los AR-5687un.

Según el post https://foro.seguridadwireless.net/openwrt/routers-con-gpio's-operativos-para-darle-usos-como-con-la-raspberry-pi/msg341543/#msg341543, junto al botón de RESET tienes otras dos GPIO libres. Están en los puntos sin conectar R79 (GPIO12) y R158 (GPIO24).


No sabría decirte si el contacto GPIO se corresponde con la soldadura de la izquierda o de la derecha. Habría que tirar de polímetro para averiguarlo.
En línea
peperfus
*****
Desconectado Desconectado

Mensajes: 170


Ver Perfil WWW
« Respuesta #46 : 08-09-2017, 22:59 (Viernes) »

Gracias. En cuanto tenga algo de tiempo libre (ahora vuelvo a estar bastante liado), lo intentaré.
Es una oportunidad muy buena para hacer pruebas y ayudar a despejar dudas.
En línea
Ficht
******
Desconectado Desconectado

Mensajes: 452



Ver Perfil
« Respuesta #47 : 09-09-2017, 15:46 (S?bado) »

Gracias. En cuanto tenga algo de tiempo libre (ahora vuelvo a estar bastante liado), lo intentaré.
Es una oportunidad muy buena para hacer pruebas y ayudar a despejar dudas.
Cuando te pongas a ello, primero controla el GPIO y luego cuando veas que funciona, ya sigues con los cables y circuitos, así cuando algo de problema podrás descartar más fácil donde puede estar el fallo.

Saludos!

Enviado desde mi PRA-LX1 mediante Tapatalk

En línea
peperfus
*****
Desconectado Desconectado

Mensajes: 170


Ver Perfil WWW
« Respuesta #48 : 13-09-2017, 11:44 (Mi?rcoles) »

Buenas. Sigo liado, pero he sacado un huequito para cofirmar los GPIOS. Los marcados en verde son tales:


(Foto original de raphik (gracias))

Además, he hecho un script que iba cambiando los values de ambos de 1 a 0 y viceversa con pausa de 1 segundo y evfectivamente he comprobado como iba cambiando la tensión (voltaje) de ambos, de 3,29 a 0 y viceversa, respectivamente y de forma correcta.

Este finde me pongo otra vez con el tema de la pantalla en estos GPIOS.

Gracias a todos.

Edito: Work in progress....
Cables pegados a los GPIOS R158 y R79. Mañana estará seco y probaré la pantalla.
La operación ha salido bien. Mañana veremos el resultado.
« Última modificación: 16-09-2017, 00:15 (S?bado) por peperfus » En línea
danitool
*******
Desconectado Desconectado

Mensajes: 581


Ver Perfil
« Respuesta #49 : 16-09-2017, 12:44 (S?bado) »

No usé nunca pegamento de ese tipo, pero yo lo veo más para reparar pistas dañadas o hacer soldaduras largas.

En pequeños puntos debería funcionar mejor la soldadura de estaño, la capilaridad hace que se quede en el sitio y nunca cortocircuite con puntos circundantes, de hecho hay que poner mucho estaño para que ocurra.

El problema va tal vez más en los cables. Personalmente para soldar en puntos muy pequeños uso cable de bobinado que suele ir revestido con barniz aislante (hay que rascar un poco el extremo que se suelda). Un cable apropiado de este tipo es el hilo de cobre  que podemos encontrar en las bobinas de los microfiltros ADSL, de estos seguro todos tenemos una docena en casa.

A la hora de probar yo primero intentaría alimentar con 3.3V del puerto serie, que es un voltaje seguro, y ya luego con 5, y comparar resultados.
« Última modificación: 16-09-2017, 12:45 (S?bado) por danitool » En línea
peperfus
*****
Desconectado Desconectado

Mensajes: 170


Ver Perfil WWW
« Respuesta #50 : 17-09-2017, 00:34 (Domingo) »

Gracias por los consejos, danitool. De momento voy a seguir probando con el pegamento conductor.... a lo mejor en otro router me animo a soldar, pero un poco más adelante.

¡ NOVEDADES ! HA HABIDO UN AVANCE IMPORTANTE, POR FIN.

Código:
root@OpenWrt:~# i2cdetect  -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --



Sin embargo... parece que no hablamos el mismo idioma xD:
Cuando he ejecutado el script... (después de modificar la dirección 3F por la mía=27...)

Supuestamente pone "HOLA MUNDO"


Ok, mira. He echado un vistazo al script. No entiendo ni la mitad..., pero he visto que se puede ejecutar con el parámetro init. Cuando lo he hecho, al poner HOLA MUNDO, sí que sale; lo escribe correctamente, , pero en vez de salir en blanco brillante, me sale en gris muy tenue. Pongo una imagen para que se vea como sale. Casi no se ve:



raphik, ¿De dónde sacaste el script lcd_write o la información para programarlo...?
¿Qué hacen los parámetros de dirección de memoria de "func_LCD"? Estaría bientener la lista de direcciones de memoria y lo que le activan/desactivan a la lcd...

(Según las pruebas que he estado haciendo...)
Código:
func_init() # inicializar display
{
  func_LCD I 0x33;
  func_LCD I 0x32; #  ?
  func_LCD I 0x28; # ?
  func_LCD I 0x0C; # OCULTA EL CURSOR
  func_LCD I 0x01; # BORRA PANTALLA
}

Como cosa también Muy Interesante, he visto por ahí, que otras pantallas tienen la habilidad de poder encender y apagar el led de iluminación por software ("lcd.setBacklight(LED_OFF);//Backlight OFF "), estaría chulo que aquí también se pudiera.
EDITO: Esos parámetros hexadecimal.... ¿son los defines de liquidcrystal_i2c.h?
He visto por ahí ejemplos que les aplica la operación exor a varios defines para obtener la hexadecimal a enviar a la controladora. ¿Es correcto?. Sé que esto ya se empieza a escapar de openwrt, pero ¿podrías poner un ejemplo de cómo calcular esos hexadecimales para enviar uno u otro comando? Estoy mirando la tabla:


Código:
// commands
#define LCD_CLEARDISPLAY 0x01
#define LCD_RETURNHOME 0x02
#define LCD_ENTRYMODESET 0x04
#define LCD_DISPLAYCONTROL 0x08
#define LCD_CURSORSHIFT 0x10
#define LCD_FUNCTIONSET 0x20
#define LCD_SETCGRAMADDR 0x40
#define LCD_SETDDRAMADDR 0x80

// flags for display entry mode
#define LCD_ENTRYRIGHT 0x00
#define LCD_ENTRYLEFT 0x02
#define LCD_ENTRYSHIFTINCREMENT 0x01
#define LCD_ENTRYSHIFTDECREMENT 0x00

// flags for display on/off control
#define LCD_DISPLAYON 0x04
#define LCD_DISPLAYOFF 0x00
#define LCD_CURSORON 0x02
#define LCD_CURSOROFF 0x00
#define LCD_BLINKON 0x01
#define LCD_BLINKOFF 0x00

// flags for display/cursor shift
#define LCD_DISPLAYMOVE 0x08
#define LCD_CURSORMOVE 0x00
#define LCD_MOVERIGHT 0x04
#define LCD_MOVELEFT 0x00

// flags for function set
#define LCD_8BITMODE 0x10
#define LCD_4BITMODE 0x00
#define LCD_2LINE 0x08
#define LCD_1LINE 0x00
#define LCD_5x10DOTS 0x04
#define LCD_5x8DOTS 0x00

// flags for backlight control
#define LCD_BACKLIGHT 0x08
#define LCD_NOBACKLIGHT 0x00

#define En B00000100  // Enable bit
#define Rw B00000010  // Read/Write bit
#define Rs B00000001 // Register select bit

Pero no llego a entender muy bien cómo pasar de ahí a por ejemplo, cuando envías por ejemplo, "0x0C"...

(Por cierto, la sintaxis debería ser lcd_write.sh <linea> <columna> <texto> ¿verdad?)

(Sólo me falta que aparezca el texto brillante, como en la primera foto)
Me acaba de llegar una pantalla de 20x04 que tenía pedida, la he probado y me hace lo mismo: texto casi invisible. Estoy a la espera de la pantalla 16x02 (el mismo modelo que el tuyo), pero me parece que hará también lo mismo, porque supongo que llevan el mismo chip y van de la misma manera. La pregunta fundamental entonces es: ¿Por qué a ti te sale en brillo  Cool (maravillosamente legible) y a mí casi invisible  Undecided?
Muchas gracias.
« Última modificación: 18-09-2017, 13:47 (Lunes) por peperfus » En línea
Páginas: 1 2 [3] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Las cookies de este sitio web se usan para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Además, compartimos información sobre el uso que haga del sitio web con nuestros partners de redes sociales, publicidad y análisis web, quienes pueden combinarla con otra información que les haya proporcionado o que hayan recopilado a partir del uso que haya hecho de sus servicios
Si continúa navegando consideramos que acepta su uso. OK Más información | Y más
Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines
SMFAds for Free Forums