Подключение датчика газа MQ-2 к Arduino

Датчик горючих газов и дыма

MQ-2 к Arduino — питание 5 В, земля и AO на аналоговый вход. Уровни у Arduino Uno 5 В, поэтому модуль подключается без делителя.

Схема подключения датчика газа MQ-2 к Arduino

MQ-2Arduino Uno
AOA0
VCC5V
GNDGND

Схема из примера «Arduino Uno: датчик газа MQ-2».

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

Частые ошибки при подключении к Arduino

Другие детали для Arduino