?>/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 68814 veces)

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

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #120 en: 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.

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #121 en: 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  ^-^ )

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

peperfus

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #122 en: 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  ^-^ )

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

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

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 »

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #123 en: 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  ^-^ )

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

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

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: [Seleccionar]
echo "bmp280 0x76" > /sys/bus/i2c/devices/i2c-0/new_device

Luego, para leer el sensor lo hago de esta manera.
Código: [Seleccionar]
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: [Seleccionar]
#!/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: 11-12-2017, 15:21 (Lunes) por Ficht »

raphik

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #124 en: 23-12-2017, 13:30 (Sábado) »
El mapa de caracteres de estos LCDs es:


El carácter que más se aproxima a º es el bx1101111 (223 en decimal y 0xDF en hexadecimal). Actualmente no tengo ninguna pantalla conectada al router y no puedo hacer pruebas, pero si te apetece podrías probar tú mismo si este código:
Código: [Seleccionar]
./lcd 0 0 "▀C"Sólo hay que copiar y pegar.

Saludos.

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #125 en: 23-12-2017, 15:08 (Sábado) »
El mapa de caracteres de estos LCDs es:


El carácter que más se aproxima a º es el bx1101111 (223 en decimal y 0xDF en hexadecimal). Actualmente no tengo ninguna pantalla conectada al router y no puedo hacer pruebas, pero si te apetece podrías probar tú mismo si este código:
Código: [Seleccionar]
./lcd 0 0 "▀C"Sólo hay que copiar y pegar.

Saludos.

Sale la letra "beta dos espacios y C" así (ß  C)
Yo he estado jugando con esta tabla del libro que recomendaste (muy bueno por cierto, de lo mejor que he leído referente al tema lcd) pero aún así, no he dado con el caracter apropiado.
Aún estoy en la fase de comprensión de tu script y sus funciones ...  ;D ;D

peperfus

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #126 en: 23-12-2017, 22:31 (Sábado) »
No sé por donde leí que se podía definir tu propia tabla de caracteres, "dibujándolos", pero no puedo ayudar más.

raphik

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #127 en: 04-01-2018, 20:52 (Jueves) »
@Fitch
El truco para escribir el carácter º consiste en pasarle al script su valor octal (que es \337).

Código: [Seleccionar]
./lcd 0 0 "Temperatura 19\337C"


Solución encontrada en http://todomarino.com/forum/temas/como-poner-el-s%C3%ADmbolo-de-%C2%BA-grados-en-la-temperatura.88667/

Saludos.

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #128 en: 06-01-2018, 01:03 (Sábado) »
@Fitch
El truco para escribir el carácter º consiste en pasarle al script su valor octal (que es \337).

Código: [Seleccionar]
./lcd 0 0 "Temperatura 19\337C"


Solución encontrada en http://todomarino.com/forum/temas/como-poner-el-s%C3%ADmbolo-de-%C2%BA-grados-en-la-temperatura.88667/

Saludos.

Hola raphik; al parecer en ese formato de línea, el script no interpreta los valores mas allá del caracter entrecomillado, como texto tal cual, solo que la barra \ la convierte a simbolo de yen ¥  escribiendo en pantalla
Citar
Temperatura 19¥337C
No se si el camino sería algo así  
Código: [Seleccionar]
./lcd 0 0"Temperatura 19 $printf("%c" 0xdf)C" #esto está mal expresado, pero probaré a ver que saco  

Mirando un poco sobre printf me da la idea de que esto debería funcionar ????
Código: [Seleccionar]
./lcd2 0 0 "Temperatura $(printf "%p" 0xdf )     " pero no, no funciona este formato. ademas, ahora creo que usar printf es una redundancia   con el propio script que ya lo hace

Tal vez el camino sea, sacar el código del simbolo en el teclado japones, y creo que el script lo sacaría perfectamente en pantalla... no?
« Última modificación: 06-01-2018, 12:13 (Sábado) por Ficht »

edudi

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #129 en: 19-01-2018, 04:59 (Viernes) »
Buenas a tod@s, hacía tiempo que no aparecía de forma más explícita.

Me encanta este HILO, dotar al router de más opciones, y ya lo de ponerle sensores: de temperatura y presión, es lo más.

En breve me pido un puente de I2C para empezar a probar todo esto que tengo varias pantallas de 16x2.

Me picó la curiosidad de entrar porque recordaba algo de manejar por I2C usando menos pines GPIO, ya que hoy estuve con una compi montando una pantalla de 2.2 táctil para arduino y ....se me encendió la duda típica:

¿ Y esto lo podrá manejar un router ?




Features:
- Arduino library: UTFT
- Driver IC: ILI9225
- Touch screen type: resistive touchscreen.
- Touch Pen: length is 9cm;
- Resolution: 176X220, 16-bit (262,000) color
- Display size: 2.2 inch;
- Operating voltage: 3.3V;
- Logic level: 3.3V;
- Operating current: the maximum is 150mA
- LED pin can connect to external backlight control circuit to control the brightness of backlight. You can connect it to GND to turn on the backlight all day.
- Very suitable for digital photo frame, oscilloscope, function generator, detection system monitor

Compatibility: Because the logic level is 3.3V, it is compatible with 3.3V Arduino board, you need to add a level conversion circuit if you use a 5V Arduino Board (Arduino UNO R3 / Arduino Mega2560 / Arduino Leonardo).

Package Includes:
1 x Touch Screen Expansion Board
1 x Touch Pen


Realmente no me interesa de forma excesiva la tactilidad, pero si la pantalla en color y en esas dimensiones ó más. Me suena ver algo de eso en pequeño no sé si era con OpenWRT, con el icono del sombrero en gif o algo así, pero para reencontrarlo me está siendo difícil.

Estaría brutal, que por GPIO se le pudiera ya no solo poner una pantalla de 16x2 sino algo aun más avanzado, mayor y en color.

A lo posteado: Muy buenos avances y de gran utilidad.



======================== Asunto que se me quedó en el tintero páginas atrás ==============

Por cierto, por fin me ha llegado la tarjeta de sonido USB con jacks de altavoz y micro, el altavoz va bien de momento, el micro probé el paquete: Listener     y, funciona el programa, aunque hay que corregir algunas cosas en el archivo de configuración y crear unas carpetas que se ve que está exportado tal cual.

Carpeta a crear:


/usr/local/etc     y copiar el archivo: listener.conf      (que se aloja en /etc      a la carpeta creada)


Archivo de configuración:


wav_path = /tmp/
fname_template = listener-%h-%y%m%d-%H%M%S.wav
devname = /dev/dsp
detect_level = 1
min_duration = 10
rec_silence = 5
max_duration = 60
min_triggers = 2
sample_rate = 8000
channels = 1
format=wav
amplify = off
start_amplify = 1.5
max_amplify = 10.0
fixed_amplify = no
safe_after_filter = no
one_shot = no

#compression = a-law
#filter = ./my_filter2.so.0.1 0 3000.0 1.0


La forma de funcionar tal cual está es:

root@GPIO_Solar:~# listener

listener v1.7.2, (C)2003-2005 by folkert@vanheusden.com
Path:          /tmp/
Device:        /dev/dsp
Level:         1
Min duration:  10.000000
Max duration:  60.000000
Samplerate:    8000
Channels:      1
Number of seconds record before sound starts: 2
Start amplify: 1.500000
Max. amplify:  10.000000

root@GPIO_Solar:~#



Se lanza y se queda en segundo plano devolviendo el prompt. Tal como viene el archivo de configuración ya que es como el motion el mecanismo, si detecta sonido se activa y graba un audio de como mínimo 10 sg y máximo 60 sg, pero está grabando siempre, por lo que iré probando e imagino que con el campo detect_level = 1, se calibrará al gusto.

Lo típico para cerrarlo:       killall listener             (y deja de crear archivos si detecta, el tamaño es 10 kb x sg, de momento las pruebas con #compression = a-law, descomentado, hace que el archivo no se pueda reproducir. Sería bueno que grabase directamente en mp3, o en su defecto convertirla al acabar con otro programa a mp3 (esto último si es sencillo))


Y estas son sus opciones:

root@GPIO_Solar:~# listener --help
listener: invalid option -- -
listener v1.7.2, (C)2003-2005 by folkert@vanheusden.com

Usage: listener [options]
-C<compression>  Set WAV compression    -e<command>      Script to call after recording
-r<rate>         Sample rate            -m<min_duration> Mini. duration to record (samples)
-b<rec_silence>  how many seconds to keep recording after no sound is heard
-c<configfile>   Configfile to use      -x<max_duration> Max. duration to record (seconds)
-w<wave-dir>     Where to write .WAVs   -d<device>       DSP device to use (/dev/dsp)
-z<channels>     Number of channels (1 (default) or 2)
-t<format>       Output format (see manual)
-y<command>      Script to call as soon as the recording starts
-F               use a fixed amplification factor
-p               Read from pipe (together with splitaudio)
-f               don't fork into the background
-l<detect_level> Detect level           -a<pidfile>      file to write the pid in
-s               Be silent              -h               This help text

-o               exit after 1 recording
root@GPIO_Solar:~#



Las funciones que más me gustan son:

- Las de ejecutar un script al iniciar una grabación si detecta sonido o al acabar la grabación.
- La del formato, habría que buscar si admite otros formatos de audio o al igual se refiere al formato del nombre del archivo.
- El factor de amplificación, muy curioso



Iré probando y si veo una configuración adecuada lo comento. Un saludo y gracias por tanto conocimiento y bien documentado ;)

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #130 en: 05-04-2018, 22:18 (Jueves) »

Hola; raphik, habría algún modo de lograr un scroll de texto utilizando este script del lcd =>I2C?
o abría que añadir otra función al script?

Saludos.

raphik

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #131 en: 17-04-2018, 20:42 (Martes) »
@ Fitch

Lo intenté hace tiempo añadiendo código. El problema de los scripts es que no permiten manejar intervalos inferiores a un segundo. Al final opté por controlar la pantalla indirectamente, a través de un arduino. Tiene la ventaja de no soldar dentro del router y de no sobrecargarlo de código.



Se maneja enviando cadenas de texto al puerto serie.
Código: [Seleccionar]
echo "w,0,Texto que sale por pantalla haciendo scrolling   " > /dev/ttyUSB0
La velocidad de cada línea se ajusta independientemente. (Si te fijas en el vídeo, la línea de arriba es más lenta que la de abajo).
Código: [Seleccionar]
echo "m,1,300" > /dev/ttyUSB0
Saludos.
« Última modificación: 17-04-2018, 21:20 (Martes) por raphik »

Ficht

  • Visitante
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #132 en: 18-04-2018, 00:34 (Miércoles) »
@ Fitch

Lo intenté hace tiempo añadiendo código. El problema de los scripts es que no permiten manejar intervalos inferiores a un segundo. Al final opté por controlar la pantalla indirectamente, a través de un arduino. Tiene la ventaja de no soldar dentro del router y de no sobrecargarlo de código.



Se maneja enviando cadenas de texto al puerto serie.
Código: [Seleccionar]
echo "w,0,Texto que sale por pantalla haciendo scrolling   " > /dev/ttyUSB0
La velocidad de cada línea se ajusta independientemente. (Si te fijas en el vídeo, la línea de arriba es más lenta que la de abajo).
Código: [Seleccionar]
echo "m,1,300" > /dev/ttyUSB0
Saludos.

Si, tienes razón el manejo es muy simple así, el vídeo queda genial, a ver que se me ocurre.
Saludos.

Desconectado peperfus

  • ******
  • Mensajes: 251
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #133 en: 08-09-2018, 23:19 (Sábado) »
@ eludi https://foro.seguridadwireless.net/openwrt/te-habla-tu-router/

Saludos.

Por favor, algún admin puede reparar el enlace? no va.
Gracias y perdón por la molestia.
Incluso estaría guay añadirlo al hilo de hilos relevantes.
« Última modificación: 08-09-2018, 23:20 (Sábado) por peperfus »

Desconectado raphik

  • *****
  • Mensajes: 102
Re: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #134 en: 09-09-2018, 13:05 (Domingo) »
@ eludi https://foro.seguridadwireless.net/openwrt/te-habla-tu-router/

Saludos.

Por favor, algún admin puede reparar el enlace? no va.
Gracias y perdón por la molestia.
Incluso estaría guay añadirlo al hilo de hilos relevantes.

Aquí https://foro.seguridadwireless.net/openwrt/texto-a-voz-con-openwrt/

Desconectado peperfus

  • ******
  • Mensajes: 251
Re:Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #135 en: 17-10-2018, 12:54 (Miércoles) »
Buenas... tengo unas dudillas

Le he ppuesto a un comtrend una pantalla LCD 2004, pero también quiero añadirle 4 relés. Lo tengo prácticamente hecho y funciona "bien". El problema es que creo que los 5V que saqué del router, no dan abasto para alimentar a los dos aparatitos a la vez y la pantalla pierde brillo, quedando prácticamente ilegible, o bien los relés empiezan a "temblar". Como no tengo demasiada idea de electricidad, pregunto: ¿es debido a que esos 5V no dan los suficientes miliAmperios para ambos a la vez? (Eso es lo que creo).
¿Podría sacar otros 5V de otro punto de la placa del router o todos comparten los mismos mA y estaría en las mismas?
¿Puedo alimentar por ejemplo, los relés con el router y la LCD con un USB de un cargador de móvil, que también da 5V?
En caso afirmativo.... ¿puedo darle los 5V del rojo del usb y devolver la parte negativa al negro (GND) del router o debo devolverlo también por el negro del mismo USB del cargador?

Y otra cosa más: quiero ponerle también tarjeta de sonido USB, así que me imagino que eso también le restará "fuerza" a los 5V del router.... ¿afectará también a la pérdida de tensión / intensidad para los relés...?

Gracias x 1000.

PD: si eso cuando lo termine pondré una foto, que lo voy a poner anclado a un tablón de madera. Me molaría mucho también ponerle lo que he visto por ahí que hay sensor de temperatura y de presión atmosférica, pero no sé si es tan "fácil" como lo de la LCD o hay que liarse mucho más. También tengo una plaquita con numeritos y unos pines, no sé si será también relativamente fácil como conectarla a la expansora de bus I2C y leer qué numerito se ha tocado. Raphik, creo que tenías algo de esto también. Sabes más o menos el nivel que tengo. ¿Lo ves muy chungo para mí o me animas a intentarlo?
« Última modificación: 17-10-2018, 13:05 (Miércoles) por peperfus »

Desconectado raphik

  • *****
  • Mensajes: 102
Re:Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #136 en: 17-10-2018, 17:59 (Miércoles) »
@peperfus

La pantalla LCD consume muy poco, por lo que no debería de ser un problema alimentarla con los 5V del router.

Los relés consumen más. Lo ideal es que los alimentes con una fuente adicional. Recuerda conectar entre sí los negativos del relé y del router o no funcionará.
Fíjate a ver si los relés que tienes son de 5 o de 12V, que los hay de los dos.



Saludos.
« Última modificación: 17-10-2018, 17:59 (Miércoles) por raphik »

Desconectado Ficht

  • ****
  • Mensajes: 63
Re:Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #137 en: 23-10-2018, 07:58 (Martes) »
Hola  @raphik

Que conexión has hecho en tu pantalla con el arduino nano?  en la foto de antes da la impresión de que usas los cables del ¿i2c?
Saludos.

Desconectado raphik

  • *****
  • Mensajes: 102
Re:Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #138 en: 23-10-2018, 09:15 (Martes) »
@Fitch
Efectivamente, conectando SDA y SCL a los puntos A4 y A5 del nano. Naturalmente, también hay que conectar +5V y GND. Hay un magnífico tutoria aquí: https://www.luisllamas.es/arduino-lcd-i2c/

Saludos.
« Última modificación: 23-10-2018, 09:16 (Martes) por raphik »

Desconectado peperfus

  • ******
  • Mensajes: 251
Re:Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.
« Respuesta #139 en: 02-11-2018, 12:33 (Viernes) »
Buenas... tengo unas dudillas

Le he ppuesto a un comtrend una pantalla LCD 2004, pero también quiero añadirle 4 relés. Lo tengo prácticamente hecho y funciona "bien". El problema es que creo que los 5V que saqué del router, no dan abasto para alimentar a los dos aparatitos a la vez y la pantalla pierde brillo, quedando prácticamente ilegible, o bien los relés empiezan a "temblar". Como no tengo demasiada idea de electricidad, pregunto: ¿es debido a que esos 5V no dan los suficientes miliAmperios para ambos a la vez? (Eso es lo que creo).
¿Podría sacar otros 5V de otro punto de la placa del router o todos comparten los mismos mA y estaría en las mismas?
¿Puedo alimentar por ejemplo, los relés con el router y la LCD con un USB de un cargador de móvil, que también da 5V?
En caso afirmativo.... ¿puedo darle los 5V del rojo del usb y devolver la parte negativa al negro (GND) del router o debo devolverlo también por el negro del mismo USB del cargador?

Y otra cosa más: quiero ponerle también tarjeta de sonido USB, así que me imagino que eso también le restará "fuerza" a los 5V del router.... ¿afectará también a la pérdida de tensión / intensidad para los relés...?

Gracias x 1000.

PD: si eso cuando lo termine pondré una foto, que lo voy a poner anclado a un tablón de madera. Me molaría mucho también ponerle lo que he visto por ahí que hay sensor de temperatura y de presión atmosférica, pero no sé si es tan "fácil" como lo de la LCD o hay que liarse mucho más. También tengo una plaquita con numeritos y unos pines, no sé si será también relativamente fácil como conectarla a la expansora de bus I2C y leer qué numerito se ha tocado. Raphik, creo que tenías algo de esto también. Sabes más o menos el nivel que tengo. ¿Lo ves muy chungo para mí o me animas a intentarlo?

Me contesto a mí mismo (y como referencia para cualquiera):

He conectado un ladrón de USB al puerto del router. Dicho ladrón está alimentado por enchufe. Pues bien. Al hacerlo, sorprendentemente, la pantalla LCD sigue iluminada tras apagar el router, además de poder tener conectados los relés y la pantallita, todo perfectamente, sin perder potencia.
Lo cual, me hace pensar que la tensión de los 5V está compartida entre el puerto USB y el punto al que tengo soldada la alimentación de la LCD y relés...

Me viene genial porque mato 2 pájaros de un tiro:
Amplío puertos USB y además proporciono alimentación para que todo funcione perfecto.
 >:(