Подключение датчика газа MQ-2 к Arduino
Датчик горючих газов и дыма
MQ-2 к Arduino — питание 5 В, земля и AO на аналоговый вход. Уровни у Arduino Uno 5 В, поэтому модуль подключается без делителя.
Схема подключения датчика газа MQ-2 к Arduino
| MQ-2 | Arduino Uno |
|---|---|
| AO | A0 |
| VCC | 5V |
| GND | GND |
Схема из примера «Arduino Uno: датчик газа MQ-2».
Выводы MQ-2
| Вывод | Назначение |
|---|---|
| AO | аналоговый выход: выше напряжение — больше газа |
| DO | цифровой выход компаратора, низкий при превышении порога |
| VCC | питание нагревателя и платы, 5 В |
| GND | общий провод |
Код для Arduino
// Сигнализация утечки газа на MQ-2.
//
// Нагреватель датчика греется минуты, и всё это время показания
// плавают. Здесь прогрев сокращён до пяти секунд ради демонстрации; на
// настоящем датчике ждут минимум пару минут.
//
// Порогов два: включаем при высоком, выключаем при заметно более
// низком, чтобы сигнал не дребезжал у границы.
const int GAS = A0;
const int LED = 8;
const int ALARM_ON = 600;
const int ALARM_OFF = 450;
const unsigned long WARMUP_MS = 5000;
bool gasAlarm = false;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
Serial.println("прогрев датчика...");
}
void loop() {
if (millis() < WARMUP_MS) {
delay(200);
return;
}
int level = analogRead(GAS);
if (!gasAlarm && level > ALARM_ON) {
gasAlarm = true;
Serial.println("ГАЗ! превышен порог");
} else if (gasAlarm && level < ALARM_OFF) {
gasAlarm = false;
Serial.println("воздух чистый");
}
digitalWrite(LED, gasAlarm);
Serial.print("level=");
Serial.println(level);
delay(300);
}
Скетч можно править и запускать в симуляторе без платы и установки среды.
Что учесть на Arduino
- Нагреватель берёт ток с вывода 5V платы: при питании от USB этого хватает, но не питайте так несколько датчиков сразу.
- Для сигнализации пороги задают по реальным замерам в чистом воздухе, а не по формулам.
Частые ошибки при подключении к Arduino
- Считать показания в первые секунды после включения: нагреватель ещё не вышел на режим.
- Полагаться на датчик как на единственную защиту от утечки газа: это учебная сборка, а не сертифицированный прибор.
- Читать значения сразу после включения: нагреватель ещё холодный, и показания плывут. Подождите прогрева.
- Перевод в ppm по формулам из интернета без калибровки в чистом воздухе: числа получаются красивые, но неверные.
- Порог без гистерезиса: на границе сигнал включается и выключается от шума АЦП.
Ещё по теме
- плата Подключение датчика газа MQ-2 к ESP32
- деталь MQ-2: подключение к ESP32 и Arduino
- калькулятор Делитель напряжения
Другие детали для Arduino
HC-SR04DHT22 (AM2302)BME280DS3231SSD1306 OLED 0,96″LCD 1602 с I2CMAX7219TM1637Модуль релеKY-040Клавиатура 4×4HX711ФоторезисторМодуль microSDRGB-светодиодСервопривод SG9074HC595Шаговый двигательКнопкаПотенциометрПьезопищалкаСветодиодПолзунковый переключательHC-SR501TTP223Датчик влажности почвыLM35Джойстик KY-023DHT11HTU21D