Arduino:Примеры/Гайд по использованию датчика газа/дыма MQ-2 с Arduino

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Гайд по использованию датчика газа/дыма MQ-2 с Arduino[1]

Это руководство объясняет, как сконструировать датчик, который будет пищать при обнаружении огнеопасного газа или дыма.

Описание датчика MQ-2

То, как выглядит датчик дыма MQ-2, можно наблюдать на картинке ниже:

Датчик MQ-2 чувствителен к дыму и нижеследующим воспламеняющимся газам:

  • Сжиженному природному газу
  • Бутану
  • Пропану
  • Метану
  • Спирту
  • Водороду

Сопротивление датчика MQ-2 меняется в зависимости от типа газа. Чувствительность датчика настраивается при помощи встроенного потенциометра.

Как это работает?

Напряжение, выдаваемое датчиком, меняется в зависимости от уровня дыма/газа в окружающей атмосфере. Другими словами, выходное напряжение и концентрация дыма/газа пропорциональны друг другу:

  • Чем выше концентрация газа, тем выше выходное напряжение
  • Чем ниже концентрация газа, тем ниже выходное напряжение

На выходе может быть либо аналоговый сигнал (A0), который можно принять входным аналоговым контактом Arduino, или цифровой сигнал (D0), который можно принять входным цифровым контактом Arduino.

Подключение контактов

Датчик MQ-2 оснащен 4 контактами:

  • Контакт A0 на MQ-2 нужно подключить к аналоговому контакту на Arduino
  • Контакт D0 – к цифровому контакту
  • Контакт GND – к контакту GND
  • Контакт VCC – к контакту 5V

Скетч: Использование датчика газа вместе с Arduino

Мы сделаем проект, в котором Arduino будет считывать аналоговый сигнал, идущий от датчика, а затем, если концентрация газа достигнет определенного предела, бибикнет зуммером и включит красный светодиод. Однако если концентрация газа будет ниже заданного предела, у Arduino будет гореть зеленый светодиод.

Необходимые компоненты

Для этого проекта нам понадобятся следующие компоненты:

  • Один датчик газа MQ-2 (см. на eBay)
  • Одна плата Arduino (см. на eBay)
  • Одна макетная плата (см. на eBay)
  • Один красный светодиод
  • Один зеленый светодиод
  • Один зуммер
  • Три резистора на 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);
}

Демонстрация

Вот так проект выглядит вживую:

Видео

См.также

Внешние ссылки