Sistema de detección de fuga de gas y cerrado de valvula de paso usando comunicación espnow con dos esp32 y mq-2
Aquí tienes un esquema básico para tu práctica utilizando dos ESP32, uno maestro y otro esclavo, con un sensor de gas MQ2, un buzzer, LEDs, y control de una válvula con un servo motor, usando ESP-NOW para la comunicación entre los dos ESP32:
ESP32 Maestro (Detección de fuga de gas)
Componentes:
- Sensor MQ2 (Gas)
- LED de medición (indica cuando está midiendo)
- LED de alerta (indica fuga de gas)
- Buzzer
- ESP32 (Maestro)
Conexiones:
- Sensor MQ2:
- VCC: 3.3V del ESP32
- GND: GND del ESP32
- AO (Salida analógica de gas): Pin analógico del ESP32 (ejemplo:
A0)
- LED de medición:
- Anodo (positivo): Pin GPIO del ESP32 (ejemplo:
GPIO 12) - Cátodo (negativo): GND a través de una resistencia de 220Ω
- Anodo (positivo): Pin GPIO del ESP32 (ejemplo:
- LED de alerta:
- Anodo: Pin GPIO del ESP32 (ejemplo:
GPIO 13) - Cátodo: GND a través de una resistencia de 220Ω
- Anodo: Pin GPIO del ESP32 (ejemplo:
- Buzzer:
- Pin de control del buzzer: GPIO (ejemplo:
GPIO 14) - GND: Conectado a GND del ESP32
- Pin de control del buzzer: GPIO (ejemplo:
Código para ESP32 Maestro:
ESP32 Esclavo (Control de válvula de gas)
Componentes:
- Servo motor para cerrar la válvula de gas
- Botón para control manual
- ESP32 (Esclavo)
- Servomotor
Conexiones:
- Servo motor:
- VCC: 5V del ESP32 (o fuente externa)
- GND: GND del ESP32
- Control: GPIO del ESP32 (ejemplo:
GPIO 15)
- Botón manual:
- Un pin a GND
- Otro pin a un GPIO del ESP32 (ejemplo:
GPIO 16) con una resistencia de pull-up
Código para ESP32 Esclavo:
Explicación:
- El ESP32 maestro está leyendo los valores del sensor MQ2. Si detecta una fuga de gas (por encima de un umbral), enciende el buzzer, el LED de alerta y envía un mensaje al ESP32 esclavo mediante ESP-NOW.
- El ESP32 esclavo recibe la señal y mueve el servo para cerrar la válvula de gas. También tiene un botón que permite abrir o cerrar la válvula manualmente.
Esto debería darte una base para comenzar tu proyecto. Puedes ajustar el código según tus necesidades y el hardware disponible.
