Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
11-12-2017, 16:01 (Lunes)
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 4 5 6 [7] Ir Abajo Imprimir
Autor Tema: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.  (Leído 8554 veces)
Tki2000
Moderador
*
Desconectado Desconectado

Mensajes: 1759


Ver Perfil
« Respuesta #120 : 03-12-2017, 16:59 (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

A mí me suena a parasitismo en el cableado.
¿Has mirado si poniendo las resistencias pull-up se mejora la señal?
Comprueba que los pines estén bien soldados.
En línea

No habrás entendido algo, hasta que seas capaz de explicárselo a tu abuela...
Hacemos pantallas con píxeles casi invisibles, para luego ampliar la letra porque no la vemos... Bonita paradoja...
Creamos analfabetos tecnológicos con una velocidad pasmosa. Todo el mundo "maneja" tecnología, casi nadie sabe lo que tiene entre las manos, pero todo el mundo opina.
El analfabetismo, antes, pasaba desapercibido. Ahora, se transmite por Internet y las redes sociales.
Ficht
*******
Desconectado Desconectado

Mensajes: 516



Ver Perfil
« Respuesta #121 : 03-12-2017, 18:21 (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

A mí me suena a parasitismo en el cableado.
¿Has mirado si poniendo las resistencias pull-up se mejora la señal?
Comprueba que los pines estén bien soldados.


El problema debe ser ese, parasitismo, es posible que tenga que ver con algún relé interno de la placa (o diodos) en esos GPIO's, la pantalla la mudé al bus=0-I2C y ahí si le gusta, funciona bien.
Del cableado... jajaja ni me hables, por suerte tenía dos LCD iguales (mismo problema) y una de ellas la despiecé buscándole la música... el bus=1-I2C si me trabaja con un sensor de temperatura BMP280 correctamente, por eso buscaba el error en la pantalla (por tonto que suene... llevándome bien  Azn )

Ahora me pelearé para que el script suelte " ºC " y  "mbar"  Wink
En línea
peperfus
******
Desconectado Desconectado

Mensajes: 264


Ver Perfil WWW
« Respuesta #122 : 03-12-2017, 21:05 (Domingo) »

...
...
El problema debe ser ese, parasitismo, es posible que tenga que ver con algún relé interno de la placa (o diodos) en esos GPIO's, la pantalla la mudé al bus=0-I2C y ahí si le gusta, funciona bien.
Del cableado... jajaja ni me hables, por suerte tenía dos LCD iguales (mismo problema) y una de ellas la despiecé buscándole la música... el bus=1-I2C si me trabaja con un sensor de temperatura BMP280 correctamente, por eso buscaba el error en la pantalla (por tonto que suene... llevándome bien  Azn )

Ahora me pelearé para que el script suelte " ºC " y  "mbar"  Wink

Eso es muy pero que muy interesante. ¡¡ Documentación y tutorial para seguir por favor !!
Esto es una droga !
 Grin

Precisamente hace unos días hice un "detector de tormentas casero", por menos de 2...3 € con una simple botellita de agua y un cuentagotas, siguiendo un videotutorial que encontré en youtube. Lo del medidor de mbar me vendría de lujo para saber la presión exacta a la que funciona el "inventillo".
« Última modificación: 03-12-2017, 21:08 (Domingo) por peperfus » En línea

Vendo routers Livebox 2.1 ARV7519RW22-A-LT Flasheados con openwrt/lede nuevos "a estrenar". Sólo desprecintados y usados una vez para flashearlos. Incluye accesoarios originales: transformador, latiguillo de red y latiguillo rj11.
Por 10 € (+ gastos de envío.)
Interesados enviar mensaje privado.
Ficht
*******
Desconectado Desconectado

Mensajes: 516



Ver Perfil
« Respuesta #123 : 03-12-2017, 21:42 (Domingo) »

...
...
El problema debe ser ese, parasitismo, es posible que tenga que ver con algún relé interno de la placa (o diodos) en esos GPIO's, la pantalla la mudé al bus=0-I2C y ahí si le gusta, funciona bien.
Del cableado... jajaja ni me hables, por suerte tenía dos LCD iguales (mismo problema) y una de ellas la despiecé buscándole la música... el bus=1-I2C si me trabaja con un sensor de temperatura BMP280 correctamente, por eso buscaba el error en la pantalla (por tonto que suene... llevándome bien  Azn )

Ahora me pelearé para que el script suelte " ºC " y  "mbar"  Wink

Eso es muy pero que muy interesante. ¡¡ Documentación y tutorial para seguir por favor !!
Esto es una droga !
 Grin

Precisamente hace unos días hice un "detector de tormentas casero", por menos de 2...3 € con una simple botellita de agua y un cuentagotas, siguiendo un videotutorial que encontré en youtube. Lo del medidor de mbar me vendría de lujo para saber la presión exacta a la que funciona el "inventillo".

Aquí hay un par de fotos, pero aun estoy en fase de desarrollo.... jajaja
El numero de 4 dígitos es temperatura, y en de 6 es presión atmosférica en milibares.
Edito: agregando fecha y hora.

                                         

Tanto la pantalla verde "16x1" como el sensor, trabajaron perfectamente en el bus=1 I2C, pero la azul 16x2 no hubo manera (de locura)

EDITO_2: ========>

Bueno; jugando con las pantallas lcd y el sensor de temperatura y presión BMP280...

El sensor queda instalado en la dirección 0x76 del bus I2C (en este caso el 0)
La lectura del sensor es fácil,  la hoja de características describe las direcciones donde leer los estados tanto de temperatura como de presión, dados en ºC y kPa. GitHub

Por otra parte, el sensor, está soportado por el kernel de linux y disponible en openwert/LEDE, solo hay que activarlo en "make kernel_menuconfig"=>"Device Driver"=> <*>Industrial I/O support=>Pressure sensors=> <*> Bosh sensortec BPM280..... de esta manera se puede leer de forma nativa con una simple línea.
(supongo que agregando los módulos manualmente podría funcionar, pero ni idea)

Desde la línea de comando, indicando la dirección del dispositivo para que se cargue el driver y se cree el dispositivo "/dev/iio:device0"

Código:
echo "bmp280 0x76" > /sys/bus/i2c/devices/i2c-0/new_device

Luego, para leer el sensor lo hago de esta manera.
Código:
root@LEDE:~# echo "scale=2; $(cat /sys/bus/iio/devices/iio:device0/in_temp_input)/1000" | bc
18.88    #valor en ºC

root@LEDE:~# echo "scale=2; $(cat /sys/bus/iio/devices/iio:device0/in_pressure_input)*10/1" | bc
1013.61    #valor llevado a mbar

El script que estoy usando para que salga en el LCD es el sig: pero claro es un poco improvisado y tendría que buscar la manera de arreglar un problema, que hasta ahora no se ha visto, pero que cuando bajen los milibares de 1000 a 900 si que lo veré y es que al bajar la cifra de 7 a 6, el último caracter que es una "r", no se borrara. Arreglado, tonto de mi, entrecomillando la línea y dejando un espacio al final... (edito tb el codigo.)
tampoco he dado con un código que pinte en la pantalla "ºC" (he puesto *C) parece que (\337) o (\223) debería de pintarlo, pero creo que usando las librerias de Py ¿? no me he preocupado mas de esto
Código:
#!/bin/sh
./lcd init
while true; do
./lcd 0 0 "$(echo "scale=2; $(cat /sys/bus/iio/devices/iio:device0/in_temp_input)/1000" | bc)*C "
sleep 0.5
./lcd 0 11 $(date +"%d-%m")
sleep 0.5
./lcd 1 0 "$(echo "scale=2; $(cat /sys/bus/iio/devices/iio:device0/in_pressure_input)*10/1" | bc)mbr "
sleep 0.5
./lcd 1 11 $(date +"%H:%M")
sleep 9
done

Es este momento estoy intentando utilizar los trigger's del sensor, intentando adaptarme a esta guía IIO buffers and triggers pero no se estructura de la misma manera en openwrt/LEDE con lo cual no funciona y bueno, por aquí ando pegándole cabezazos a ver qué me sale.
« Última modificación: Hoy a las 15:21 por Ficht » En línea
Páginas: 1 2 3 4 5 6 [7] 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