СОДЕРЖАНИЕ ►
Сегодня мы познакомимся с MQ-135, который способен оценивать качество воздуха и определять наличие вредных газов. MQ-135 относится к классу полупроводниковых датчиков. Внутри находится чувствительный слой из диоксида олова (SnO₂), который нагревается встроенным нагревателем. Когда газ вступает в контакт с этим слоем, сопротивление меняется — чем выше концентрация газа, тем ниже сопротивление.
Датчик MQ-135 характеристики, распиновка

MQ-135 не предназначен для точного измерения CO₂ в ppm без сложной калибровки. Для серьезных задач по CO₂ лучше использовать специализированные датчики (например, MH-Z19B). Индикатор качества воздуха MQ-135 требует времени для стабилизации. Не ждите точных цифр в первые минуты после включения. Помните, что нагреватель потребляет ток — при питании от батарей проект проживет недолго.
Характеристики датчика MQ-135 Arduino (datasheet)
- Напряжение питания: 5V DC
- Ток потребления: ~150 мА (с прогревом)
- Время прогрева: новый — 24-48 часов, потом 5 минут
- Интерфейс: Аналоговый + Цифровой
- Обнаруживаемые газы: Аммиак (NH₃), оксиды азота (NOx), бензол, дым (CO₂)
- Диапазон концентраций: 10–10000 ppm От 10 частиц на миллион до 1%
- Размеры: 32×22×27 мм
Подключение датчика газа MQ-135 к Arduino
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega
- сенсор MQ-135
- провода «папа-мама», «папа-папа»

Схема подключения:
- MQ-135 (VCC) → 5V Arduino
- MQ-135 (GND) → GND Arduino
- MQ-135 (A1) → A1 Arduino
- MQ-135 (D0) → цифровой пин (например 8)
Следующий скетч читает аналоговые значения с датчика и выводит их в монитор порта. Со временем вы сможете отслеживать, как меняется качество воздуха. Программа может использоваться для обнаружения утечки бытового газа (хотя для природного газа лучше использовать специализированные сенсоры MQ-2 или MQ-5).
Скетч для подключения сенсора MQ-135 к Ардуино
const int sensorPin = A1; void setup() { Serial.begin(9600); Serial.println("Прогрев датчика MQ-135"); Serial.println("Подождите 5 минут для стабильных показаний ..."); } void loop() { // Читаем значение с датчика (0-1023) int sensorValue = analogRead(sensorPin); // Преобразуем в напряжение (0-5V) float voltage = sensorValue * (5.0 / 1023.0); // Выводим данные Serial.print("Аналоговое значение: "); Serial.print(sensorValue); Serial.print(" | Напряжение: "); Serial.print(voltage); Serial.println(" V"); // Простейшая индикация качества воздуха if (sensorValue < 100) { Serial.println("Воздух чистый"); } else if (sensorValue < 200) { Serial.println("Легкое загрязнение"); } else if (sensorValue < 300) { Serial.println("Среднее загрязнение"); } else { Serial.println("Сильное загрязнение! Проветрите помещение!"); } Serial.println(" "); delay(2000); // Чтение каждые 2 секунды }
Пояснения к коду:
- аналоговые значения (0-1023) мало о чем говорят, чтобы получить концентрацию в ppm (частиц на миллион), нужна калибровка и математика;
- для точных измерений используют библиотеки, например MQ135.h
Скетч для Ардуино с использованием библиотеки MQ135.h
#include "MQ135.h" #define PIN_MQ135 A1 MQ135 mq135_sensor(PIN_MQ135); void setup() { Serial.begin(9600); } void loop() { float rzero = mq135_sensor.getRZero(); float correctedRZero = mq135_sensor.getCorrectedRZero(22, 50); // 22°C, 50% влажности float resistance = mq135_sensor.getResistance(); float ppm = mq135_sensor.getPPM(); float correctedPPM = mq135_sensor.getCorrectedPPM(22, 50); Serial.print("PPM: "); Serial.print(ppm); Serial.print(" | Corrected PPM: "); Serial.println(correctedPPM); delay(1000); }
Пояснения к коду:
- библиотека требует калибровки сенсора под ваши условия, изучите документацию перед использованием.
Настройка и решение проблем
- Датчик «врёт» или показывает хаотичные значения:
Дайте датчику поработать 5-10 минут, а лучше 24 часа после первого включения. Оставляйте датчик включенным постоянно, если нужна стабильность. - Значения не меняются при появлении газа:
Слишком низкая чувствительность или неправильный порог на D0. Подкрутите потенциометр на модуле (обычно синий) для настройки порога срабатывания. - Датчик сильно греется:
Внутри датчика стоит нагреватель, корпус может нагреваться до 60°C. - Показания плавают без видимых причин:
Датчик чувствителен к влажности и температуре, для точности нужна калибровка.
Заключение: MQ-135 — отличный инструмент для относительной оценки качества воздуха. Он не скажет вам точное количество ppm, но отлично покажет динамику: когда воздух становится грязнее, а когда чище. Экспериментируйте, калибруйте MQ135 под свои условия и не забывайте давать датчику время на прогрев!










Добавить комментарий