Tabla de contenido:

Temporizador programable de 8 canales: 13 pasos
Temporizador programable de 8 canales: 13 pasos

Video: Temporizador programable de 8 canales: 13 pasos

Video: Temporizador programable de 8 canales: 13 pasos
Video: Como programar el timer digital de 8 tiempos 2024, Noviembre
Anonim
Temporizador programable de 8 canales
Temporizador programable de 8 canales
Temporizador programable de 8 canales
Temporizador programable de 8 canales
Temporizador programable de 8 canales
Temporizador programable de 8 canales

Introducción

He estado usando la gama de microcontroladores PIC de Microchip para mis proyectos desde 1993, y he realizado toda mi programación en lenguaje ensamblador, utilizando el IDE Microchip MPLab. Mis proyectos iban desde simples semáforos y LED intermitentes hasta interfaces de joystick USB para modelos R / C y analizadores de aparamenta utilizados en la industria. El desarrollo tomó muchos días y, a veces, miles de líneas de código ensamblador.

Después de recibir Matrix Multimedia Flowcode 4 Professional, era bastante escéptico con el software. Parecía demasiado fácil de creer. Decidí intentarlo y probé todas las diferentes macros de componentes, todas con gran éxito. La mejor parte de usar Flowcode era que los proyectos simples se podían codificar en una sola noche. Después de jugar con el I²C y un reloj en tiempo real DS1307, decidí diseñar el temporizador de 8 canales usando Flowcode. Al no ser un proyecto pequeño y fácil, creí que sería un gran proyecto para aprender Flowcode por mí mismo.

Seleccionar un microprocesador y otros componentes

Debido a la cantidad de pines de E / S necesarios, estaba claro que se necesitaría un dispositivo de 40 pines. Se eligió el PIC 18F4520, principalmente por su memoria de programa de 32K y 1536 bytes de memoria de datos. Todos los componentes utilizados son dispositivos de orificio pasante estándar, lo que permite construir el circuito en la placa Vero si es necesario. Esto también ayudó con el desarrollo de una placa de pruebas.

Paso 1: Objetivos del proyecto

Objetivos del proyecto
Objetivos del proyecto

Objetivos

- Mantenimiento preciso del tiempo, con batería de respaldo.

- Todos los programas y datos se conservarán, incluso después de una pérdida de energía.

- Interfaz de usuario sencilla.

- Flexibilidad de programación.

Mantener el tiempo

Al vivir en un área propensa a fallas de energía, el estándar de 50/60 Hz de las líneas eléctricas no será suficiente para mantener la hora exacta. Un reloj de tiempo real era esencial, y después de probar varios chips RTC, me decidí por el DS1307 debido a su configuración simple de oscilador y respaldo de batería. Se obtuvo un cronometraje bastante preciso utilizando solo un cristal de 32,768 kHz conectado al DS1307. La precisión fue de 2 segundos durante un período de prueba de 2 meses utilizando 4 marcas diferentes de cristales.

Retención de datos

Todos los datos del programa del temporizador deben conservarse, incluso durante un corte de energía. Con hasta 100 programas diferentes y varios datos de configuración, quedó claro que los 256 bytes de EEPROM incorporada del PIC no serán lo suficientemente grandes. Se utiliza una EEPROM 24LC256 I²C para almacenar toda la información de programación.

Interfaz de usuario sencilla

La interfaz de usuario consta de solo 2 elementos, una pantalla LCD de 16 x 4 líneas con retroiluminación LED y un teclado de 4 x 3. Toda la programación se puede hacer con solo presionar unos pocos botones. Las adiciones a la interfaz son un zumbador piezoeléctrico audible y luz de fondo visual de LCD parpadeante.

Paso 2: Flexibilidad de programación

Flexibilidad de programación
Flexibilidad de programación

Para garantizar la suficiente flexibilidad del programa, el temporizador tiene 100 programas que se pueden configurar individualmente. Para cada programa, se pueden configurar la hora de encendido, la hora de apagado, los canales de salida y el día de la semana. Cada programa tiene tres modos:

- Automático: se configura la hora de encendido, la hora de apagado, el canal de salida y el día de la semana.

- Desactivado: el programa individual puede desactivarse sin eliminar la configuración. Para volver a habilitar el programa, simplemente seleccione un modo diferente.

- Día / Noche: se configura la hora de encendido, la hora de apagado, el canal de salida y el día de la semana. Funciona igual que el modo automático, pero

solo encienda las salidas entre las horas de encendido y apagado cuando esté oscuro. Esto también permite el control total día / noche

como la flexibilidad adicional para encender las luces al atardecer y apagarlas al amanecer.

Ejemplo 1: Se encenderá la luz después de las 20:00 y se apagará al amanecer:

El: 20:00, Apagado: 12:00, Ejemplo 2: Se encenderá la luz al atardecer y se apagará a las 23:00.

El: 12:00

Apagado: 23:00

Ejemplo 3: encenderá la luz al atardecer y la apagará al amanecer.

En: 12:01

Apagado: 12:00

Opciones adicionales disponibles, todas trabajando independientemente de los 100 programas On / Off.

Canales de programa activos: en lugar de apagar varios programas, los canales de salida individuales se pueden deshabilitar sin la necesidad de cambiar los programas.

Entradas auxiliares: hay dos entradas digitales disponibles, para permitir que ciertos canales de salida se enciendan durante un tiempo específico. Por ejemplo, se puede utilizar para encender ciertas luces al llegar a casa a altas horas de la noche, cuando se presiona un botón en un control remoto, o para encender un ser de luces diferente cuando se activa la alarma de la casa.

Salidas auxiliares: Hay disponibles dos salidas adicionales (además de los 8 canales de salida). Pueden programarse para encenderse con ciertos canales de salida o con las entradas digitales. En mi instalación, tengo salidas 6-8 controlando mi riego, que funciona con 24V. Utilizo los canales 6-8 para encender una de las salidas auxiliares, para encender una fuente de alimentación de 24 V para el sistema de riego.

Encendido manual: en la pantalla principal, los botones 1-8 se pueden usar para encender o apagar manualmente los canales.

Paso 3: hardware

Hardware
Hardware

Fuente de alimentación: La fuente de alimentación consta de un rectificador, un condensador de suavizado y un fusible de 1 amperio para protección contra sobrecargas. Este suministro luego es regulado por un regulador 7812 y 7805. El suministro de 12 V se utiliza para activar los relés de salida y todos los demás circuitos se alimentan con el suministro de 5 V. Como el regulador 7805 está conectado a la salida del regulador 7812, la corriente total debe limitarse a 1 amperio a través del regulador 7812. Es recomendable montar estos reguladores en un disipador de calor adecuado.

Bus I²C: Aunque Flowcode permite el control I²C por hardware, decidí hacer uso de la configuración I²C del software. Esto permite una mayor flexibilidad en la asignación de pines. Aunque es más lento (50 kHz), sigue funcionando muy bien en comparación con el bus I²C de hardware. Tanto DS1307 como 24LC256 están conectados a este bus I²C.

Reloj de tiempo real (DS1307): Durante el arranque, se lee el registro 0 y 7 del RTC para determinar si contiene datos de configuración y hora válidos. Una vez que la configuración es correcta, se lee la hora RTC y se carga en el PIC. Ésta es la única vez que se lee la hora del RTC. Después del inicio, habrá un pulso de 1Hz en el pin 7 del RTC. Esta señal de 1Hz está conectada a RB0 / INT0 y, a través de una rutina de servicio de interrupción, el tiempo PIC se actualiza cada segundo.

EEPROM externa: Todos los datos y opciones del programa se almacenan en la EEPROM externa. Los datos de la EEPROM se cargan al inicio y se almacena una copia de los datos en la memoria PIC. Los datos de EEPROM solo se actualizan cuando se cambian las configuraciones del programa.

Sensor de día / noche: se utiliza una resistencia estándar dependiente de la luz (LDR) como sensor de día / noche. Como los LDR vienen en muchas formas y variedades, todas con diferentes valores de resistencia en las mismas condiciones de luz, utilicé un canal de entrada analógica para leer el nivel de luz. Los niveles tanto de día como de noche son ajustables y permiten cierta flexibilidad para diferentes sensores. Para configurar alguna histéresis, se pueden configurar valores individuales para Día y Noche. El estado solo cambiará si el nivel de luz está por debajo del día, o por encima de los puntos de ajuste de la noche, durante más de 60 segundos.

Pantalla LCD: se utiliza una pantalla de 4 líneas y 16 caracteres, ya que no se pueden mostrar todos los datos en una pantalla de 2 líneas. El proyecto incluye algunos caracteres personalizados, que se definen en la macro LCD_Custom_Char.

Entradas auxiliares: Ambas entradas están protegidas con un transistor NPN. + 12v y 0V también están disponibles en el conector, lo que permite conexiones más flexibles a conexiones externas. Como ejemplo, se puede conectar un receptor de control remoto al suministro.

Salidas: Todas las salidas están aisladas eléctricamente del circuito mediante un relé de 12V. Los relés utilizados están clasificados para 250 VCA, a 10 amperios. Los contactos normalmente abiertos y normalmente cerrados se llevan a los terminales.

Teclado: El teclado utilizado es un teclado matricial de 3 x 4 y está conectado PORTB: 2..7.

Paso 4: Interrupciones del teclado

Interrupciones del teclado
Interrupciones del teclado
Interrupciones del teclado
Interrupciones del teclado
Interrupciones del teclado
Interrupciones del teclado

Quería hacer uso de la interrupción PORTB Interrupt on Change en cualquier pulsación de tecla. Para esto, se tuvo que crear una interrupción personalizada en Flowcode, para garantizar que la dirección y los datos de PORTB estén configurados correctamente antes y después de cada interrupción del teclado. Se genera una interrupción cada vez que se presiona o suelta un botón. La rutina de interrupción solo responde cuando se presiona una tecla.

INTERRUPCIÓN PERSONALIZADA

Habilitar código

portb = 0b00001110; trisb = 0b11110001;

intcon. RBIE = 1;

intcon2. RBIP = 1;

intcon2. RBPU = 1;

rcon. IPEN = 0;

Código del controlador

si (intcon & (1 << RBIF))

{FCM_% n ();

portb = 0b00001110;

trisb = 0b11110001;

wreg = portb;

clear_bit (intcon, RBIF);

}

Problemas encontrados

Durante una interrupción, la rutina del servicio de interrupción debe, bajo NO condiciones, llamar a cualquier otra macro que pueda usarse en algún lugar del resto del programa. Esto eventualmente conducirá a problemas de desbordamiento de pila, ya que la interrupción puede ocurrir al mismo tiempo que el programa principal también está en la misma subrutina. Esto también se identifica como un ERROR GRAVE por Flowcode cuando se compila el código.

En el código personalizado del teclado en GetKeyPadNumber, existe una llamada a la macro Delay_us, que provocará un desbordamiento de pila. Para superar esto, eliminé el comando Delay_us (10) y lo reemplacé con 25 líneas de "wreg = porta;" comandos. Este comando lee PORTA y coloca su valor en el registro W, solo para obtener algo de retraso. Este comando se compilará en una sola instrucción similar al ensamblador movf porta, 0. Para el reloj de 10MHz usado en el proyecto, cada instrucción será de 400ns, y para obtener un retraso de 10us, necesitaba 25 de estas instrucciones.

Observe en la segunda línea de la Figura 3: Código personalizado GetKeypadNumber, que el comando delay_us (10) original se ha desactivado con “//”. Debajo de esto, he agregado mis 25 "wreg = porta;" comandos para obtener un nuevo retraso de 10us. Sin llamadas a ninguna macros dentro del código personalizado Keypad_ReadKeypadNumber, la macro del teclado ahora se puede usar dentro de una rutina de servicio de interrupción.

Cabe señalar que los componentes del teclado Flowcode y eBlocks no utilizan las resistencias pull-up estándar en las líneas de entrada. En su lugar, utiliza resistencias desplegables de 100K. Debido a algunas interferencias encontradas en el teclado durante el desarrollo, las resistencias de 100K fueron reemplazadas por 10K y todas las resistencias de 10K reemplazadas por 1K5. Se probó que el teclado funciona correctamente con cables de 200 mm.

Paso 5: uso del temporizador

Usando el temporizador
Usando el temporizador
Usando el temporizador
Usando el temporizador
Usando el temporizador
Usando el temporizador

Todas las pantallas están configuradas para indicar toda la información requerida para que el usuario realice cambios rápidos en la configuración. La línea 4 se utiliza para ayudar con la navegación a través de los menús y las opciones del programa. Un total de 22 pantallas están disponibles durante el funcionamiento normal.

LÍNEA 1: Hora y estado

Muestra el día y la hora actuales, seguidos de iconos de estado:

A: indica que la entrada auxiliar A se activó y el temporizador de la entrada auxiliar A está funcionando.

B: indica que la entrada auxiliar B se activó y el temporizador de la entrada auxiliar B está funcionando.

C: indica que la salida auxiliar C está activada.

D: indica que la salida auxiliar D está activada.

} - Estado del sensor día / noche. Si está presente, indica que es de noche.

LÍNEA 2: Salidas del programa

Muestra los canales que han sido activados por los diferentes programas. Los canales se muestran en sus números de salida y un “-” indica que la salida específica no está encendida. Los canales que se han desactivado en las "Salidas de programa activas" todavía se indicarán aquí, pero las salidas reales no se establecerán.

LÍNEA 3: Salidas reales

Muestra qué canales activan los diferentes programas, las entradas auxiliares A y B o las salidas manuales configuradas por el usuario. Al presionar 0, todas las salidas activadas manualmente se apagarán y se reiniciarán los temporizadores de las salidas auxiliares A y B.

LÍNEA 4: Opciones de menú y teclas (en todos los menús)

Indica la función de las teclas “*” y “#”.

La parte central indica qué teclas numéricas (0-9) están activas para la pantalla seleccionada.

El estado de la entrada auxiliar A y B también se muestra mediante un icono de interruptor Abierto o Cerrado.

Las salidas se pueden encender / apagar manualmente presionando la tecla correspondiente en el teclado.

A lo largo de los menús, las teclas Asterisco y Hash se utilizan para navegar por las diferentes opciones del programa. Las teclas 0-9 se utilizan para configurar las opciones. Cuando hay múltiples opciones disponibles en una sola pantalla o menú de programación, la tecla Hash se usa para recorrer las diferentes opciones. La opción seleccionada actualmente siempre estará indicada por el carácter “>” a la izquierda de la pantalla.

0-9 Ingrese valores de tiempo

1-8 Cambiar selección de canal

14 36 Pasar a través de programas, 1 paso atrás, 4 pasos atrás 10 programas, 3 pasos adelante, 6 pasos adelante 10

programas

1-7 Configure los días de la semana. 1 = domingo, 2 = lunes, 3 = martes, 4 = miércoles, 5 = jueves, 6 = viernes, 7 = sábado

0 En la pantalla principal, borre todas las anulaciones manuales y los temporizadores de Entrada A y Entrada B. En otros menús, cambios

opciones seleccionadas

# En la pantalla principal, desactivará todas las anulaciones manuales, temporizadores de entrada A y entrada B y salidas de programa, hasta

el próximo evento.

* y 1 Reinicie el temporizador

* y 2 Borre todos los programas y opciones, restaure la configuración a los valores predeterminados.

* y 3 Ponga el temporizador en modo de espera. Para volver a encender el temporizador, presione cualquier tecla.

Durante las entradas incorrectas de cualquier valor de tiempo, la luz de fondo de la pantalla LCD parpadeará 5 veces para indicar un error. Al mismo tiempo, sonará el zumbador. Los comandos Salir y Siguiente solo funcionarán cuando la entrada actual sea correcta.

LCD luz de fondo

En el arranque inicial, la luz de fondo de la pantalla LCD se encenderá durante 3 minutos, a menos que:

- Hay una falla de hardware (EEPROM o RTC no encontrado)

- Hora no establecida en el RTC

La luz de fondo de la pantalla LCD se volverá a encender durante 3 minutos con cualquier entrada del usuario en el teclado. Si la luz de fondo de la pantalla LCD está apagada, cualquier comando del teclado encenderá primero la luz de fondo de la pantalla LCD e ignorará la tecla que se presionó. Esto asegura que el usuario podrá leer la pantalla LCD antes de usar el teclado. La luz de fondo de la pantalla LCD también se encenderá durante 5 segundos si la entrada auxiliar A o la entrada auxiliar B están activadas.

Paso 6: Capturas de pantalla de menú

Capturas de pantalla de menú
Capturas de pantalla de menú
Capturas de pantalla de menú
Capturas de pantalla de menú
Capturas de pantalla de menú
Capturas de pantalla de menú

Usando el teclado, cada una de las opciones se puede programar fácilmente. Las imágenes dan alguna información de lo que hace cada pantalla.

Paso 7: Diseño del sistema

Diseño del sistema
Diseño del sistema

Todo el desarrollo y las pruebas se realizaron en la placa de pruebas. Mirando todas las secciones del sistema, dividí el sistema en tres módulos. Esta decisión se debió principalmente a las limitaciones de tamaño de la PCB (80 x 100 mm) de la versión gratuita de Eagle.

Módulo 1 - Fuente de alimentación

Módulo 2 - placa CPU

Módulo 3 - Tablero de relés

Decidí que todos los componentes debían poder obtenerse fácilmente y que no quería utilizar componentes de montaje en superficie.

Repasemos cada uno de ellos.

Paso 8: fuente de alimentación

Fuente de alimentación
Fuente de alimentación
Fuente de alimentación
Fuente de alimentación
Fuente de alimentación
Fuente de alimentación
Fuente de alimentación
Fuente de alimentación

La fuente de alimentación es sencilla y alimenta la CPU y las placas de relés con 12V y 5V.

Monté los reguladores de voltaje en disipadores de calor decentes y también usé capacitores sobrevalorados para el suministro.

Paso 9: placa de CPU

Tablero de CPU
Tablero de CPU
Tablero de CPU
Tablero de CPU
Tablero de CPU
Tablero de CPU
Tablero de CPU
Tablero de CPU

Todos los componentes, excepto la pantalla LCD, el teclado y los relés, están montados en la placa de la CPU.

Se agregaron bloques de terminales para simplificar las conexiones entre el suministro, dos entradas digitales y el sensor de luz.

Las clavijas / enchufes del cabezal permiten realizar conexiones sencillas a la pantalla LCD y al teclado.

Para las salidas a los relés, utilicé el ULN2803. Ya contiene todas las resistencias de excitación y diodos de retorno necesarios. Esto aseguró que la placa de la CPU aún se pueda hacer usando la versión gratuita de Eagle. Los relés están conectados a los dos ULN2803. El ULN2803 inferior se utiliza para las 8 salidas y el ULN2803 superior para las dos salidas auxiliares. Cada salida auxiliar tiene cuatro transistores. Las conexiones a los relés también se realizan a través de clavijas / enchufes de encabezado.

El PIC 18F4520 estaba equipado con un enchufe de programación, para permitir una fácil programación a través del programador PicKit 3.

NOTA:

Notará que la placa contiene un IC de 8 pines adicional. El IC superior es un PIC 12F675 y está conectado a una entrada digital. Esto se agregó durante el diseño de PCB. Esto facilita el preprocesamiento de la entrada digital. En mi aplicación, una de las entradas digitales está conectada a mi sistema de alarma. Si suena la alarma, ciertas luces se encienden en mi casa. Al armar y desarmar mi sistema de alarma se emiten diferentes pitidos en la sirena. Al usar el PIC 12F675, ahora puedo distinguir entre armar / desarmar y una alarma real. El 12F675 también está equipado con una toma de programación.

También hice una provisión para un puerto I2C a través de un conector / clavija de encabezado. Esto será útil más adelante con las placas de relés.

La placa contiene algunos puentes, que deben soldarse antes de colocar los enchufes IC.

Paso 10: Conclusión del código de flujo

Conclusión del código de flujo
Conclusión del código de flujo
Conclusión del código de flujo
Conclusión del código de flujo
Conclusión del código de flujo
Conclusión del código de flujo

Como estoy acostumbrado a trabajar a nivel de registro en el ensamblaje, a veces era difícil y frustrante usar las macros de componentes. Esto se debió principalmente a mi falta de conocimiento de la estructura de programación de Flowcode. Los únicos lugares en los que he usado los bloques C o ASM fueron para encender las salidas dentro de una rutina de interrupción y en la rutina Do_KeyPressed para deshabilitar / habilitar la interrupción del teclado. El PIC también se coloca en SLEEP usando un bloque ASM, cuando no se encuentra la EEPROM o el RTC.

La ayuda sobre el uso de los diferentes comandos I²C se obtuvo de los archivos de ayuda de Flowcode. Es necesario saber exactamente cómo funcionan los diferentes dispositivos I²C, antes de que los comandos se puedan utilizar con éxito. El diseño de un circuito requiere que el diseñador tenga disponibles todas las hojas de datos relevantes. Esto no es un defecto de Flowcode.

Flowcode realmente resistió la prueba y es muy recomendable para personas que desean comenzar a trabajar con la gama de microprocesadores Microchip.

La programación y configuración del código de flujo para el PIC se establecieron según las imágenes

Paso 11: Tarjeta de relé I2C opcional

Tarjeta de relé I2C opcional
Tarjeta de relé I2C opcional
Tarjeta de relé I2C opcional
Tarjeta de relé I2C opcional
Tarjeta de relé I2C opcional
Tarjeta de relé I2C opcional

La placa de la CPU ya tiene conexiones de cabecera para 16 relés. Estas salidas son transistores de colector abierto a través de los dos chips ULN2803, que se pueden utilizar para alimentar los relés directamente.

Después de las primeras pruebas del sistema, no me gustaron todos los cables entre la placa de la CPU y los relés. Como incluí un puerto I2C en la placa de la CPU, decidí diseñar la placa de relés para conectarla al puerto I2C. Usando un chip expansor de puerto de E / S MCP23017 de 16 canales y una matriz de transistores ULN2803, reduje las conexiones entre la CPU y los relés a 4 cables.

Como no podía colocar 16 relés en una PCB de 80 x 100 mm, decidí hacer dos placas. Cada MCP23017 usa solo 8 de sus 16 puertos. La placa 1 maneja las 8 salidas y la placa 2 las dos salidas auxiliares. La única diferencia en los tableros son las direcciones de cada tablero. Esto se configura fácilmente con un mini suéter. Cada placa tiene conectores para suministrar energía y datos I2C a la otra placa.

NOTA:

Si es necesario, el software prevé una sola placa que puede utilizar los 16 puertos. Todos los datos del relé de salida están disponibles en la primera placa.

Como el circuito es opcional y muy simple, no creé un esquema. Si hay suficiente demanda, puedo agregarla más tarde.

Paso 12: Enlace RF opcional

Enlace RF opcional
Enlace RF opcional
Enlace RF opcional
Enlace RF opcional
Enlace RF opcional
Enlace RF opcional

Después de completar el proyecto, pronto me di cuenta de que tenía que tirar una gran cantidad de cableado de 220 V CA al temporizador. Desarrollé un enlace de RF utilizando módulos estándar de 315MHz que permitían colocar el temporizador dentro de un armario y las placas de relés dentro del techo, cerca de todo el cableado de 220V.

El enlace utiliza un AtMega328P que se ejecuta a 16MHz. El software tanto para el transmisor como para el receptor es el mismo, y el modo se selecciona mediante un mini puente.

Transmisor

El transmisor simplemente se conecta al puerto I2C de la CPU. No se requiere configuración adicional, ya que el AtMega328P escucha los mismos datos que las placas de relé I2C.

Los datos se actualizan una vez por segundo en el puerto I2C y el transmisor envía esta información a través del enlace de RF. Si el transmisor no recibe datos I2C durante aproximadamente 30 segundos, el transmisor transmitirá datos continuamente para apagar todos los relés a la unidad receptora.

La alimentación al módulo transmisor se puede seleccionar entre 12 V y 5 V con un mini puente en la placa de circuito impreso. Estoy alimentando mi transmisor con 12V.

Receptor

El receptor escucha los datos codificados del transmisor y coloca los datos en un puerto I2C. La placa de relés simplemente se conecta a este puerto y funciona de la misma forma que estaba conectada a la placa de la CPU.

Si el receptor no recibe datos válidos durante 30 segundos, el receptor enviará datos continuamente en el puerto I2C para apagar todos los relés en las placas de relés.

Esquemas

Un día, si hay demanda. El boceto de Arduino contiene toda la información requerida para construir el circuito sin un diagrama de circuito.

Distancia

En mi instalación, el transmisor y el receptor están separados por unos 10 metros. El temporizador está dentro de un armario y la unidad de relé en la parte superior del techo.

Paso 13: Producto final

Producto final
Producto final
Producto final
Producto final
Producto final
Producto final

La unidad principal se instaló en una caja de proyecto antigua. Contiene lo siguiente:

- Transformador 220V / 12V

- Tarjeta de alimentación

- Placa de CPU

- Pantalla LCD

- teclado

- Transmisor de enlace RF

- Unidad receptora remota adicional para el hogar que me permite encender / apagar las luces a través del control remoto

La unidad de relé consta de lo siguiente:

- Transformador 220V / 12V

- Tarjeta de alimentación

- Receptor de enlace RF

- 2 x placas de relé I2C

Todas las tablas se diseñaron con la misma dimensión, por lo que es fácil apilarlas una encima de la otra con espaciadores de 3 mm.

Recomendado: