Оценка качества воздуха с Arduino

05 января 2018

Каждый год с развитием технологий увеличивается комфортабельность пребывания человека на Земле. Вот только к таким благам можно отнести не только широкое применение умных устройств, но и природные потребности человека. Например, потребность в чистом воздухе.

Те, кто бывали в горах, наверняка помнят какой там свежий воздух. Особенно хорошо жить на берегу озера и дышать ароматными травами, цветущими растениями, проще говоря – природой. В загрязненной атмосфере мегаполисов этого всего практически не встретишь, зато можно получить серьезные проблемы со здоровьем.

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

Благодаря таким устройствам мы можем взять под собственный контроль ситуацию с загрязнением и обезопасить себя.

Для того чтобы стало понятно, чем вы дышите, нам понадобится специальный датчик газа под названием

Купить его можно в нашем магазине: Датчик MQ-135.


Данный датчик позволяет обнаруживать в воздухе такие газы, как дым, аммиак, бензин, спирт и другие. В схеме он является полупроводниковым прибором, а его чувствительность основана на изменении сопротивления небольшого слоя диоксида олова в так называемом чувствительном слое. Также в датчике есть небольшой нагревательный элемент, который нагревает слой до нужной температуры, с целью реагировать на определенный газ. Из-за наличия нагревателя, датчик способен сильно нагреваться и вообще для него желательно подключать внешнее питание.

Питается он от напряжения в 5 вольт, как и большинство датчиков на Arduino. Подключается по трем контактам. Это контакты заземления и питания, а также контакт управления (это может быть как аналоговый, так и цифровой вывод)

Схему подключения вы сейчас видите ниже:

Измеряет содержание тех или иных газов в воздухе (метан, водород, пропан и др.) в величинах ppm – (миллионная доля) единица концентрации.

Также есть определенный диапазон измерений.

Например, для аммиака это 10ppm-300ppm; для бензина 10ppm-1000ppm; для спирта 10ppm-300ppm.

Полный даташит на датчик есть здесь

Исходя из этих данных, можно определить в норме или выше допустимая концентрация.

Вот табличка предельно допустимой концентрации газов в воздухе:

Давайте разберемся с аммиаком. Во-первых, смотрим на единицы измерения. В таблице это мг/м3. Значение ppm измеряется в мг/л или в мг/дм3
Значит 0,2 мг/м3 это 200 мг/дм3 или 200 ppm.
Значит содержание аммиака в воздухе более 200 ppm опасно для человека, а наш датчик сможет это смело зафиксировать и измерить.
Теперь загрузим следующий программный код в плату:
const int analogSignal = A0; //подключение аналогового сигнального пина
const int digitalSignal = 8; //подключение цифрового сигнального пина
boolean noGas; //переменная для хранения значения о присутствии газа
int gasValue = 0; //переменная для хранения количества газа

void setup() {
  pinMode(digitalSignal, INPUT); //установка режима пина
  Serial.begin(9600); //инициализация Serial порта

}

void loop() {
  noGas = digitalRead(digitalSignal); //считываем значение о присутствии газа
  gasValue = analogRead(analogSignal); // и о его количестве

  //вывод сообщения
  Serial.print("There is ");
  if (noGas) Serial.print("no gas");
  else Serial.print("gas");
  Serial.print(", the gas value is ");
  Serial.println(gasValue);
  
  delay(1000); //задержка 1 с
}

В примере демонстрируется подключение датчика и вывод полученных данных в монитор Serial - порта

На этом статья подходит к концу. Всем желаю удачной компиляции и до скорых встреч!



Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.


Поделиться: