¿Cómo diseñar un sistema de automatización del hogar basado en Arduino usando TV Remote?

Home Automation System es el concepto de más rápido crecimiento en el mundo moderno. La domótica inteligente es un concepto en el que se utiliza un único dispositivo para controlar diversos parámetros electrónicos de una casa, por ejemplo, conmutación de electrodomésticos, monitorización de alarmas de seguridad, automatización de puertas de garaje, etc.



Sistema de automatización usando un control remoto de TV

En este proyecto, utilizaremos un control remoto de TV simple para hacer un sistema de domótica simple. Este control remoto de TV controlará todos los electrodomésticos conectados a la placa del microcontrolador.



¿Cómo usar un control remoto de TV para hacer un sistema de automatización del hogar?

Los sistemas de domótica que ya están disponibles en el mercado son muy costosos. Podemos usar una placa Arduino para conectar diferentes electrodomésticos y controlarlos usando un control remoto de TV. Esto tendrá un costo muy bajo y una forma eficiente de automatizar la casa. Ahora demos un paso adelante y comencemos a recopilar información para iniciar el proyecto.



Paso 1: recopilar los componentes

El mejor enfoque para comenzar cualquier proyecto es hacer una lista de componentes y realizar un breve estudio de estos componentes porque nadie querrá quedarse en medio de un proyecto solo porque falta un componente. A continuación se muestra una lista de componentes que vamos a utilizar en este proyecto:



  • Receptor de infrarrojos TSOP 1738
  • Control remoto
  • Tablero de circuitos
  • Cables de puente

Paso 2: estudiar los componentes

Ahora que sabemos qué componentes vamos a utilizar, estudiémoslos brevemente para comprender mejor cómo funciona nuestro circuito.

Arduino Nano es una placa microcontroladora que realiza diversas operaciones en diferentes circuitos. Requiere un Código C que le dice a la pizarra qué tareas realizar y cómo. Tiene 13 pines de E / S digitales, lo que significa que podemos operar 13 dispositivos diferentes. Si desea controlar más de 13 dispositivos, use Arduino Mega.

Arduino Nano



TSOP 1738 es un módulo de infrarrojos para controles remotos. Tiene una frecuencia portadora de 38 kHz. Consiste en un fotodetector que detecta la señal y luego la demodula. Su salida es utilizada directamente por Arduino o cualquier otra placa de microcontrolador.

Sensor TSOP

Un módulo de relé es un dispositivo de conmutación. Funciona en dos modos, Normalmente abierto (NO) y Normalmente Cerrado (NC) . En el modo NO, el circuito siempre está roto a menos que envíe una señal ALTA al relé a través de Arduino. El modo NC empeora al revés. El circuito siempre está completo a menos que encienda el módulo de relé. Asegúrese de conectar el cable positivo de su aparato eléctrico al módulo de relé de la forma que se muestra a continuación.

Módulo de relé

Un control remoto de TV estándar tiene un botón de encendido y todas las teclas numéricas. Estas teclas numéricas se utilizarán para la conmutación de los aparatos eléctricos.

Paso 3: Hacer el circuito

Ahora que sabemos cómo funcionan todos los componentes, sigamos adelante y comencemos a hacer el circuito.

  1. Tome una placa e inserte su Arduino Nano y TSOP 1738 en ella.
  2. Encienda el módulo TSOP 1738 y el módulo de relés a través de Arduino. Conecta el AFUERA pin de TSOP1738 al pin11 de Arduino y también conecte el EN pines del módulo de relé a Arduino. Solo estoy controlando dos aparatos eléctricos, por lo que solo utilizo módulos de relé aquí. Si desea controlar más dispositivos, conecte de manera similar más módulos de relé.

    Diagrama de circuito

Paso 4: Empezando con Arduino

Si no ha trabajado en Arduino IDE antes, no se preocupe porque a continuación se muestra un paso a paso para configurar Arduino IDE.

  1. Conecte su placa Arduino a la PC y abra el Panel de control. Haga clic en Hardware y sonido. Ahora abierto Dispositivos e impresora y busque el puerto al que está conectada su placa. En mi caso es COM14 pero es diferente en diferentes computadoras.

    Encontrar puerto

  2. Haga clic en el menú Herramientas y configure el tablero como Arduino Nano (AT Mega 328P) .

    Tablero de ajuste

  3. Vuelva a hacer clic en el menú Herramientas y configure el puerto que observó anteriormente en el panel de control.

    Puerto de configuración

  4. En el mismo menú de Herramientas, configure el Procesador como ATmega328p (antiguo cargador de arranque) .

    Procesador de configuración

  5. Para decodificar los datos enviados por el control remoto, necesitamos una biblioteca especial para el código A de Arduino. Esta biblioteca se adjunta junto con el código en el enlace a continuación. Para agregar la biblioteca, vaya Bosquejo> Incluir biblioteca> Agregar biblioteca ZIP . Aparecerá un cuadro. Busque la carpeta ZIP en su computadora y haga clic en Aceptar para incluir la carpeta.

    Incluir biblioteca

  6. Descargue el código adjunto a continuación y haga clic en el botón de carga para grabar el código en su placa Arduino Nano.

    Subir

Clickea en el descargar botón para obtener el código.

Paso 5: Código

El código es muy fácil de entender, pero aún así, se describe brevemente a continuación.

1. configuración vacía () es una función en la que inicializamos los pines INPUT o OUTPUT. Esta función también establece la velocidad en baudios usando Serial.begin () mando. La tasa de baudios es la velocidad de comunicación del microcontrolador.

2. bucle vacío () es una función que se ejecuta repetidamente en un bucle. En este bucle, escribimos un código que le dice a la placa del microcontrolador qué tareas realizar y cómo.

3. Cuando enviamos datos desde el control remoto del televisor, Arduino necesita decodificar estos datos. Para ello, hemos incluido una biblioteca especial #incluir <IRremote.h>. Se utilizará una función de esta biblioteca para decodificar los datos de cada clave, enviados desde el control remoto.

#include int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); resultados de decode_results; configuración vacía () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } retraso (100); }

El código anterior lee los valores enviados desde el control remoto y los decodifica a su valor HEX correspondiente. Este código se toma de los ejemplos de la biblioteca IRremote en Arduino IDE. Este código también se adjunta en el enlace de descarga con el nombre test.ino proporcionado arriba. La salida de esta función, cuando se presionan todas las teclas numéricas, será:

Descodificar

4. En el code.ino adjunto en el enlace de descarga anterior, se inicializan los pines de Arduino que se utilizarán. En el bucle vacío () función, cuando se presiona un botón en el control remoto, el Falso la condición se convierte en Cierto y el relé respectivo se enciende. Si se presiona el mismo botón nuevamente, cambiará la condición booleana y apagará el relé. El botón de encendido encenderá o apagará todos los relés.

void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); retraso (100); if (resultados.valor == 0x40BD00FF) {i =! i; escritura digital (IN1, i); } si (resultados.valor == 0x40BD807F) {j =! j; escritura digital (IN2, j); // retraso (200); } si (resultados.valor == 0x40BD28D7) {m =! m; escritura digital (IN1, m); escritura digital (IN2, m); escritura digital (IN3, m); escritura digital (IN4, m); // retraso (200); } irrecv.resume (); // Recibe el siguiente valor // delay (100); }}

Este fue todo el procedimiento para hacer un sistema de automatización del hogar simple controlado por un control remoto de TV. Ahora, puede conectar módulos de relé de acuerdo con el número de sus electrodomésticos y disfrutar de su propio sistema de automatización del hogar inteligente.