?>/script>'; } ?> Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C. Widgets Magazine

Autor Tema: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.  (Leído 68758 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

peperfus

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #100 en: 29-10-2017, 16:52 (Domingo) »
Cita de: Ficht
...Has probado 0x10 ??...

Qué curioso... Pues ahora que me fijo,

4 bits pueden representar hasta un total de 16 valores (desde el 0000 hasta el 1111), sin embargo, sólo me funciona desde el 0000 (0x0) hasta el 0111 (0x7).

Acabo de probar el 0x10 que comentas y también apaga la pantallita.

Ni los valores
0x8
0x9
0xA
0xB
0xC
0xD
0xE
0xF
La apagan, en cambio el 0x10 sí.  ???
Me falta el valor para volver a encender la pantallita. (No es que no me atreva, valor y coraje tengo de sobra, lo que me falta es el numerito hexadecimal  ;D )
« Última modificación: 29-10-2017, 17:00 (Domingo) por peperfus »

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #101 en: 29-10-2017, 17:30 (Domingo) »
Cita de: Ficht
...Has probado 0x10 ??...

Qué curioso... Pues ahora que me fijo,

4 bits pueden representar hasta un total de 16 valores (desde el 0000 hasta el 1111), sin embargo, sólo me funciona desde el 0000 (0x0) hasta el 0111 (0x7).

Acabo de probar el 0x10 que comentas y también apaga la pantallita.

Ni los valores
0x8
0x9
0xA
0xB
0xC
0xD
0xE
0xF
La apagan, en cambio el 0x10 sí.  ???
Me falta el valor para volver a encender la pantallita. (No es que no me atreva, valor y coraje tengo de sobra, lo que me falta es el numerito hexadecimal  ;D )

Hola, has probado por ejemplo 0x8f  ?

luego  probaría también 0x2f ; 0x4f ; 0xcf ; 0xf
Sigue comentando a ver que sale...

peperfus

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #102 en: 29-10-2017, 18:00 (Domingo) »
...

Hola, has probado por ejemplo 0x8f  ?

luego  probaría también 0x2f ; 0x4f ; 0xcf ; 0xf
Sigue comentando a ver que sale...


0x8f: nada
0x2f: nada
0x4f: nada
0xcf: nada
0xf: nada (este ya lo había probado)

¿Qué estás intentando, darme otro susto como el de los relés  ;D?

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #103 en: 29-10-2017, 18:12 (Domingo) »
...

Hola, has probado por ejemplo 0x8f  ?

luego  probaría también 0x2f ; 0x4f ; 0xcf ; 0xf
Sigue comentando a ver que sale...


0x8f: nada
0x2f: nada
0x4f: nada
0xcf: nada
0xf: nada (este ya lo había probado)

¿Qué estás intentando, darme otro susto como el de los relés  ;D?

0xff  y  luego  0xef ??

Estoy envidiando no tener la panallita  ;D
« Última modificación: 29-10-2017, 18:14 (Domingo) por Ficht »

peperfus

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #104 en: 29-10-2017, 20:07 (Domingo) »
...

Hola, has probado por ejemplo 0x8f  ?

luego  probaría también 0x2f ; 0x4f ; 0xcf ; 0xf
Sigue comentando a ver que sale...


0x8f: nada
0x2f: nada
0x4f: nada
0xcf: nada
0xf: nada (este ya lo había probado)

¿Qué estás intentando, darme otro susto como el de los relés  ;D?

0xff  y  luego  0xef ??

Estoy envidiando no tener la panallita  ;D

Agua. Nada de nada.

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #105 en: 29-10-2017, 20:40 (Domingo) »
...

Hola, has probado por ejemplo 0x8f  ?

luego  probaría también 0x2f ; 0x4f ; 0xcf ; 0xf
Sigue comentando a ver que sale...


0x8f: nada
0x2f: nada
0x4f: nada
0xcf: nada
0xf: nada (este ya lo había probado)

¿Qué estás intentando, darme otro susto como el de los relés  ;D?

0xff  y  luego  0xef ??

Estoy envidiando no tener la panallita  ;D

Agua. Nada de nada.

Imagino que al reconectar la pantalla se inicia encendida verdad?
si en ese caso haces un i2cget => a la dirección de esta, que estado revela?

peperfus

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #106 en: 29-10-2017, 20:46 (Domingo) »
...

Hola, has probado por ejemplo 0x8f  ?

luego  probaría también 0x2f ; 0x4f ; 0xcf ; 0xf
Sigue comentando a ver que sale...


0x8f: nada
0x2f: nada
0x4f: nada
0xcf: nada
0xf: nada (este ya lo había probado)

¿Qué estás intentando, darme otro susto como el de los relés  ;D?

0xff  y  luego  0xef ??

Estoy envidiando no tener la panallita  ;D

Agua. Nada de nada.

Imagino que al reconectar la pantalla se inicia encendida verdad?
si en ese caso haces un i2cget => a la dirección de esta, que estado revela?


Sí, se inicia encendida. Me devuelve su propia dirección: 0x27

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #107 en: 29-10-2017, 20:50 (Domingo) »
...

Hola, has probado por ejemplo 0x8f  ?

luego  probaría también 0x2f ; 0x4f ; 0xcf ; 0xf
Sigue comentando a ver que sale...


0x8f: nada
0x2f: nada
0x4f: nada
0xcf: nada
0xf: nada (este ya lo había probado)

¿Qué estás intentando, darme otro susto como el de los relés  ;D?

0xff  y  luego  0xef ??

Estoy envidiando no tener la panallita  ;D

Agua. Nada de nada.

Imagino que al reconectar la pantalla se inicia encendida verdad?
si en ese caso haces un i2cget => a la dirección de esta, que estado revela?


Sí, se inicia encendida. Me devuelve su propia dirección: 0x27

y lo has probado?  0x10 y luego 0x27 ?
pruébalo ver que sale-...

peperfus

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #108 en: 29-10-2017, 22:47 (Domingo) »
root@OpenWrt:~# i2cset -y 0 0x27 0x10
La pantalla se apaga.
root@OpenWrt:~# i2cset -y 0 0x27 0x27
No pasa nada.

raphik

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #109 en: 30-10-2017, 18:27 (Lunes) »
Las líneas de datos D0 a D3 de nuestras pantallitas LCD no están conectadas, de ahí que sólo se pueda trabajar en modo 4-bits.


La patilla P3 no está conectada a ningún circuito interno del LCD, sino a un transistor alojado en la placa expansora, que actúa como relé y permite manejar el LED. P3=1 lo enciende y P3=0 lo apaga.

Como no es posible cambiar el valor de P3 aisladamente, habrá que averiguar qué valores dar a las patillas P2, P1 y P0 para no provocar efectos indeseados. Lo mejor es echarle un vistazo al manual y ver para qué sirve cada línea de control:


Una vez visto, parece razonable dejar P2=0 (ENabled, 0), P1=1 (RW, 1 modo lectura) y P0=0 (RS, 0 aunque daría igual si se pone 1).  Es decir:

bx1010 para encender el LED => 0x0A => i2cset -y 0 0x27 0x0A
bx0010 para apagar el LED    => 0X02 => i2cset -y 0 0x27 0x02

Sólo queda probar si funciona.
« Última modificación: 30-10-2017, 19:12 (Lunes) por raphik »

peperfus

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #110 en: 30-10-2017, 20:54 (Lunes) »
Funciona, así mola más. Muchas gracias, raphik.

Aunque si te digo la verdad.... y sintiéndolo mucho... no entiendo la explicación.  :-[

Entiendo que P2=E=Enabled
P1=RW
P0=RS

pero después de la explicación de las líneas de control (que son 3), pones 4 bits  ???

No lo termino de entender
¿Cuál es la correspondencia de cada bit con cada linea de control?
« Última modificación: 30-10-2017, 20:57 (Lunes) por peperfus »

raphik

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #111 en: 31-10-2017, 06:50 (Martes) »
Intentaré explicarlo. Como sabemos, la instrucción i2cset -y 0 0x27 0x0A envía dos bytes, o lo que es lo mismo, ocho bits al LCD.

En el caso del ejemplo, los dos bytes que se envían son 0A. Su  equivalente binario es 00001010. Cada cifra binaria da valor a cada una de las patillas P7 a P0 de la tarjeta expansora y a su vez a cada línea de datos y de control del módulo LCD:

0   0   0   0   1   0   1   0
↓   ↓   ↓   ↓   ↓   ↓   ↓   ↓
P7  P6  P5  P4  P3  P2  P1  P0
↓   ↓   ↓   ↓   ↓   ↓   ↓   ↓
D7  D6  D5  D4  LED E   RW  RS


No lo termino de entender
¿Cuál es la correspondencia de cada bit con cada linea de control?
Líneas de datos: D7 D6 D5 D4, controlada por los cuatro primeros bits.
Líneas de control: E  RW  RS, controlada por los tres últimos bits.
El LED se controla mediante el bit número 5, a través de la patilla P3. La patilla P3 es una patilla un tanto especial, porque no está conectada a ninguna línea del módulo LCD.

Teniendo en cuenta lo anterior, se puede encender el LED de forma segura con cualquier valor que responda al esquema ? ? ? ? 1 0 1 ?. O lo que es lo mismo, un número hexadecimal de dos cifras que acabe en A ó B: 0x0A, 0x0B, 0x1A, 0x1B, ..., 0xEA, 0xEB, 0xFA, 0xFB.

El esquema para apagarlo es ? ? ? ? 0 0 1 ?. Es decir, un número hexadecimal de dos cifras que acabe en 2 ó 3: 0x02, 0x03, 0x12, 0x13, ..., 0xE2, 0xE3, 0xF2, 0xF3.
« Última modificación: 31-10-2017, 09:21 (Martes) por raphik »

raphik

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #112 en: 31-10-2017, 10:03 (Martes) »
Como ya dije en otro post, hace unos días freí las pistas de mi AR-5387un.


Desde entonces he estado buscando la manera de conectar el LCD al puerto serie o al USB del router. Finalmente, he optado por una solución económica y facilona que pasa por utilizar un arduino nano de puente entre el router y el módulo LCD.

Es un proyecto interesante, pero que no tiene cabida en este hilo, dado que no utiliza GPIOs ni bus i2c.

PREGUNTA: Quisiera subir un vídeo en otro hilo. ¿Cómo se hace?
« Última modificación: 31-10-2017, 19:07 (Martes) por raphik »

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #113 en: 31-10-2017, 13:55 (Martes) »
Como ya dije en otro post, hace unos días freí las pistas de mi AR-5387un.


Desde entonces he estado buscando la manera de conectar el LCD al puerto serie o al USB del router. Finalmente, he optado por una solución económica y facilona que pasa por utilizar un arduino nano de puente entre el router y el módulo LCD.

Es un proyecto interesante, pero que no tiene cabida en este hilo, dado que no utiliza GPIOs ni bus i2c.

Ya puestos, pónle el firmware firmata al arduino, y utiliza el paquete firmata en openwrt. Creo que firmata puede comunicarse con los dispositivos I2C, así que de rebote tienes I2C a través de puerto USB, y no necesitas quemar más pistas...  >:D

Ficht

  • Visitante
Re: Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #114 en: 31-10-2017, 17:40 (Martes) »
Como ya dije en otro post, hace unos días freí las pistas de mi AR-5387un.


Desde entonces he estado buscando la manera de conectar el LCD al puerto serie o al USB del router. Finalmente, he optado por una solución económica y facilona que pasa por utilizar un arduino nano de puente entre el router y el módulo LCD.

Es un proyecto interesante, pero que no tiene cabida en este hilo, dado que no utiliza GPIOs ni bus i2c.

PREGUNTA: Quisiera subir un vídeo en otro hilo. ¿Cómo se hace?
Yo creo que "al menos los mortales" no podemos subir vídeos al foro... Yo lo que hago es buscar un alojamiento online o Youtube y poner el link...

Esto responde? O no he comprendido nada? ;)

Enviado desde mi PRA-LX1 mediante Tapatalk


raphik

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #115 en: 31-10-2017, 17:57 (Martes) »
Con las fotos lo que normalmente hago es subirla a un recurso de red (p.e., imgur) y publicar el enlace entre dos etiquetas [ img] y [ /img]

Con el vídeo, lo he subido a YouTube, pero no he podido publicarlo. Supongo que hago algo mal, porque peperfus sí ha podido publicar vídeos. (Ver mensaje https://foro.seguridadwireless.net/openwrt/proyecto-gpio-manejo-de-una-pantalla-lcd-via-bus-i2c/msg360114/#msg360114)

Por cierto, el vídeo de peperfus puedo verlo con M. Edge, pero no con IE.
« Última modificación: 31-10-2017, 17:59 (Martes) por raphik »

Ficht

  • Visitante
Re: Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #116 en: 31-10-2017, 18:03 (Martes) »
Con las fotos lo que normalmente hago es subirla a un recurso de red (p.e., imgur) y publicar el enlace entre dos etiquetas [ img] y [ /img]

Con el vídeo, lo he subido a YouTube, pero no he podido publicarlo. Supongo que hago algo mal, porque peperfus sí ha podido publicar vídeos. (Ver mensaje https://foro.seguridadwireless.net/openwrt/proyecto-gpio-manejo-de-una-pantalla-lcd-via-bus-i2c/msg360114/#msg360114)

Por cierto, el vídeo de peperfus puedo verlo con M. Edge, pero no con IE.
Si, es verdad, pero hay una forma, si subes de nivel (saliendo de openwrt) en el foro, hay una entrada que se explica cómo subir vídeos de YouTube...

Ahora desde Tapatalk no veo el link, pero por ahí anda.

Enviado desde mi PRA-LX1 mediante Tapatalk


raphik

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #117 en: 31-10-2017, 19:10 (Martes) »
Ok, ya lo he visto. Hay que poner sólo el "código" del vídeo youtube. Es decir, si la url del vídeo es
, hay que poner únicamente lo que va detrás del signo igual:
Código: [Seleccionar]
[youtube]EYPsCChMwfk[/youtube]
« Última modificación: 31-10-2017, 19:40 (Martes) por raphik »

peperfus

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #118 en: 31-10-2017, 20:35 (Martes) »
Ok, ya lo he visto. Hay que poner sólo el "código" del vídeo youtube. Es decir, si la url del vídeo es
, hay que poner únicamente lo que va detrás del signo igual:
Código: [Seleccionar]
[youtube]EYPsCChMwfk[/youtube]


Mola !, algo así tenía pensado yo intentar hacer, con un lector RSS para poner noticias, resultados de fútbol, o cosas por el estilo.

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #119 en: 03-12-2017, 01:16 (Domingo) »
Hola.
Aquí estoy peleando con un LCD que ya no se por donde...

El comando i2cdetect da una salida un poco loca ¿a que puede deberse =así a priori=?

Citar
root@LEDE:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77