Tabla de contenido:

Automatización del hogar con Raspberry Pi usando placa de relés: 7 pasos
Automatización del hogar con Raspberry Pi usando placa de relés: 7 pasos

Video: Automatización del hogar con Raspberry Pi usando placa de relés: 7 pasos

Video: Automatización del hogar con Raspberry Pi usando placa de relés: 7 pasos
Video: TODO ESTO PUEDES HACER CON UNA RASPBERRY PI 😈💻 2024, Noviembre
Anonim
Automatización del hogar con Raspberry Pi usando placa de relés
Automatización del hogar con Raspberry Pi usando placa de relés

Un gran número de personas desea una gran comodidad pero a precios razonables. Nos da pereza iluminar las casas todas las noches cuando se pone el sol y a la mañana siguiente, apagar las luces de nuevo o encender / apagar el aire acondicionado / ventilador / calentadores según el clima o la temperatura ambiente.

Una solución económica para evitar este trabajo adicional de apagar los electrodomésticos cuando sea necesario está aquí. Es para automatizar sus casas en costos comparativamente muy bajos usando productos simples plug and play. Funciona como cuando la temperatura sube o baja, enciende el aire acondicionado o la calefacción, respectivamente. Además, cuando sea necesario, ayudará a encender las luces de su hogar sin tener que encenderlas manualmente. Y se pueden controlar muchos más electrodomésticos. Automatice el mundo. Empecemos tu casa.

Paso 1: Hardware requerido

Hardware requerido
Hardware requerido
Hardware requerido
Hardware requerido
Hardware requerido
Hardware requerido

Estaremos usando:

Frambuesa pi

La Raspberry Pi es una PC basada en Linux de placa solitaria. Esta pequeña PC tiene un gran impacto en el registro de energía, que se usa como una pieza de ejercicios de electrónica y operaciones de PC como hojas de cálculo, procesamiento de texto, navegación web, correo electrónico y juegos

Escudo I2C o encabezado I2C

El INPI2 (adaptador I2C) proporciona a la Raspberry Pi 2/3 un puerto I²C para usar con varios dispositivos I2C

Controlador de relé I2C MCP23008

MCP23008 de Microchip es un expansor de puerto integrado que controla ocho relés a través del bus I²C. Puede agregar más relés, E / S digitales, convertidores de analógico a digital, sensores y otros dispositivos utilizando el puerto de expansión I²C integrado

Sensor de temperatura MCP9808

El MCP9808 es un sensor de temperatura de alta precisión que proporciona señales de sensor calibradas y linealizadas en formato digital I²C

Sensor de luminancia TCS34903

TCS34903 es un producto de la familia de sensores de color que proporciona el valor del componente RGB de luz y color

Cable de conexión I2C

El cable de conexión I2C es un cable de 4 hilos destinado a la comunicación I2C entre dos dispositivos I2C conectados a través de él

Adaptador micro USB

Para encender Raspberry Pi, necesitamos un cable Micro USB

Adaptador de corriente de 12V para placa de relés

El controlador de relé MCP23008 funciona con alimentación externa de 12 V y se puede suministrar mediante un adaptador de alimentación de 12 V

Puedes comprar el producto pinchando sobre ellos. Además, puede encontrar más material excelente en Dcube Store.

Paso 2: Conexión de hardware

Conexión de hardware
Conexión de hardware
Conexión de hardware
Conexión de hardware
Conexión de hardware
Conexión de hardware
Conexión de hardware
Conexión de hardware

Las conexiones necesarias (consulte las imágenes) son las siguientes:

  1. Esto funcionará sobre I2C. Tome un protector I2C para Raspberry pi y conéctelo suavemente a los pines GPIO de Raspberry Pi.
  2. Conecte un extremo del cable I2C al puerto de entrada del TCS34903 y el otro extremo al blindaje I2C.
  3. Conecte la entrada del sensor MCP9808 a la salida del TCS34903 usando un cable I2C.
  4. Conecte la entrada del MCP23008 a la salida del sensor MCP9808 usando un cable I2C.
  5. También conecte el cable Ethernet a Raspberry Pi. El enrutador Wi-Fi también se puede usar para lo mismo.
  6. Luego, encienda la Raspberry Pi con un adaptador Micro USB y una placa de relé MCP23008 con un adaptador de 12V.
  7. Finalmente, conecte la luz con el primer relé y un ventilador o calentador con el segundo relé. Puede expandir el módulo o puede conectar más dispositivos con los relés.

Paso 3: Comunicación mediante el protocolo I2C

Para habilitar Raspberry Pi I2C, proceda como se menciona a continuación:

  1. En la terminal, escriba el siguiente comando para abrir los ajustes de configuración: sudo raspi-config
  2. Seleccione "Opciones avanzadas" aquí.
  3. Seleccione "I2C" y haga clic en "Sí".
  4. Reinicie el sistema para configurarlo según los cambios realizados con el comando reiniciar.

Paso 4: programación del módulo

La recompensa de usar Raspberry Pi es que le brinda la flexibilidad de optar por el lenguaje de programación en el que desea programar para conectar el dispositivo sensor con Raspberry Pi. Aprovechando esta ventaja de Raspberry Pi, estamos demostrando aquí su programación en Java.

Para configurar el entorno de Java, instale "pi4j libraby" de https://pi4j.com/1.2/index.html Pi4j es una biblioteca de entrada / salida de Java para Raspberry Pi. Un método fácil y preferido para instalar el "pi4j library”es ejecutar el comando mencionado directamente en su Raspberry Pi:

curl -s get.pi4j.com | sudo bash

O

curl -s get.pi4j.com

importar com.pi4j.io.i2c. I2CBus; importar com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException; class MCP23008 {public static void main (String args ) lanza Exception {int status, value, value1 = 0x00; // Crear bus I2C bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1); // Obtener dispositivo I2C, MCP23008 La dirección I2C es 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Obtener dispositivo I2C, MCP9808 La dirección I2C es 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Obtener dispositivo I2C, TCS34903 La dirección I2C es 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Establecer registro de tiempo de espera = 0xff (255), tiempo de espera = 2,78 ms TCS34903.write (0x83, (byte) 0xFF); // Habilita el acceso al canal IR TCS34903.write (0xC0, (byte) 0x80); // Establezca el registro Atime en 0x00 (0), conteos máximos = 65535 TCS34903.write (0x81, (byte) 0x00); // Encendido, ADC habilitado, Espera habilitado TCS34903.write (0x80, (byte) 0x0B); Hilo.sueño (250); // Leer 8 bytes de datos con datos claros / ir LSB primer byte dato1 = nuevo byte [8]; // Leer datos de temperatura byte data = new byte [2]; status = device.read (0x09); // Configuré todos los pines como dispositivo de SALIDA.write (0x00, (byte) 0x00); Hilo.sueño (500); while (verdadero) {MCP9808.read (0x05, data, 0, 2); // Convertir datos int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); si (temp> 4096) {temp - = 8192; } double cTemp = temp * 0.0625; System.out.printf (“La temperatura en grados centígrados es:%.2f C% n”, cTemp); TCS34903.read (0x94, datos1, 0, 8); doble ir = ((datos1 [1] y 0xFF) * 256) + (datos1 [0] y 0xFF) * 1,00; rojo doble = ((datos1 [3] y 0xFF) * 256) + (datos1 [2] y 0xFF) * 1,00; doble verde = ((datos1 [5] y 0xFF) * 256) + (datos1 [4] y 0xFF) * 1,00; doble azul = ((datos1 [7] y 0xFF) * 256) + (datos1 [6] y 0xFF) * 1,00; // Calcula la iluminancia doble iluminancia = (-0.32466) * (rojo) + (1.57837) * (verde) + (-0.73191) * (azul); System.out.printf ("La iluminancia es:%.2f lux% n", iluminancia); if (iluminancia 30) {valor = valor1 | (0x01); } más {valor = valor1 & (0x02); } device.write (0x09, valor (byte)); Hilo.sueño (300); }}}

Paso 5: crear un archivo y ejecutar el código

  1. Para crear un nuevo archivo donde se pueda escribir / copiar el código, se utilizará el siguiente comando: sudo nano NOMBRE_ARCHIVO.javaEg. sudo nano MCP23008.java
  2. Después de crear el archivo, podemos ingresar el código aquí.
  3. Copie el código dado en el paso anterior y péguelo en la ventana aquí.
  4. Presione Ctrl + X y luego "y" para salir.
  5. Luego compile el código usando el siguiente comando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Si no hay errores, ejecute el programa usando el comando mencionado a continuación: pi4j FILE_NAMEEg. pi4j MCP23008.java

Paso 6: Aplicaciones

Este sistema le permite controlar los dispositivos sin tener que ir a los interruptores de pared. Esto tiene amplias capacidades ya que los tiempos de encendido o apagado de los dispositivos se programan automáticamente. Hay un puñado de aplicaciones de este módulo, desde casas hasta industrias, hospitales, estaciones de tren y muchos más lugares que pueden automatizarse de una manera asequible y fácil mediante sus componentes plug-and-play.

Paso 7: Recursos

Para obtener más información sobre TSL34903, MCP9808 MCP23008 Relay Controller, consulte los siguientes enlaces:

  • TSL34903 Hoja de datos
  • Hoja de datos de MCP9808
  • Hoja de datos de MCP23008

Recomendado: