Table of Contents
Comprender los componentes básicos
La construcción de un sistema de iluminación inteligente desde cero comienza con la selección del microcontrolador adecuado y la comprensión de cómo interactúa cada componente. El ESP8266 y ESP32 son opciones populares debido a su Wi-Fi integrado, bajo costo y amplio soporte comunitario. El ESP32 ofrece Bluetooth además de Wi-Fi, que puede ser útil para el control local sin una red. Para proyectos más sencillos, un Arduino Uno con un escudo externo Wi-Fi funciona, pero la familia ESP y es más rentable.
Los componentes clave incluyen el microcontrolador, un módulo de relé (o relé de estado sólido para operación silenciosa), una fuente de alimentación que coincide con los requisitos de tensión y corriente del microcontrolador y el relé, y los propios accesorios de luz. Para seguridad, utilice un módulo de relé con optoisolación para proteger al microcontrolador de los picos de alta tensión.
Los sensores opcionales pero recomendados incluyen detectores de movimiento infrarrojos pasivos (PIR), sensores de luz ambiente (fotoresisadores o sensores digitales BH1750), y sensores de temperatura/humedad para añadir control adaptable. Se necesita un teléfono inteligente o computadora para la programación inicial y el control continuo, aunque una vez establecido, el sistema puede operar de forma autónoma.
Seleccione su microcontrolador y el módulo Wi-Fi
ESP8266 vs. ESP32: ¿Qué uno se ajusta?
El ESP8266 es un chip maduro y barato que maneja la mayoría de las tareas de control de iluminación. Tiene suficientes pins GPIO para unos pocos relés y sensores, y su pila Wi-Fi está bien documentada. Sin embargo, el ESP32 proporciona un procesamiento de doble núcleo, más GPIO, Bluetooth y cifrado de hardware. Si usted planea añadir varios sensores, integración asistente de voz, o ejecutar un servidor web junto con el programa de tareas
Consideraciones de la oferta de energía
Los microcontroladores normalmente operan a 3.3V ( chips ESP) o 5V (Arduino), pero los relés a menudo requieren 5V. Una fuente de alimentación regulada de 5V que puede ofrecer al menos 1A es una base segura; añadir espacio adicional si alimenta varios sensores. Utilice un convertidor de buck para bajar a 3.3V si es necesario.
Cableado del Hardware
Comience con el módulo de relé. Conecte sus pins VCC y GND a la fuente de alimentación 5V y tierra, respectivamente. Luego conecta el pasador de control (a menudo etiquetado IN1, IN2, etc.) a un pin GPIO digital en el microcontrolador, por ejemplo GPIO 5 en un ESP8266. Los niveles de lógica de comprobación doble:
Para las luces: siempre trabajar con la potencia desconectada. Conectar el cable de red a la terminal común (COM) del relé, y la fijación de luz a la terminal normalmente abierta (NO). De esta manera, cuando el relé se activa, el circuito cierra y la luz se enciende. Utilice alambre debidamente valorado y asegurar que todas las conexiones estén aisladas con tuercas de alambre o bloques de terminal. Si usted está incómodo con tensión de red, consulte a un electricista.
Para sensores opcionales: cablear el VCC del sensor de movimiento PIR a 5V (o 3.3V dependiendo del modelo), GND a tierra y salida a un pin GPIO digital. Sensores de luz ambient como el BH1750 usan I2C: conectar SDA y SCL a los pines I2C del microcontrolador (típicamente GPIO 4 y GPIO 5 en ESP8266).
Programación del Microcontrolador
Configuración del IDE Arduino para ESP
Instala el paquete ESP8266 o ESP32 en el IDE Arduino a través del Administrador de Juntas. Luego selecciona la tabla apropiada del menú Herramientas. Para las subidas de primera vez, puede que necesite mantener el botón BOOT o utilizar un adaptador USB a serie con las líneas DTR/RTS adecuadas. La mayoría de las tablas de desarrollo incluyen un puente USB-UART y circuitos de auto-reset.
Conexión Wi-Fi y servidor web
Escribe un boceto que se conecta a tu red Wi-Fi usando la función
. Establecer direcciones IP estáticas para evitar cambios después de reiniciar el router. Después de conectarse, inicie un servidor web HTTP simple que escuche solicitudes de GET. Por ejemplo:
] ]
Añade un punto final de estado para confirmar el estado actual. También puedes servir una página HTML mínima con botones para encendido/off, haciendo que el sistema sea controlable desde cualquier navegador de la red local. Este enfoque es simple y no requiere aplicaciones externas.
Actualizaciones sobre el aire (OTA)
Una vez instalado el dispositivo en una ubicación remota, las actualizaciones de OTA le ahorran de tener que reconectarse físicamente. Incluya la biblioteca en su bosquejo y configura una contraseña. Esto le permite subir el firmware nuevo de forma inalámbrica desde el IDE Arduino – una gran comodidad.
Métodos de control
Interfaz de base web
Un servidor web que se ejecuta en el microcontrolador es el método de control más directo. La página HTML puede ser incrustada en el código como una cadena o almacenada en SPIFFS (LittleFS). Incluye botones, deslizadores para brillo si se utiliza PWM, y tal vez un formulario de programador. La interfaz se puede estilo con CSS para un aspecto limpio. Dado que la memoria del microcontrolador es limitada, mantenga la página magra.
Aplicaciones Móviles (Blynk, MQTT, Custom)
Plataformas como Blynk] proporcionan un constructor de aplicaciones arrastrar y soltar que se comunica con su microcontrolador sobre Wi-Fi. Puede crear botones, gráficos y deslizadores sin escribir código móvil nativo. Alternativamente, utilice el protocolo MQTT con un broker como Mosquitto, y dejar que cualquier aplicación de cliente MQTT (por ejemplo, varios dispositivos de control de luz que usted tiene
Integración de asistentes de voz
Para el control sin manos, integre con Amazon Alexa o Google Assistant. La forma más simple es utilizar el Epalo de Belkin Wemo emulado de ESP8266 o utilice una biblioteca como Espalexa. Estas bibliotecas hacen que el microcontrolador aparezca como un plug inteligente estándar para la función de voz.
Automatización e integración de sensores
Iluminación activada por movimiento
Los sensores PIR detectan radiación infrarroja de los cuerpos móviles. Conecte un sensor PIR a un pin GPIO y lo establece como entrada. Cuando se detecta movimiento, la salida del sensor se apaga (o LOW dependiendo del módulo). En su código, puede encender la luz y comenzar un temporizador. Si no se detecta movimiento durante un período configurable, apague la luz.
Control de Adaptación de Luz Ambient
Usa un fotoresistor (LDR) conectado a una entrada analógica, o un sensor digital como el BH1750 para leer valores de lujo. Luego implementa una regla: enciende las luces sólo cuando se detecta la luz ambiente por debajo de un umbral y se detecta movimiento. Esto evita que las luces se enciendan durante la luz brillante. También puede ajustar la intensidad de la luz a través de PWM (si utiliza LEDs insonorable y un relé adecuado o brillo percibido) para mantener una constante.
Programación basada en el tiempo
Use las funciones de tiempo de ESP a través de NTP. Obtenga el tiempo actual de un servidor NTP al iniciarlo y almacenarlo. A continuación, cree un horario: encender las luces al atardecer y apagarlas en un tiempo fijo (por ejemplo, 11 PM). Bibliotecas como TimeLib y ]]
Mejoras avanzadas
Control de escenarios
Grupo de múltiples luces (por ejemplo, sala de estar, dormitorio) y definir escenas: “Modo de movimiento” disminuye las luces al 20%, “Reading” establece un blanco brillante y cálido. Esto requiere múltiples canales de relé o LEDs direccionales (como WS2812B) donde cada LED puede ser controlado individualmente. Para LEDs direccionales, utilice la ] Biblioteca de Adafruit NeoPixel[
Energy Monitoring
Agregue un sensor de transformador actual (CT) como el SCT-013 para medir el consumo de energía del circuito de iluminación. El microcontrolador puede leer la salida analógica y calcular las vatios. Estos datos pueden ser mostrados en un panel de control web o enviados a un servicio como Asistente de hogar para el seguimiento a largo plazo.
MQTT e integración de automatización doméstica
Conecta tu sistema de iluminación a un centro de automatización de casa como Home Assistant o OpenHAB usando MQTT. Esto te permite crear automatización compleja con otros sensores (por ejemplo, encender luces cuando se abre una puerta, o luces flash si se detecta humo).El microcontrolador publica cambios estatales y se suscribe a temas de comando. Esto también permite el acceso remoto a través de puentes de nube, si es deseado.
Seguridad y Buenas Prácticas
] El voltaje de las máquinas es peligroso. Siempre desconecte la potencia cuando se cablea. Usa una caja de unión para encerrar todas las conexiones de las principales. El módulo de relé debe colocarse en un recinto no conductor, y el microcontrolador debe estar aislado de cableado de alta tensión. Fuse la entrada de las placas de relé en el amperaje apropiado (A.g.
Considere usar un relé de estado sólido (SSR) para el cambio silencioso, especialmente en los dormitorios. Los SSR no tienen contactos mecánicos y una vida más larga, pero generan calor y pueden requerir un sintonía de calor. Asegúrese de que la calificación de carga de SSR supera la depilación de su luz.
Asegura tu red Wi-Fi. Usa el cifrado WPA2 o WPA3. Evite las credenciales de conexión Wi-Fi en el boceto, en lugar de ello, implemente un portal de configuración (librería de Windows Gestor) que le permite establecer credenciales a través de un punto de acceso temporal.
Problemas comunes
- Microcontroller no se conecta a Wi-Fi:] Verificar SSID y contraseña son correctas. Compruebe que el router no está establecido en un rango de canal limitado. Pruebe una IP estática fuera de la gama DHCP.
- Relay not switching:] Tensión de medición en el pasador de control – debe transición entre 0V y 3.3V/5V dependiendo del módulo. Algunos relés requieren un convertidor de nivel lógico si el microcontrolador es 3.3V y el relé espera lógica 5V. Además, compruebe si el módulo es activo LOW – es posible que necesite invertir la lógica en código.
- Lights flicker cuando los interruptores de relé: Esto a menudo indica una mala conexión o un filtro insuficiente de alimentación. Añadir un condensador de 100μF a través de la bobina de relé (si utiliza relé mecánico) o un circuito de snubber a través de la carga.
- El sensor PIR dispara falsamente: Reducir la sensibilidad a través del potenciómetro a bordo. Colocar el sensor lejos de fuentes de calor como ventilación de aire o luz solar directa. Añadir un período de enfriamiento en código para ignorar los rápidos re-triggers.
- El servidor web deja de responder después de unas pocas horas: El microcontrolador puede tener una fuga de memoria. Supervise el salto libre a través . Los temporizadores de relojería re-enable o programa los resetes periódicos usando .
Poniéndolo todo junto: Ejemplo de construcción completa
Construyamos un escenario concreto: una luz de pasillo con control activado por movimiento, retardado por el tiempo, además de una anulación manual a través de un botón de empuje y un comando de voz opcional a través de Alexa.
Componentes: ESP32, módulo de relé 5V de 1 canal, sensor PIR HC-SR501, interruptor momentáneo y bombilla LED. Potencia a través de un cargador de teléfono USB 5V (1A). Aclara el relé a GPIO 5, PIR a GPIO 4, botón a GPIO 2 (con el acoplamiento interno).
El boceto se conecta a Wi-Fi, el tiempo de FTP de las heces y se ejecuta un bucle: leer estado PIR. Si se detecta movimiento y el sensor de luz ambiental (punto de posición o utilizar un temporizador simple basado en el tiempo del día) indica que es oscuro, encienda el relé y comience un temporizador de 10 minutos. Si el botón se presiona, mueva la luz manualmente y reajuste el temporizador.
Estructura del código: crear funciones para , , . Usar retrasos no bloqueantes con . El servidor web muestra el estado actual y permite el control manual. Este sistema es fiable y puede ampliarse a múltiples zonas.
Conclusión y pasos siguientes
Construir un sistema de iluminación inteligente personalizado con microcontroladores y Wi-Fi es un proyecto gratificante que enseña electrónica, redes y programación. Empezando con un simple relé on/off, puedes añadir sensores, lógica de automatización e integraciones con plataformas de hogar inteligentes. El costo es bajo en comparación con los sistemas comerciales, y la flexibilidad es mucho mayor.
Después de que su sistema básico es estable, considere explorar LEDs dimmable a través de PWM o tiras LED direccionales, añadiendo un sensor de presencia para un control más fino, o integrando con applets IFTTT para geo-sentimiento. Validar su código con pruebas completas – comportamiento inesperado con la iluminación puede ser un peligro de seguridad. Finalmente, compartir su trabajo con la comunidad en foros como Reddit r/esp32 o Hackaday.io para obtener comentarios.
Para más lectura, los Tutoriales Nerd proporcionan excelentes guías paso a paso en el control de relés ESP32, y la Espressif ESP-IDF documentación ofrece más información sobre las API de Wi-Fi y MQTT. Estos recursos le ayudarán a llevar su sistema de iluminación inteligente a un nivel profesional.