Как самостоятельно собрать систему оповещения об утечке газа на базе датчика MQ-2 и контроллера ESP32?

Система оповещения об утечке газа на базе датчика MQ-2 и микроконтроллера ESP32 — это доступный DIY-проект, который обеспечивает реальную защиту жилья от утечек бытового газа, пропана, метана и угарного газа.

## Необходимые компоненты

— Микроконтроллер ESP32 (любая плата с Wi-Fi)
— Датчик газа MQ-2
— Пьезобуззер (активный или пассивный)
— Светодиод красного цвета
— Резисторы 220 Ом и 10 кОм
— Макетная плата и провода
— Источник питания 5В (USB или адаптер)

## Принцип работы MQ-2

Датчик MQ-2 имеет аналоговый выход (AOUT) и цифровой (DOUT). Аналоговый выход выдаёт напряжение, пропорциональное концентрации газа. ESP32 оснащён 12-битным АЦП, что позволяет считывать значения от 0 до 4095. Перед использованием датчик необходимо прогреть 20–30 секунд.

## Схема подключения

— VCC датчика → 5В ESP32 (или внешний источник)
— GND датчика → GND ESP32
— AOUT датчика → GPIO34 ESP32 (аналоговый вход)
— DOUT датчика → GPIO35 ESP32 (цифровой вход)
— Буззер → GPIO25 через резистор 220 Ом
— Светодиод → GPIO26 через резистор 220 Ом

## Пример кода на Arduino IDE

cpp
#include
#include

const int MQ2_AOUT = 34;
const int BUZZER = 25;
const int LED = 26;
const int THRESHOLD = 1500; // порог срабатывания

const char* ssid = «YOUR_SSID»;
const char* password = «YOUR_PASSWORD»;
const String telegramToken = «YOUR_BOT_TOKEN»;
const String chatId = «YOUR_CHAT_ID»;

void sendTelegramAlert(String message) {
HTTPClient http;
String url = «https://api.telegram.org/bot» + telegramToken +
«/sendMessage?chat_id=» + chatId +
«&text=» + message;
http.begin(url);
http.GET();
http.end();
}

void setup() {
Serial.begin(115200);
pinMode(BUZZER, OUTPUT);
pinMode(LED, OUTPUT);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) delay(500);
Serial.println(«Wi-Fi подключён»);
}

void loop() {
int gasValue = analogRead(MQ2_AOUT);
Serial.println(gasValue);
if (gasValue > THRESHOLD) {
digitalWrite(LED, HIGH);
digitalWrite(BUZZER, HIGH);
sendTelegramAlert(«⚠️ Обнаружена утечка газа! Значение: » + String(gasValue));
delay(10000); // пауза между уведомлениями
} else {
digitalWrite(LED, LOW);
digitalWrite(BUZZER, LOW);
}
delay(1000);
}

## Настройка Telegram-уведомлений

1. Создайте бота через @BotFather и получите токен.
2. Узнайте свой chat_id через @userinfobot.
3. Вставьте данные в код.

## Калибровка датчика

Порог THRESHOLD подбирается опытным путём. В чистом воздухе значение обычно 300–600. При наличии газа — резко возрастает до 1500–3000 и выше. Рекомендуется провести тестирование с зажигалкой (без поджигания) на расстоянии 10–15 см.

## Важные рекомендации по безопасности

— Не устанавливайте датчик вблизи источников тепла и влаги.
— Размещайте устройство ниже уровня газовой плиты, так как большинство бытовых газов тяжелее воздуха.
— Регулярно проверяйте работоспособность системы.
— Данный проект является дополнительной мерой безопасности и не заменяет сертифицированные промышленные датчики газа.


Задайте вопрос нейросети

Не нашли ответ? Спросите ИИ — он подготовит развёрнутую статью.