Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
19-10-2017, 21:49 (Jueves)
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] Ir Abajo Imprimir
Autor Tema: Proyecto GPIO: Manejo de una pantalla LCD vía bus I²C.  (Leído 5917 veces)
raphik
******
Desconectado Desconectado

Mensajes: 451



Ver Perfil
« Respuesta #80 : 02-10-2017, 18:56 (Lunes) »

@peperfus
Permite que te sugiera algo de código que podrías utilizar en tu script.

El comando "date" permite utilizar formatos de salida que simplifican el código. Prueba:
Código:
date +"%d/%m/%y  %T"
Fuente: http://www.elmundoenbits.com/2013/04/date-format-bash-linux.html#.WdJwYuZrzcu

Por defecto OpenWrt no implementa el comando "locale", pero se puede generar el día de la semana en español con poco código. Prueba:
Código:
set -- "lunes" "martes" "miércoles" "jueves" "viernes" "sábado" "domingo"
eval "echo \$$(date +%u)"
« Última modificación: 02-10-2017, 21:58 (Lunes) por raphik » En línea
peperfus
*****
Desconectado Desconectado

Mensajes: 208


Ver Perfil WWW
« Respuesta #81 : 02-10-2017, 23:44 (Lunes) »

Gracias

Lo de las opciones del date me lo imaginaba; me sonaba de haberlas usado alguna vez, pero me ha dado más pereza mirar la sintaxis que hacer el tocho manualmente   Grin Grin

Las otras dos opciones .... no tengo NPI...

De momento lo dejaré así. Ya si eso más adelante lo cambiaré.

Lo he actualizado arreglando unos cuantos fallos y añadiendo información como el estado de conecxión a Internet y si está en marcha ntpd. De esa forma podemos saber que la hora que muestra es fiable.
Este de momento ya lo dejo así.
El próximo script voy a intentar que muestre resultados de fútbol. O esa es la idea  Grin
« Última modificación: 02-10-2017, 23:45 (Lunes) por peperfus » En línea
peperfus
*****
Desconectado Desconectado

Mensajes: 208


Ver Perfil WWW
« Respuesta #82 : 03-10-2017, 14:00 (Martes) »

Por cierto, raphik...
Por casualidad no sabrás los comandos para inicializar la LCD 2004, ¿verdad?  Azn
En línea
raphik
******
Desconectado Desconectado

Mensajes: 451



Ver Perfil
« Respuesta #83 : 03-10-2017, 21:44 (Martes) »

Que yo sepa todos los LCD basados en la controladora HITACHI HD44780 se inicializan de la misma manera, independientemente de su formato. Es decir, se inicializa lo mismo una 1604 que una 2004. El procedimiento de inicialización está descrito en las páginas 11 y 12 de este documento escrito por el profesor Carlos Canto Quintal. Otra cosa es cómo habría que posicionar el cursor para escribir en un posición determinada.

El mapa de posiciones para una pantalla 1602 es


Y el de una 2004

Si te fijas bien, una pantalla 2004 es en realidad una pantalla de dos filas y cuarenta columnas en la que las filas 0 y 1 se rompen en dos mitades que pasan a ser las filas 2 y 3.

Ejemplo de código para escribir el carácter "W" en la fila 2 (tercera fila), columna 7 (octava columna)
Código:
func_LCD I $((0x80+0x1B))
func_LCD C "W"

La función func_row_col() del primer post está pensada para posicionar el cursor en una pantalla de dos líneas. No es que no funcione en una de cuatro pero sería raro, por ejemplo, posicionar el cursor en la fila 0x00, columna 0x14 para escribir un carácter en la fila 0x03, columna 0x00.

Es más intuitiva esta otra
Código:
func_row_col()
{
  local base ;
  if [ $1 == 0 ]; then base=0x00; fi
  if [ $1 == 1 ]; then base=0x40; fi
  if [ $1 == 2 ]; then base=0x14; fi
  if [ $1 == 3 ]; then base=0x54; fi
  func_LCD I $((0x80+$base+$2))
}

No la he probado. Debería funcionar indistintamente tanto en pantallas de dos como de cuatro líneas. Si la pruebas y funciona, la incorporo al script.
« Última modificación: 05-10-2017, 08:51 (Jueves) por raphik » En línea
peperfus
*****
Desconectado Desconectado

Mensajes: 208


Ver Perfil WWW
« Respuesta #84 : 04-10-2017, 17:24 (Mi?rcoles) »

Gracias por la explicación y la mejora.

Lo de sumar $2 a $base lo entiendo, porque le sumas la columna al principio de cada fila, pero no entiendo lo del 0x80 del principio. Si puedes explicarlo.... gracias.


Me da este error:

Código:
root@LCD:~# ./lcd_write.sh 3 0 "Hola"
./lcd_write.sh: local: line 79: 0x00: bad variable name
./lcd_write.sh: line 79: : bad variable name

EDITO: ya está arreglado:

Por lo visto no se puede inicializar una variable a la vez que se declara, hay que hacerlo en una nueva línea:
Código:
local base;
base=0x00;



Como ahora "me sobra" una pantallita, lo que haré será puentear sus puntos de dirección para cambiar la dirección de dispositivo y usarla en serie con esta. Pondré  un par de fotos cuando lo tenga.
« Última modificación: 04-10-2017, 19:37 (Mi?rcoles) por peperfus » En línea
Ficht
******
Desconectado Desconectado

Mensajes: 481



Ver Perfil
« Respuesta #85 : 04-10-2017, 22:54 (Mi?rcoles) »


Offtopic:


A raíz de éste hilo, he empezado a montar un circuito de relés bajo I2C. (mi pantalla aún no ha salido)
He visto muchas cosas para la Pi, pero en bash no he visto casi nada, entiendo que para controlar el estado, el procedimiento es leer y escribir cada vez.
Una de mis dudas es; si existe alguna librería que ayude a calcular el nuevo estado cuando por ejemplo el estado previo es 0x5D y necesito que escriba 0x5F , o si hay que especificar previamente los posibles estados de los dispositivos del bus ¿...? no tengo ni idea...

Un script  que estuve mirando, parecía que exportaba los puntos como GPIO, ¿es posible o rentable tratarlos así? (a ver si encuentro de nuevo la página)

En fin, es para enloquecer, aunque divertido...  Cheesy  (cuando no sabemos)


EDITO:


Estoy usando el propio de la pantalla i modificandolo, creo que funcionará genial...
« Última modificación: 04-10-2017, 23:13 (Mi?rcoles) por Ficht » En línea
Ficht
******
Desconectado Desconectado

Mensajes: 481



Ver Perfil
« Respuesta #86 : 04-10-2017, 23:10 (Mi?rcoles) »

Conseguido!!

En efecto, lo más simple para el control de relés en el bus I2C, es convertir los pines en simples GPIO.

Esta fue mi referencia: http://www.pragti.ch/kippycam/2012/08/15/Adding-an-I2C-interface-to-the-TL-WR703N/
« Última modificación: 05-10-2017, 09:25 (Jueves) por Ficht » En línea
raphik
******
Desconectado Desconectado

Mensajes: 451



Ver Perfil
« Respuesta #87 : 05-10-2017, 11:54 (Jueves) »

@Fitch

Para manejar relés vía I²C se suele utiliza un expansor de bus tipo PCF8574.


El módulo de la foto no incorpora relés, pero vale perfectamente para entender cómo se controla este tipo de dispositivos.

El cable I²C del router se enchufa al conector dupont macho de la izquierda. A la derecha hay otro conector dupont hembra al que se podría conectar a su vez un segundo módulo expansor, y a éste un tercero... y así sucesivamente hasta un total de ocho módulos.

Cuando se conecta más de un módulo a mismo bus, hay que asignar una dirección física distinta a cada uno de ellos. Esto se consigue modificando la posición de los tres jumpers de color naranja.

En la parte superior hay un conector amarillo. El pin de más a la izquierda es 0V. El resto son 8 salidas digitales que pueden tomar los valores 0 o +5V, en función los valores binarios 0 o 1 que les asignemos.

Las 8 salidas digitales se pueden controlar desde una consola de OpenWRT o desde un script. Para establecer el valor de las salidas se usa el comando "i2cset" y para conocer su estado previo "i2cget".

Para entender lo que sigue ahora, hay que estar un poco familiarizado con los sistemas de numeración binario, hexadecimal y su aritmética.

Supongamos que queremos poner la patilla P7 de la tarjeta expansora a +5V y el resto a 0V. Bastará con enviar a la placa el valor binario 0b10000000. El problema es que los scripts no trabajan con binarios. Sólo se puede utilizar decimal y hexadecimal. Sabiendo que el valor decimal 0b10000000 equivale al valor hexadecimal 0x80 y suponiendo que el módulo estuviera conectado en la dirección 0x27 del bus 0, el código a enviar será
Código:
i2cset -y 0 0x27 0x80

Si lo que queremos en realidad es activar una o más patillas dejando invariable el resto, no queda otra que tirar del operador binario OR. Primero habría que conocer el estado previo de todas las patillas, luego habría que calcular el valor a enviar y por último enviarlo.

Lo vemos con un ejemplo: activar P7 preservando el estado de las demás salidas. Sabiendo que 0x10000000 equivale a 0x80,
Código:
prevState=$((i2cget -y 0 0x27))  # lectura del estado actual
newState=$(($prevState | 0x80))  #cálculo del nuevo valor respetando el estado previo
i2cset -y 0 0x27 $newState  # escritura del nuevo estado

Como esto se está poniendo un poco tocho lo dejo ya. Si de verdad interesa, podemos ver cómo desactivar determinadas patillas, respetando los valores previos, en una próxima entrega.
« Última modificación: 05-10-2017, 11:56 (Jueves) por raphik » En línea
Ficht
******
Desconectado Desconectado

Mensajes: 481



Ver Perfil
« Respuesta #88 : 05-10-2017, 12:36 (Jueves) »

@Fitch

Para manejar relés vía I²C se suele utiliza un expansor de bus tipo PCF8574.


El módulo de la foto no incorpora relés, pero vale perfectamente para entender cómo se controla este tipo de dispositivos.

El cable I²C del router se enchufa al conector dupont macho de la izquierda. A la derecha hay otro conector dupont hembra al que se podría conectar a su vez un segundo módulo expansor, y a éste un tercero... y así sucesivamente hasta un total de ocho módulos.

Cuando se conecta más de un módulo a mismo bus, hay que asignar una dirección física distinta a cada uno de ellos. Esto se consigue modificando la posición de los tres jumpers de color naranja.

En la parte superior hay un conector amarillo. El pin de más a la izquierda es 0V. El resto son 8 salidas digitales que pueden tomar los valores 0 o +5V, en función los valores binarios 0 o 1 que les asignemos.

Las 8 salidas digitales se pueden controlar desde una consola de OpenWRT o desde un script. Para establecer el valor de las salidas se usa el comando "i2cset" y para conocer su estado previo "i2cget".

Para entender lo que sigue ahora, hay que estar un poco familiarizado con los sistemas de numeración binario, hexadecimal y su aritmética.

Supongamos que queremos poner la patilla P7 de la tarjeta expansora a +5V y el resto a 0V. Bastará con enviar a la placa el valor binario 0b10000000. El problema es que los scripts no trabajan con binarios. Sólo se puede utilizar decimal y hexadecimal. Sabiendo que el valor decimal 0b10000000 equivale al valor hexadecimal 0x80 y suponiendo que el módulo estuviera conectado en la dirección 0x27 del bus 0, el código a enviar será
Código:
i2cset -y 0 0x27 0x80

Si lo que queremos en realidad es activar una o más patillas dejando invariable el resto, no queda otra que tirar del operador binario OR. Primero habría que conocer el estado previo de todas las patillas, luego habría que calcular el valor a enviar y por último enviarlo.

Lo vemos con un ejemplo: activar P7 preservando el estado de las demás salidas. Sabiendo que 0x10000000 equivale a 0x80,
Código:
prevState=$((i2cget -y 0 0x27))  # lectura del estado actual
newState=$(($prevState | 0x80))  #cálculo del nuevo valor respetando el estado previo
i2cset -y 0 0x27 $newState  # escritura del nuevo estado

Como esto se está poniendo un poco tocho lo dejo ya. Si de verdad interesa, podemos ver cómo desactivar determinadas patillas, respetando los valores previos, en una próxima entrega.

El tema es interesantísimo.
Por la noche, subiré fotos de las pruebas y placas montadas y funcionando a todo tren!! Dos modulos PCF8574, uno con 8 reles y otro con botones táctiles... desde luego al bus se le pueden sumar LCD sensores y todo lo que se tuerza...

Ya digo la solución mas simple encontrada ha sido convertir los pines P7=>P0 en GPIO y tratarlos con "out" "in"  "0 y 1" ya que se pueden exportar lo pines de un solo adaptador del bus o dos y dejar los sensores como toca... en fin, irán saliendo mas cosas, porque esto tiene varias maneras de tratarse.

No se si será ya prudente abrir otro hilo para esto o seguir aquí....
En línea
raphik
******
Desconectado Desconectado

Mensajes: 451



Ver Perfil
« Respuesta #89 : 05-10-2017, 12:37 (Jueves) »

Lo de sumar $2 a $base lo entiendo, porque le sumas la columna al principio de cada fila, pero no entiendo lo del 0x80 del principio. Si puedes explicarlo.... gracias.

En la página 22 del documento del profesor Carlos Canto Quintal, se puede ver que la instrucción para situar el cursor en una posición determinada tiene el formato siguiente


O sea, la instrucción consiste en un 1 en el 7º bit, seguido de la dirección de memoria que indica la posición del cursor.

Lo vemos con un ejemplo: calcular la instrucción que posiciona el cursor en la columna 6, fila 2 de un LCD 2004


La dirección de memoria del cursor se calcula sumando a la base (0x14) el valor de la columna:
0x14 + 0x06 = 0x1A (=0b00011010, en binario)

Finalmente, la instrucción se obtiene sumando el valor binario 0b1000000 (0x80, en hexadecimal) a la dirección de memoria del cursor:
0b10000000 + 0b00011010 = 0b10011010 (0x9A, en hexadecimal).

La instrucción que situa el cursor en la columna 6, fila 2 es 10011010.


En breve, la instrucción para posicionar el cursor se calcula sumando 0x80 a la dirección de memoria del cursor.
« Última modificación: 06-10-2017, 10:45 (Viernes) por raphik » En línea
Ficht
******
Desconectado Desconectado

Mensajes: 481



Ver Perfil
« Respuesta #90 : 05-10-2017, 22:00 (Jueves) »

Hace unos días a raíz de este hilo de raphik se me ocurrió la idea de montar un circuito de relés y botones bajo el bus I2C, poco a poco iré agregando sensores y alguna pantalla, es increíble la versatilidad y capacidad de expansión que tiene.
Soy bien consiente de mi carencia de conocimientos en todo esto, pero con pasión, empeño e imaginación lo voy sacando. (mas que nada, confío en la ayuda de la gente de éste foro  Wink )

Los módulos de expansión I2C que estoy usando son los PCF8574.

   

Ahora, citando a @raphik
Citar
Para entender lo que sigue ahora, hay que estar un poco familiarizado con los sistemas de numeración binario, hexadecimal y su aritmética.

Yo uso un soft conversor de base bidireccional "GHex" (dec, Octal, hex, binario y ASCII) recomendable para familiarizarse con todo esto.

Citar
Si lo que queremos en realidad es activar una o más patillas dejando invariable el resto, no queda otra que tirar del operador binario OR. Primero habría que conocer el estado previo de todas las patillas, luego habría que calcular el valor a enviar y por último enviarlo.

Esta parte la solucioné de esta manera creando un "nuevo device" que para mover los relé veo que es simple y suficiente, aunque hay algo que me dice que puede no ser lo mas eficiente.

Código:
echo pcf8574 0x39 > /sys/bus/i2c/devices/i2c-0/new_device
echo pcf8574 0x38 > /sys/bus/i2c/devices/i2c-0/new_device

Las dos nuevas GPIOBase
Código:
find /sys/class/gpio/gpio*
/sys/class/gpio/gpio481
/sys/class/gpio/gpio483
/sys/class/gpio/gpiochip458
/sys/class/gpio/gpiochip466
/sys/class/gpio/gpiochip474
/sys/class/gpio/gpiochip506



Se ve la carga en el dmesg (extracto)
Citar
i2c 0-0039: uevent
<7>[  268.825591] pcf857x 0-0039: probe
<7>[  268.825666] i2c i2c-0: master_xfer[0] R, addr=0x39, len=1
<6>[  268.826457] pcf857x 0-0039: probed
<7>[  268.830081] i2c i2c-0: client [pcf8574] registered with bus id 0-0039
<6>[  268.830133] i2c i2c-0: new_device: Instantiated device pcf8574 at 0x39
<7>[  281.481288] i2c 0-0038: uevent
<7>[  281.481799] pcf857x 0-0038: probe
<7>[  281.481875] i2c i2c-0: master_xfer[0] R, addr=0x38, len=1
<6>[  281.482559] pcf857x 0-0038: probed
<7>[  281.486199] i2c i2c-0: client [pcf8574] registered with bus id 0-0038
<6>[  281.486263] i2c i2c-0: new_device: Instantiated device pcf8574 at 0x38

---------- Y la carga de todo el Mapeado...

i2c i2c-0: master_xfer[0] W, addr=0x39, len=1
<7>[  745.166910] i2c i2c-0: master_xfer[0] W, addr=0x39, len=1
<7>[  752.678994] i2c i2c-0: master_xfer[0] W, addr=0x39, len=1
<7>[  752.680005] i2c i2c-0: master_xfer[0] W, addr=0x39, len=1
<7>[  765.262345] i2c i2c-0: master_xfer[0] W, addr=0x39, len=1
<7>[  765.263334] i2c i2c-0: master_xfer[0] W, addr=0x39, len=1
<7>[ 1737.932554] i2c i2c-0: ioctl, cmd=0x705, arg=0x7fbbe8f8
<7>[ 1737.932745] i2c i2c-0: ioctl, cmd=0x703, arg=0x03
<7>[ 1737.932793] i2c i2c-0: ioctl, cmd=0x720, arg=0x7fbbe8fc
<7>[ 1737.932834] i2c i2c-0: master_xfer[0] W, addr=0x03, len=0
<7>[ 1737.933647] i2c i2c-0: NAK from device addr 0x03 msg #0
<7>[ 1737.933746] i2c i2c-0: ioctl, cmd=0x703, arg=0x04
<7>[ 1737.933790] i2c i2c-0: ioctl, cmd=0x720, arg=0x7fbbe8fc
<7>[ 1737.933826] i2c i2c-0: master_xfer[0] W, addr=0x04, len=0
<7>[ 1737.934612] i2c i2c-0: NAK from device addr 0x04 msg #0
<7>[ 1737.934702] i2c i2c-0: ioctl, cmd=0x703, arg=0x05
<7>[ 1737.934742] i2c i2c-0: ioctl, cmd=0x720, arg=0x7fbbe8fc
<7>[ 1737.934777] i2c i2c-0: master_xfer[0] W, addr=0x05, len=0
<7>[ 1737.935708] i2c i2c-0: NAK from device addr 0x05 msg #0
<7>[ 1737.935936] i2c i2c-0: ioctl, cmd=0x703, arg=0x06
<7>[ 1737.935981] i2c i2c-0: ioctl, cmd=0x720, arg=0x7fbbe8fc
<7>[ 1737.936028] i2c i2c-0: master_xfer[0] W, addr=0x06, len=0
<7>[ 1737.936809] i2c i2c-0: NAK from device addr 0x06 msg #0
<7>[ 1737.936886] i2c i2c-0: ioctl, cmd=0x703, arg=0x07
<7>[ 1737.936919] i2c i2c-0: ioctl, cmd=0x720, arg=0x7fbbe8fc


Para ponerlo a 0 o a 1 basta con el típico "gpio.sh 1 out 0 | gpio.sh 1 out 1"

Esta manera es lo que buscaba en un inicio, pero no encontraba un ejemplo claro de donde tirar, ya que el 99% de la gente lo hace en la pi en phyton o con otras librerias que no he visto en openwrt.
Citar
Lo vemos con un ejemplo: activar P7 preservando el estado de las demás salidas. Sabiendo que 0x10000000 equivale a 0x80,
Código:
prevState=$((i2cget -y 0 0x27))  # lectura del estado actual
newState=$(($prevState | 0x80))  #cálculo del nuevo valor respetando el estado previo
i2cset -y 0 0x27 $newState  # escritura del nuevo estado
En línea
Ficht
******
Desconectado Desconectado

Mensajes: 481



Ver Perfil
« Respuesta #91 : 07-10-2017, 19:54 (S?bado) »

¿Como puedo definir un botón hecho a partir de un GPIO, para que me cree eventos y que sean recogidos en el logread? teniendo en cuenta que dichos botones no están definidos en el dts de la placa?
En línea
peperfus
*****
Desconectado Desconectado

Mensajes: 208


Ver Perfil WWW
« Respuesta #92 : 10-10-2017, 22:14 (Martes) »

Hola, Ficht. Me está llamando mucho la atención lo de los relés y me gustaría subirme al carro, aunque será mejor que comentemos este tema en otro hilo, porque esto ya poco tiene que ver con la pantallita de caracteres.

Un día de estos próximos abro un hilo, que tengo bastantes dudas y espero que me eches un cable !  Kiss  Grin Grin
En línea
Ficht
******
Desconectado Desconectado

Mensajes: 481



Ver Perfil
« Respuesta #93 : 10-10-2017, 22:23 (Martes) »

Si, estuve pensando en abrir otro hilo dedicado antes de postear, pero me da palo, no estoy a la altura como para iniciarlo... (Yo voy siempre por el camino largo de ensayo y error) Wink

Enviado desde mi PRA-LX1 mediante Tapatalk

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

Mensajes: 208


Ver Perfil WWW
« Respuesta #94 : 10-10-2017, 23:17 (Martes) »

Citar
Si, estuve pensando en abrir otro hilo dedicado antes de postear, pero me da palo, no estoy a la altura como para iniciarlo... (Yo voy siempre por el camino largo de ensayo y error) Wink


No digas eso, hombre.... Si yo hiciera lo mismo, no habría posteado prácticamente nada. Te habla uno de los más ignorantes del foro y he aprendido muchísimo gracias a él; además, cuanta más experiencia y conocimiento compartamos, mejor: tanto de lo correcto como de lo incorrecto. Cuando hacemos algo mal aprendemos; y si lo compartimos, los demás también aprenden. Yo doy bastante caña; soy muy cabezota....

Bueno, lo dicho: Mañana o pasado... iniciaré un hilo con la movida esa de los relés. Me parece MUY interesante ese tema. Así que haré un "tuto" al mismo tiempo que lo aprendo. Me mola mucho la idea esa de usar la placa expansora para poder controlar varios relés; pero eso es lo que menos controlo; qué "comandos" tengo que enviar a la plaquita para abrir uno u otro relé, etc... Ya me he pedido un par de relés; aunque seguramente pediré una plaquita de esas de 4 como las tuyas; y un módulo de esos expansor, como el que usan las pantallitas LCD. Mi idea es ponerlo por ejemplo para controlar la iluminación del acuario y alguna cosilla más.

Ya que dices que no tienes nivel para iniciar un hilo, lo iniciaré yo con mucho menos nivel  Evil Azn Tongue Grin Grin. Sé sabedor de que tus ayudas y comentarios serán honorablemente bienvenidos, Ficht.
En línea
Ficht
******
Desconectado Desconectado

Mensajes: 481



Ver Perfil
« Respuesta #95 : 11-10-2017, 00:15 (Mi?rcoles) »

Citar
Si, estuve pensando en abrir otro hilo dedicado antes de postear, pero me da palo, no estoy a la altura como para iniciarlo... (Yo voy siempre por el camino largo de ensayo y error) Wink


No digas eso, hombre.... Si yo hiciera lo mismo, no habría posteado prácticamente nada. Te habla uno de los más ignorantes del foro y he aprendido muchísimo gracias a él; además, cuanta más experiencia y conocimiento compartamos, mejor: tanto de lo correcto como de lo incorrecto. Cuando hacemos algo mal aprendemos; y si lo compartimos, los demás también aprenden. Yo doy bastante caña; soy muy cabezota....

Bueno, lo dicho: Mañana o pasado... iniciaré un hilo con la movida esa de los relés. Me parece MUY interesante ese tema. Así que haré un "tuto" al mismo tiempo que lo aprendo. Me mola mucho la idea esa de usar la placa expansora para poder controlar varios relés; pero eso es lo que menos controlo; qué "comandos" tengo que enviar a la plaquita para abrir uno u otro relé, etc... Ya me he pedido un par de relés; aunque seguramente pediré una plaquita de esas de 4 como las tuyas; y un módulo de esos expansor, como el que usan las pantallitas LCD. Mi idea es ponerlo por ejemplo para controlar la iluminación del acuario y alguna cosilla más.

Ya que dices que no tienes nivel para iniciar un hilo, lo iniciaré yo con mucho menos nivel  Evil Azn Tongue Grin Grin. Sé sabedor de que tus ayudas y comentarios serán honorablemente bienvenidos, Ficht.

Bueeeno, lo intentaremos, gracias por los ánimos!!  Cheesy Cheesy
En línea
Páginas: 1 2 3 4 [5] 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