Arduino и датчик газа / дыма MQ-2
Arduino можно применять в системах пожарной безопасности и оборудовании обнаружения утечки газа. Для того, чтобы плата Arduino успешно решала задачи такого рода, нужно подключить к ней датчик газа MQ-2.
Этот датчик достаточно недорогой и широко распространенный. К тому же он довольно прост в эксплуатации. В этом материале будет показано, как использовать Arduino вместе с датчиком дыма и газа MQ-2.
Датчик MQ-2 чувствителен к дыму и к горючим газам, таким как сжиженный природный газ, бутан, пропан, метан, пары спирта и водород. В зависимости от уровня газа в атмосфере меняется внутреннее сопротивление датчика. MQ-2 имеет аналоговый выход, поэтому напряжение на этом выходе будет меняться пропорционально уровню газа в окружающей среде. Для определения по логическому уровню также имеется цифровой выход. На модуле датчика есть встроенный потенциометр, который позволяет настроить чувствительность этого датчика в зависимости от того, насколько точно вы хотите регистрировать уровень газа. Ниже показано изображение датчика дыма/газа MQ-2 с обозначением выводов.
Для того, чтобы попрактиковаться с Arduino и датчиком MQ-2, соберем простую систему обнаружения газа/дыма. Для этого помимо самого датчика и Arduino нам потребуется макетная плата, один красный светодиод, один зеленый светодиод, динамик или зуммер, три резистора 220 Ом и соединительные провода.
Суть работы этой системы проста: при достижении определенного уровня газа/дыма в атмосфере загорится красный светодиод и зуммер будет издавать звук.
Соединение всех компонентов системы производится в соответствии с представленной ниже схемой. Здесь аналоговый выход датчика MQ-2 подключается к аналоговому порту A5 платы Arduino Uno. Зуммер подключается к цифровому порту D10, а зеленый и красный светодиоды к D11 и D12 соответственно.
После того, как правильно подключите все компоненты, скопируйте нижеприведенный код в среду разработки Arduino IDE, скомпилируйте его и загрузите в плату Arduino Uno. Этот скетч довольно прост. Для изменения порога срабатывания зуммера и красного светодиода можете поменять значение sensorThres.
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: ");
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);
}
Таким образом, совместное использование платы Arduino и датчика газа MQ-2 не представляет каких-либо трудностей как в схеме, так и в коде. С помощью этой платы и данного датчика вы всегда можете собрать свою собственную систему пожарной безопасности.