Метеостанция на ардуино своими руками

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

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

Содержание

  1. Что потребуется для изготовления портативной метеостанции?
  2. Характеристики датчика DHT11
  3. Подключение датчика к микроконтроллеру Arduino
  4. Почему важно знать индекс тепла?

Что потребуется для изготовления портативной метеостанции?

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

Для этого вам понадобиться такой набор элементов:

  • Датчик температуры и влажности DHT11 – используется как основное приспособление для регистрации параметров окружающей среды;
  • Плата Arduino UNO – необходима для обработки получаемых с датчика данных и вывода их на цифровой дисплей;
  • Электронный дисплей – устройство для отображения измеряемых данных и перевода их в понятную для обывателей форму;
  • Макетная плата – предназначена для фиксации всех элементов и размещения на жестком основании, упрощает электрическое соединение всех деталей;
  • Соединительные провода со штекером или под пайку.

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

Характеристики датчика DHT11

Общий вид датчика DHT11
Рис. 1: общий вид датчика DHT11

Следует отметить, что данный датчик выбран как наиболее доступный и удобный в применении. Помимо этого он характеризуется следующими рабочими параметрами:

  • Напряжение питания от 3 до 5 В;
  • Потребляет от источника питания ток в 2,5 мА;
  • Способен измерять влажность окружающего пространства в пределах от 20 до 80%;
  • Температурные колебания измеряет в пределах от 0 до 50°С;
  • Погрешность при измерении влажности составляет 5%, а при измерении температуры в пределах 2%;
  • Частота измерений составляет одно измерение в секунду;
  • Габариты датчика составляют 12×15,5*5,5 мм.

Датчик DHT11 имеет пластиковый корпус и оснащается четырьмя контактами, такое количество выводов обеспечивает удобство подсоединения к устройствам обработки данных. В работе самодельной метеостанции все четыре вывода не используются, из них вам понадобится только три VCC, GND, DATA. Запитать датчик вы можете от любого источника с уровнем напряжения на выходе от 3 до 5 В.

В некоторых схемах можно встретить подключение резистора на 5 – 10 кОм к выводу передачи данных от датчика к микроконтроллеру. Следует отметить, что в данной ситуации этого делать не нужно, так как резистор уже входит в состав платы.

Модуль датчика DHT11
Рис. 2: модуль датчика DHT11

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

Подключение датчика к микроконтроллеру Arduino

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

Передача данных от датчика к микроконтроллеру имеет такую последовательность:

  • От микроконтроллера Arduino к датчику поступает запрос путем смены сигнала с 0 на 1;
  • Получив запрос, DHT11 выдает Arduino информацию посредством изменения битовой кодировки;
  • При согласовании запроса и ответа от DHT11 на Arduino поступает отчет в размере 5 байт о состоянии температуры и влажности.

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

  meteostanciya-na-arduino (880 bytes, скачано: 91)

Ниже представлена принципиальная схема самодельной метеостанции на основе датчика DHT11 и микроконтроллера Arduino.

Принципиальная схема метеостанции на Ардуино
Рисунок 3: Принципиальная схема метеостанции на Ардуино

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

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

Почему важно знать индекс тепла?

Как вы могли заметить, погода на улице в разные  дни ощущается совершенно по-разному. Несмотря на то, что термометр показывает одну и ту же отметку, ощущаться одна и та же температура будет иначе. Это обусловлено значительным влиянием влажности на ваш организм.

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

Поэтому так важно контролировать соотношение температуры и влажности окружающей среды для маленьких детей и людей преклонного возраста. Их соотношение, в предложенном варианте домашней метеостанции, отображается тепловым индексом, который рассчитывается на основании величины температуры и влажности. Угроза получения теплового удара или перегрева особенно остро возникает при достижении отметки теплового индекса в 91 °F (32 °C) и выше. Благодаря предложенному варианту домашней метеостанции вы можете измерять и тепловой индекс, что поможет вам обезопасить себя и близких от случайного перегрева.

В приведенной схеме домашней метеостанции на мониторе данные распределяются следующим образом:

  • HiX (heat index) – тепловой индекс;
  • T – величина температуры окружающей среды;
  • H – процент влажности.

Рисунок 4: пример отображения данных на мониторе

.