Опубликовано

Датчик газа MQ-135

По материалам руководства к набору “Умный дом на базе Arduino. Большой набор + КНИГА

Датчик газа MQ-135 предназначен для измерения наличия в окружающем воздухе вредных примесей газа. В качестве чувствительного элемента в датчике служит пластина диоксида олова (Sn02), который имеет низкую проводимость в чистом воздухе. Когда датчик оказывается в среде с парами токсичных газов, его проводимость возрастает. Датчик MQ-135 очень чувствителен к аммиаку, сульфидам, парам бензола и алкоголя, СО2 и идеально подходит для мониторинга дыма и других вредных примесей в воздухе. На рис. S7.1 показано изменение сопротивления датчика в зависимости от концентрации различных газов в окружающем воздухе в миллионных долях (от общего объема газа).

Внешний вид, назначение контактов

7-01-MQ135

Рис. S7.1. Изменение сопротивления датчика в зависимости от концентрации различных газов в окружающем воздухе

Основные характеристики

Наименование Значение
Напряжение питания, В 5
Потребляемый ток, мА 160
Рабочая температура, °С 10 ÷ 45
Относительная влажность, % менее 95
Концентрация кислорода в воздухе (стандартная), % 21
Стандартная температура измерения, °С 20
Влажность, % 65
Диапазон измерений аммиак: 10 ppm ÷ 300 ppm

бензин: 10 ppm ÷ 1000 ppm

этиловый спирт: 10 ppm ÷ 300 ppm

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

7-02-MQ135

Рис. S7.2. Подключение датчика газа

Программный код

Листинг S7.1. Измерение концентрации газов с помощью датчика MQ-135

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#define MQPin A0 //пин, к которому подключен датчик газа
 
#define ledPin 13 //пин встроенного светодиода
 
int sensorValue = 0; //переменная для хранения значений
 
void setup() {
 
Serial.begin(9600);
 
pinMode(ledPin, OUTPUT);
 
Serial.println("MQ135 Test" ); //Посылаем текст в монитор порта
 
}
 
void loop() {
 
// Считываем значения с датчика
 
sensorValue = analogRead(MQPin);
 
if (sensorValue >= 400)
 
// и, если превышен заданный порог,
 
{
 
digitalWrite(ledPin, HIGH); // то включаем светодиод,
 
}
 
else // а если нет…
 
{
 
digitalWrite(ledPin, LOW); // то выключаем
 
}
 
Serial.print("MQ135 value= " );
 
// Для отслеживания данных с датчиков
 
// транслируем их в монитор порта
 
Serial.println(sensorValue);
 
delay(1000);
 
}

Результат

2-07-4-MQ135

Рис. S7.4. Результаты измерений