MQ-2 и Ардуино
Внешний вид детектора газа показан ниже:
Пройдемся по техническим характеристикам устройства для понимания его возможностей:
- напряжение: 5V;
- мощность: <800мВт;
- сопротивление нагрузки и нагревателя: 20кОм и 33 Ом ± 5%;
- параметры сопротивления чувствительности : 10 кОм - 60 кОм;
- диапазон показателей концентрации: 200 - 10000 ppm;
- имеется опция выбора режима питания.
Важно! При первом применении следует настроить, т.е. откалибровать прибор. Для этого можно подержать сенсор рядом с источником дыма, при этом поворачивая потенциометр таким образом, пока на детекторе не зажжётся красный светодиод. Потенциометр крутим по часовой стрелке для увеличения чувствительности.
Ну а теперь перейдем непосредственно к простой сборке проекта. Для ее реализации будем применять такие аппаратные элементы:
- Модуль MQ-2.
- Troyka Shield.
- Комплект соединительных проводов.
Для управления и дальнейшей прошивки нам понадобится скачать и инсталлировать библиотеку TroykaMQ.
Для ее применения открываем среду разработки Arduino IDE, идем по пути: Скетч > Подключить библиотеку > Добавить .ZIP. Открываем архив с софтом (который ранее скачали). Готово!
Зальем скетч:
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include <TroykaMQ.h>
// имя для пина, к которому подключен датчик
#define PIN_MQ2 A0
// имя для пина, к которому подключен нагреватель датчика
#define PIN_MQ2_HEATER 13
// создаём объект для работы с датчиком
// и передаём ему номер пина выходного сигнала и нагревателя
MQ2 mq2(PIN_MQ2, PIN_MQ2_HEATER);
void setup()
{
// открываем последовательный порт
Serial.begin(9600);
// включаем нагреватель
mq2.heaterPwrHigh();
Serial.println("Heated sensor");
}
void loop()
{
// если прошёл интервал нагрева датчика
// и калибровка не была совершена
if (!mq2.isCalibrated() && mq2.heatingCompleted()) {
// выполняем калибровку датчика на чистом воздухе
mq2.calibrate();
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq2.getRo());
}
// если прошёл интервал нагрева датчика
// и калибровка была совершена
if (mq2.isCalibrated() && mq2.heatingCompleted()) {
// выводим отношения текущего сопротивление датчика
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
Serial.print("Ratio: ");
Serial.print(mq2.readRatio());
// выводим значения газов в ppm
Serial.print("LPG: ");
Serial.print(mq2.readLPG());
Serial.print(" ppm ");
Serial.print(" Methane: ");
Serial.print(mq2.readMethane());
Serial.print(" ppm ");
Serial.print(" Smoke: ");
Serial.print(mq2.readSmoke());
Serial.print(" ppm ");
Serial.print(" Hydrogen: ");
Serial.print(mq2.readHydrogen());
Serial.println(" ppm ");
delay(100);
}
}
Попробуем подключить детектор дыма MQ-2 к Ардуино. «Железо», которое нам понадобится: микроконтроллер Ардуино UNO, датчик MQ-2, макетная плата, зуммер, 2 светодиода (красный, зеленый), несколько резисторов на 220 Ом, соединительные провода.Результат:
Пример кодов:
/*******
Подробнее о проекте на:
http://randomnerdtutorials.com/
*******/
int redLed = 12;
int greenLed = 11;
int buzzer = 10;
int smokeA0 = A5;
// здесь задаем пороговое значение:
int sensorThres = 400;
void setup() {
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);
Serial.begin(9600);
}
void loop() {
int analogSensor = analogRead(smokeA0);
Serial.print("Pin A0: "); // "Контакт A0: "
Serial.println(analogSensor);
// проверяем, не превышено ли пороговое значение:
if (analogSensor > sensorThres)
{
digitalWrite(redLed, HIGH);
digitalWrite(greenLed, LOW);
tone(buzzer, 1000, 200);
}
else
{
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH);
noTone(buzzer);
}
delay(100);
}
Планируете проектирование системы контроля качества воздуха? Намерены все сделать правильно, но использовать надежное оборудование? Сенсор, о котором мы говорили, вам точно подойдет и пригодится! Пользуйтесь смело!
Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...
В этой информационной статье разбираем подключение сенсора угарного газа MQ-7 к Ардуино. Мы уже говорили о подобных модулях, оценивали их высокую практичность...
Сегодня у нас на рассмотрении подключение MQ-135 к Arduino и все, что с ним связано. Данная тема и в особенности модуль сенсора выбраны не случайно, ведь в...
В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...
Сегодня на повестке дня обсуждение темы, как подключить радиомодуль NRF24L01 к Ардуино. Почему выбран для обзора именно этот модуль? – Он легок в сборке,...