Датчик газа и дыма MQ-2 с ESP8266: отправка сообщения в Telegram
Датчик MQ-2 — недорогой и эффективный сенсор для обнаружения бытового газа (пропан, бутан, метан), водорода и дыма. В этом проекте своими руками мы подключим MQ-2 к ESP8266, настроим порог срабатывания и отправим уведомления об утечке газа в Telegram-бот. Идеально для системы безопасности дома или гаража.
Возможности проекта
- Обнаружение утечки газа и дыма
- Настройка порога срабатывания
- Отправка до 3 уведомлений в Telegram
- Беспроводная работа на ESP8266
- Простая калибровка в чистом воздухе
Характеристики MQ-2
- Питание: 5В, ток 150 мА
- Диапазон: пропан 200–5000 ppm, метан 5000–20000 ppm
- Время прогрева: ~1 минута
- Аналоговый и цифровой выходы
Необходимые компоненты
- ESP8266 (NodeMCU / Wemos)
- Модуль MQ-2
- Telegram-бот (создаётся через BotFather)
Схема подключения
- VCC MQ-2 → VIN ESP (5В)
- GND → GND
- A0 MQ-2 → A0 ESP
- DO (опционально) → любой GPIO
Калибровка и скетч
#include <ESP8266WiFi.h>
#include <UniversalTelegramBot.h>
#define WIFI_SSID "yourSSID"
#define WIFI_PASS "yourPASS"
#define BOT_TOKEN "your:token"
#define CHAT_ID "your_chat_id"
WiFiClientSecure client;
UniversalTelegramBot bot(BOT_TOKEN, client);
const int sensorPin = A0;
int threshold = 150; // ваш порог
int alertCount = 3;
void setup() {
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED) delay(500);
bot.sendMessage(CHAT_ID, "Датчик газа запущен", "");
}
void loop() {
int value = analogRead(sensorPin);
if (value > threshold && alertCount > 0) {
bot.sendMessage(CHAT_ID, "Утечка газа!", "");
alertCount--;
delay(10000);
}
if (value < threshold) alertCount = 3;
delay(1000);
}
Считывает данные с газового датчика на A0;
Если значение превышает порог threshold и есть доступные предупреждения (alertCount > 0), отправляет в Telegram сообщение "Утечка газа!" и уменьшает счетчик предупреждений;
После снижения значения ниже порога счетчик предупреждений сбрасывается до 3;
Проверка происходит каждые 1 секунду, при отправке сообщения делается пауза 10 секунд, чтобы не спамить чат.
Установка библиотек
- ESP8266WiFi
- UniversalTelegramBot
Заключение
MQ-2 с ESP8266 — надёжный беспроводной датчик газа с уведомлениями в Telegram. Проект легко расширить: добавить buzzer, реле для клапана или несколько датчиков.
FAQ — Датчик газа MQ-2
Как калибровать MQ-2?
Прогрейте 1 минуту в чистом воздухе, снимите значения A0 (обычно 50–100), порог ставьте на 50–100 выше.
Работает ли без микроконтроллера?
Да, цифровой выход DO подключается к реле (низкий уровень при тревоге).
Можно использовать Arduino вместо ESP?
Да, но без Wi-Fi — добавьте ESP-01 или используйте buzzer/реле.
Как добавить звук?
Подключите buzzer к GPIO и tone() при тревоге.
Ложные срабатывания?
Увеличьте порог или усредняйте несколько измерений (moving average).
Сколько датчиков можно подключить?
Несколько на разные GPIO, с отдельными порогами и сообщениями.
Питается от 3.3В?
Нагреватель требует 5В, логика поддерживает 3.3В.