Tabla de contenido:
- Paso 1: Hardware requerido
- Paso 2: Conexión de hardware
- Paso 3: Comunicación mediante el protocolo I2C
- Paso 4: programación del módulo
- Paso 5: crear un archivo y ejecutar el código
- Paso 6: Aplicaciones
- Paso 7: Recursos
Video: Automatización del hogar con Raspberry Pi usando placa de relés: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
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
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
Las conexiones necesarias (consulte las imágenes) son las siguientes:
- Esto funcionará sobre I2C. Tome un protector I2C para Raspberry pi y conéctelo suavemente a los pines GPIO de Raspberry Pi.
- Conecte un extremo del cable I2C al puerto de entrada del TCS34903 y el otro extremo al blindaje I2C.
- Conecte la entrada del sensor MCP9808 a la salida del TCS34903 usando un cable I2C.
- Conecte la entrada del MCP23008 a la salida del sensor MCP9808 usando un cable I2C.
- También conecte el cable Ethernet a Raspberry Pi. El enrutador Wi-Fi también se puede usar para lo mismo.
- Luego, encienda la Raspberry Pi con un adaptador Micro USB y una placa de relé MCP23008 con un adaptador de 12V.
- 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:
- En la terminal, escriba el siguiente comando para abrir los ajustes de configuración: sudo raspi-config
- Seleccione "Opciones avanzadas" aquí.
- Seleccione "I2C" y haga clic en "Sí".
- 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
- 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
- Después de crear el archivo, podemos ingresar el código aquí.
- Copie el código dado en el paso anterior y péguelo en la ventana aquí.
- Presione Ctrl + X y luego "y" para salir.
- Luego compile el código usando el siguiente comando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- 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:
Cómo hacer una casa inteligente usando el módulo de relé de control Arduino »Wiki Ùtil Ideas de automatización del hogar: 15 pasos (con imágenes)
Cómo hacer una casa inteligente con el módulo de relé de control Arduino »Wiki Ùtil Ideas de automatización del hogar: en este proyecto de automatización del hogar, diseñaremos un módulo de relé inteligente para el hogar que puede controlar 5 electrodomésticos. Este módulo de relé se puede controlar desde un teléfono móvil o teléfono inteligente, control remoto IR o control remoto de TV, interruptor manual. Este relé inteligente también puede detectar el r
Montaje en pared para iPad como panel de control de automatización del hogar, usando un imán controlado por servo para activar la pantalla: 4 pasos (con imágenes)
Soporte de pared para iPad como panel de control de automatización del hogar, usando un imán controlado por servo para activar la pantalla: Últimamente he pasado bastante tiempo automatizando cosas dentro y alrededor de mi casa. Estoy usando Domoticz como mi aplicación de automatización del hogar, consulte www.domoticz.com para obtener más detalles. En mi búsqueda de una aplicación de panel que muestre toda la información de Domoticz junta
Una forma extremadamente simple de comenzar con la automatización del hogar usando módulos de bricolaje: 6 pasos
Una forma extremadamente simple de comenzar con la automatización del hogar usando módulos de bricolaje: Me sorprendió gratamente cuando decidí intentar agregar algunos sensores de bricolaje al asistente de hogar. Usar ESPHome es extremadamente simple y en esta publicación, aprenderemos cómo controlar un pin GPIO y también obtener temperatura & datos de humedad de un n
[Automatización del hogar] Relés de control desde cualquier lugar con ESP8266 + Blynk: 4 pasos
[Domótica] Relés de control desde todas partes usando ESP8266 + Blynk: Hay muchas formas de hacer una automatización del hogar, Algunas son complicadas, Algunas son fáciles. En este instructivo, mostraré cómo hacer un control simple de relés usando ESP-12E con Blynk. Para mayor comodidad, el diseño era una placa de circuito impreso de un solo lado Para que pueda hacer usted mismo
Automatización simple del hogar con Raspberry Pi3 y Android Things: 5 pasos (con imágenes)
Automatización simple del hogar usando Raspberry Pi3 y Android Things: La idea es diseñar un “ HOGAR inteligente ” en el que se pueden controlar los dispositivos domésticos utilizando Android Things y Raspberry Pi. El proyecto consiste en controlar electrodomésticos como luz, ventilador, motor, etc. Materiales necesarios: Raspberry Pi 3HDMI Ca