Tutorial Cómo Controlar una Lámpara o Luz LED con WiFi Usando ESP32 y Firebase

El control de dispositivos de forma remota se ha convertido en una de las aplicaciones más interesantes de la electrónica y el Internet de las Cosas (IoT). Controlar una lámpara o luz LED a través de WiFi utilizando el microcontrolador ESP32 y Firebase es un proyecto muy interesante para iniciar en este mundo IoT. Con una base de datos en tiempo real como Firebase, que permite gestionar datos en la nube, este proyecto emplea un relé de 5V para activar o desactivar el dispositivo conectado, y es ideal para aplicaciones IoT tanto a nivel doméstico como profesional.



¿Por Qué Usar ESP32 y Firebase para Controlar una Lámpara? El ESP32 es un microcontrolador potente y versátil con conectividad WiFi integrada, lo que lo hace ideal para proyectos de IoT. Por su parte, Firebase es una solución de Google que ofrece una base de datos en tiempo real, permitiendo sincronizar información entre dispositivos conectados a internet en diferentes redes (LAN, WAN, 4G o 5G). Esta combinación facilita el control remoto de dispositivos en tiempo real, sin importar tu ubicación.


Materiales Necesarios

  • ESP32
  • Módulo Relé de 5V
  • Lámpara LED o Bombilla (puede ser de baja potencia)
  • Fuente de alimentación (5V para el relé y ESP32)
  • Cables de conexión
  • Firebase Account (configurada previamente con un proyecto básico de IoT)

Cómo Funciona el Sistema
El ESP32 se conecta a Firebase a través de una red WiFi. Desde Firebase, puedes enviar comandos para activar o desactivar el relé, que actúa como un interruptor para controlar el flujo de electricidad hacia la lámpara. Esto significa que puedes manejar el sistema desde cualquier lugar con acceso a internet, ya sea desde tu red local o una conexión móvil.

A continuación les comparto el circuito para el control del Relé de 5V y el circuito para conectar el Relé de 5V en paralelo al interruptor para controlar el encendido de la lampara.


CIRCUITO CONTROL RELÉ DE 5V CON ESP32 O ESP8266

-CIRCUITO USANDO TRANSISTOR NPN (2N3904)

-CIRCUITO USANDO TRANSISTOR PNP (2N3906)

Este circuito con el transistor PNP alimentado con 5V en el Emisor y GND en el Colector, funciona bien pero cuando hay una entrada (IN) de 5V, cuando se activa con los 3.3V del pin de la ESP32, no acciona como se esepera (o por lo menos a mi me pasó).


Esta configuración del circuito con el transistor PNP alimentando los 5V por el Colector y GND en el Emisor, si me ha funcionado bien con la entrada (IN) de 3.3V del pin de salida de la ESP32 (sigo sin saber exactamente porque si funcionó esta configuración pero en el vídeo puedes ver que si funciona, deja un comentario explicando si sabes porque si acciona correctamente).


CIRCUITO CONEXIÓN EN PARALELO DE RELÉ DE 5V CON INTERRUPTOR DE LAMPARA


También les comparto un link donde muestro como controlar el Relé de 5V con la ESP8266: https://alex7tutoriales.blogspot.com/2020/03/rele-5v-con-esp8266-y-firebase-conexion.html

Aquí puedes ver el código Javascript (VueJS) para programar la página web con la cual es posible controlar el encendido y apagado de la lampara LED o Relé de 5V: https://alex7tutoriales.blogspot.com/2020/04/esp8266-firebase-javascript-vuejs-iot.html
 
Paso a Paso: Configuración del Proyecto
1. Configuración del Hardware
Conecta el relé al ESP32 según el esquema de tu módulo. Asegúrate de conectar:
  • VCC y GND del relé a la fuente de alimentación.
  • IN del relé a un pin digital del ESP32 (por ejemplo, GPIO 26).
  • La lámpara o luz LED al relé siguiendo las especificaciones del módulo.
2. Configuración de Firebase
  • Accede a tu cuenta de Firebase en Firebase Console.
  • Crea un nuevo proyecto y habilita la base de datos en tiempo real.
  • Agrega las credenciales del proyecto a tu código de ESP32 para que pueda conectarse.
3. Programación del ESP32
El ESP32 debe configurarse para:
  • Conectarse a tu red WiFi.
  • Establecer comunicación con Firebase.
  • Escuchar cambios en la base de datos en tiempo real para activar o desactivar el relé.
Un ejemplo de código básico en Arduino IDE podría incluir la librería Firebase ESP32 para manejar la base de datos:

#include <WiFi.h>
#include <FirebaseESP32.h>

#define WIFI_SSID "TuRedWiFi"
#define WIFI_PASSWORD "TuContraseñaWiFi"
#define FIREBASE_HOST "TuProyecto.firebaseio.com"
#define FIREBASE_AUTH "TuClaveDeFirebase"

#define RELAY_PIN 26

FirebaseData firebaseData;

void setup() {
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, LOW);

  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
  }

  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

void loop() {
  if (Firebase.getBool(firebaseData, "/LuzEstado")) {
    digitalWrite(RELAY_PIN, firebaseData.boolData() ? HIGH : LOW);
  }
}

4. Pruebas del Sistema
  • Ingresa a la base de datos de Firebase y cambia manualmente el valor de la variable LuzEstado (true o false).
  • Observa cómo el relé se activa o desactiva en tiempo real, encendiendo o apagando la lámpara conectada.
Aplicaciones Prácticas del Proyecto
  • Domótica: Controla luces y electrodomésticos en casa desde tu celular o computadora.
  • Proyectos Educativos: Enseña a estudiantes los fundamentos de IoT y bases de datos en la nube.
  • Industrias: Automatiza el encendido/apagado de dispositivos en líneas de producción.
Consejos Adicionales para Mejorar Tu Proyecto
  • Implementa Seguridad: Usa autenticación en Firebase para proteger tus datos.
  • Añade Funcionalidades: Integra un botón físico como respaldo para encender/apagar manualmente la lámpara.
  • Monitorea Consumo Energético: Conecta sensores para medir y controlar el consumo eléctrico de los dispositivos conectados.
Controlar una lámpara o luz LED mediante WiFi usando ESP32 y Firebase es un proyecto que combina accesibilidad y funcionalidad. Su implementación no solo mejora la comodidad en el hogar, sino que también abre puertas para desarrollar soluciones innovadoras en el campo del IoT.

Como siempre, espero que estos videos e información les sea muy útil, no olvides suscribirte a mi canal en YouTube. Saludos 😎

Alex7 Tutoriales

Tutoriales que en algún momento te pueden ser útiles.... Suscribete!

Publicar un comentario

Artículo Anterior Artículo Siguiente