Подключение датчика dht11 или dht22 к ардуино

Терминология

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

Влажность воздуха условно делится на абсолютную и относительную. Абсолютная соответствует измерению объема воды в воздушной массе. Существует предельный порог насыщения, который соответствует 100 %. От этого показателя начинается следующий процесс, именуемый конденсацией.

Относительная влажность воздуха измеряется соотношением влагоемкости к абсолютной влажности. Чем выше относительная влажность, тем выше “точка росы”, соответственно ближе к фактической температуре воздуха.

Контроль уровня влажности почвы — пример проекта

В приведенном ниже проекте использованы датчик уровня влажности, аналог платы Arduino — RedBoard и LCD дисплей, на котором выводятся данные про уровень влажности почвы.

В приведенном ниже проекте использованы датчик уровня влажности, аналог платы Arduino — RedBoard и LCD дисплей, на котором выводятся данные про уровень влажности почвы.

Датчик уровня влажности почвы компании SparkFun:

Красный проводник (VCC) подключается к 5 В на Arduino, черный — к земле (GND), зеленый — сигнал — к аналоговому пину 0 (A0). Если вы используете другой аналоговый пин на Arduino, не забудьте внести соответствующие изменения в скетч для микроконтроллера, представленный ниже.

LCD дисплей подключен к 5 В, земле и цифровому пину 2 (также можно изменить и внести изменения в код) для обмена данными с микроконтроллером по серийному протоколу связи.

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

Обзор популярных устройств

HIG-2

Датчик влажности SOLER&PALAU HIG-2 реагирует при влажности 60-90%, температуре от 0 до 40°С. Гигростат используется для автоматического включения и выключения вентиляторов, опираясь на заданный уровень относительной влажности.

После достижения заданного показателя влажности датчик выключается и срабатывает таймер задержки отключения.

DHT11 и DHT22

Датчики температуры и влажности DHT11 и DHT22 принадлежат группе недорогих и простых. Датчики DHT собраны из двух деталей: емкостный датчик влажности и термистор.

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

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

Xiaomi

Компания Xiaomi выпускает широкую линейку недорогой техники, но имеет отличительные от других производителей характеристики, имея свои достоинства и недостатки.

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

Датчик сконструирован довольно примитивно, крепится на поверхность, использует батарейку, поверх устройства имеется кнопка, которая загорается в момент первого включения. Гаджет работает только в совокупности с главным устройством.

Рабочие температуры датчика варьируются от -20 до 60ºС. Влажность – от 0 до 100%, Измерение температуры и влажности происходит постоянно.

Устройство подает сигнал (мигание света или звук) опасности, если показатели датчика уходят за границу установленной нормы. К основному аппарату можно подсоединить несколько датчиков и контролировать влажность в разных помещениях.

ИВИТ-М

Устройство измерения температуры и влажности Ивит–М разработан для контроля влажности воздуха и неагрессивных газов в промышленности, жкх и сельской деятельности.

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

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

Измерение влажности почвы с помощью цифрового выхода

Для нашего второго эксперимента мы определим состояние почвы с помощью цифрового выхода.

Подключение

Мы будем использовать схему из предыдущего примера. На этот раз нам просто нужно удалить подключение к выводу аналого-цифрового преобразователя и подключить вывод DO модуля к цифровому выводу 8 Arduino.

Соберите схему, как показано ниже:

Рисунок 9 – Подключение датчика влажности почвы к Arduino для считывания показаний на цифровом выходе

Калибровка

Для калибровки цифрового выхода (DO) модуль имеет встроенный потенциометр.

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

Рисунок 10 – Состояния цифрового выхода датчика влажности почвы

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

Теперь ваш датчик откалиброван и готов к использованию.

Код Arduino

После того, как схема будет собрана, загрузите в Arduino следующий скетч.

Если все в порядке, вы должны увидеть вывод в мониторе последовательного порта, похожий на приведенный ниже.

Рисунок 11 – Вывод цифровых показаний датчика влажности почвы

Аналоговый режим

Для подключения датчика в аналоговом режиме нам потребуется использовать аналоговый выход датчика. Датчик влажности почвы FC-28 принимает аналоговые выходные значения от 0 до 1023.

Влажность измеряется в процентах, поэтому мы сопоставим эти значения от 0 до 100, а затем покажем их на последовательном мониторе (serial monitor). Вы можете установить различные значения влаги и повернуть водяную помпу «включено-выключено» согласно этим значениям.

Электрическая схема

Подключите датчик влажности почвы FC-28 к Ардуино следующим образом:

  • VCC FC-28 → 5V Arduino
  • GND FC-28 → GND Arduino
  • A0 FC-28 → A0 Arduino

Код для аналогового выхода

Для аналогового выхода мы пишем такой код:

int sensor_pin = A0; 
int output_value ;

void setup() {
  Serial.begin(9600);
  Serial.println("Reading From the Sensor ...");
  delay(2000);
  }

void loop() {
  output_value= analogRead(sensor_pin);
  output_value = map(output_value,550,0,0,100);
  Serial.print("Mositure : ");
  Serial.print(output_value);
  Serial.println("%");
  delay(1000);
  }

Объяснение кода

Прежде всего, мы определили две переменные: одну для контакта датчика влажности почвы, а другую для хранения выхода датчика.

int sensor_pin = A0; 
int output_value ;

В функции setup, команда Serial.begin(9600) поможет в общении между Arduino и серийным монитором. После этого, мы напечатаем «Reading From the Sensor …” (англ. — считываем с датчика) на обычном дисплее.

void setup() {
  Serial.begin(9600);
  Serial.println("Reading From the Sensor ...");
  delay(2000);
  }

В функции цикла, мы прочитаем значение от аналогового выхода датчика и сохраним значение в переменной output_value. Затем мы сопоставим выходные значения с 0-100, потому что влажность измеряется в процентах. Когда мы брали показания с сухого грунта, значение датчика было 550, а во влажном грунте значение датчика было 10. Мы сопоставили эти значения, чтобы получить значение влаги. После этого мы напечатали эти значения на последовательном мониторе.

void loop() {
  output_value= analogRead(sensor_pin);
  output_value = map(output_value,550,10,0,100);
  Serial.print("Mositure : ");
  Serial.print(output_value);
  Serial.println("%");
  delay(1000);
  }

Какие удобрения выбрать?

Для гидропоники лучше всего подходят минеральные и минерально-органические удобрения. Рекомендуем приобретать готовые комплекты удобрений, NPK которых подобран для различных фаз развития растения.

Минерально-органические удобрения

Такой тип подкормок объединяет достоинства минералов высокой степени очистки и натуральных, органических добавок. К такому типу удобрений относится питательный комплекс FloraNova Grow + FloraNova Bloom

FloraNova Grow имеет индекс NPK 7-4-10 и применяется на вегетативной стадии – структурного формирования растения и набора зелёной массы. FloraNova Bloom (NPK 4-8-7) разработан для фазы цветения и плодоношения. Питательный комплекс прост в применении, может использоваться для мягкой и жёсткой воды. Входящие в состав удобрений гуминовые кислоты стабилизируют уровень pH и нормализуют обмен питательных веществ растениями.

Минеральные удобрения

Именно минеральные удобрения являются наилучшим решением для применения в гидропонике. На примере данного типа удобрений рассмотрим питательный комплекс FloraSeries. В данную серию удобрений входят три компонента: FloraGro, FloraBloom и FloraMicro.

FloraGro (NPK 3-1-7) укрепляет корневую систему, стимулирует структурное и вегетативное развитие растения. FloraBloom (NPK 0-5-4) обеспечивает растение всеми необходимыми питательными веществами на цветении. Компонент FloraMicro (NPK 5-0-1) содержит набор микроэлементов, позволяющих растению усваивать полезные вещества быстро и максимально эффективно, к тому же в составе данного препарата содержится органический буфер рН, стабилизирующий уровень рН питательного раствора. Он выпускается для жесткой (HW) и для мягкой (SW) воды.

Успеха при выращивании растений на гидропонике можно достичь, соблюдая некоторые правила:

  1. При повышенной температуре раствора на корнях образуется гниль. Оптимальные показатели 18-23°С;
  2. Всегда контролируйте показатель рН питательного раствора, также измеряйте уровень концентрации солей. Избыток питательных веществ может привести к гибели Вашего зеленого питомца;
  3. Регулярно меняйте питательную смесь в системе. Это необходимо делать один раз в неделю;
  4. Для того, чтобы бороться с патогенами в корневой зоне, используйте BioMagix SubCulture. Они расщепляют мертвые растительные клетки и преобразуют их в питательные вещества для растений;
  5. За 7-14 дней до сбора урожая держите растишку на чистой воде;
  6. Использование различных стимуляторов способствует повышению урожайности культур;
  7. Периодически повышая СО2 в гроубоксе, Вы можете собрать отличный урожай;
  8. Если Вы используете мягкую воду, то нужно помнить, что такая вода не обладает буферными свойствами. Для того, чтобы уровень рН был стабилен, рекомендуем добавить 20% водопроводной или скважинной воды.

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

При выборе конкретного типа датчика, исходя из его принципа работы, следует учитывать основные факторы:

  • Какую величину влажности понадобится измерять – относительную или абсолютную;
  • Где будет замеряться влажность – в воздухе, в почве, в образце материала;
  • Имеет ли значение гистерезис, с какой точностью необходимы измерения и в каком диапазоне они будут проводиться.

Так, самыми точными датчиками считаются оптические, но они же и самые дорогие. Емкостные часто применяются в бытовой технике и в промышленном оборудовании. Их ключевое преимущество – устойчивость к высоким температурам и химическим испарениям. В быту чаще всего применяют резистивные детекторы, работающие с относительно малым временем отклика, от 10 до 30 секунд. Они могут работать в температурном диапазоне от -40 до +100 градусов, но чувствительны к химическим и масляным испарениям. Электронные хороши тем, что благодаря компьютерной калибровке работают с высокой точностью.

У всех этих моделей есть преимущества и недостатки, а также факторы, влияющие на точность измерений.

Как работает датчик почвы FC-28?

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

Когда есть вода, почва будет проводить больше электричества, а это значит, что будет меньше сопротивление. Сухая почва плохо проводит электричество, поэтому когда воды меньше, почва проводит меньше электричества, а это значит, что сопротивление будет больше.

Датчик FC-28 можно соединить в аналоговом и цифровом режимах. Сначала мы подключим его в аналоговом режиме, а затем в цифровом.

Спецификация

Спецификации датчика влажности почвы FC-28:

  • входное напряжение: 3.3–5V
  • выходное напряжение: 0–4.2V
  • входной ток: 35mA
  • выходной сигнал: аналоговый и цифровой

Распиновка

Датчик влажности почвы FC-28 имеет четыре контакта:

  • VCC: питание
  • A0: аналоговый выход
  • D0: цифровой выход
  • GND: земля

Модуль также содержит потенциометр, который установит пороговое значение. Это пороговое значение будет сравниваться на компараторе LM393. Светодиод будет нам сигнализировать значение выше или ниже порогового.

Исполнительные устройства автоматизации полива

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

Хорошо зарекомендовали себя клапаны производства американской компании Hunter. Для разных целей используются клапаны c проходным диаметром 1, 1.5, и 2 дюйма с наружной или внутренней резьбой.

Существует множество управляемых кранов и других производителей.

Если на вашем участке случаются проблемы с подачей воды, приобретайте электромагнитные клапаны с датчиком потока. Это предотвратит выгорание соленоида при падении давления воды или прекращении водоснабжения.

Датчик уровня жидкости (Water Sensor Arduino)

Рабочее напряжение аналогового сенсора — 5v. Выходное напряжение (показания датчика) зависит от степени погружения датчика в жидкость и от параметров, влияющих на коэффициент передачи напряжения, например, проводимость жидкости. Это простой в использование и недорогой датчик уровня жидкости, который широко применяется в системах автоматизации и при разработке Умного дома.


Подключение к Ардуино датчика воды (Water Sensor)

Как вы уже заметили на фото к этому занятию, датчик уровня жидкости имеет три контакта. Правый контакт (-) подключается к Земле (GND), средний к питанию 5v, а левый к аналоговому входу, например, A0. При полностью сухом датчике выходное напряжение и показания на аналоговом входе будут равны нулю, чем больше датчик будет погружен в воду, тем больше будут его показания (от 0 до 1023).

Когда и как применять

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

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

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

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

Средства автоматизации дифференцированного внесения удобрений

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

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

7 Что находится «за» шиной I2C

В качестве бонуса рассмотрим временную диаграмму вывода латинских символов «A», «B» и «С» на ЖК дисплей. Эти символы имеются в ПЗУ дисплея и выводятся на экран просто передачей дисплею их адреса. Диаграмма снята с выводов RS, RW, E, D4, D5, D6 и D7 дисплея, т.е. уже после преобразователя FC-113 «I2C параллельная шина». Можно сказать, что мы погружаемся немного «глубже» в «железо».

На диаграмме видно, что символы, которые имеются в ПЗУ дисплея (см. стр.11 даташита, ссылка ниже), передаются двумя полубайтами,
первый из которых определяет номер столбца таблицы, а второй — номер строки. При этом данные «защёлкиваются» по фронту сигнала на линии E
(Enable), а линия RS
(Register select, выбор регистра) находится в состоянии логической единицы, что означает передачу данных. Низкое состояние линии RS означает передачу инструкций, что мы и видим перед передачей каждого символа. В данном случае передаётся код инструкции возврата каретки на позицию (0, 0) ЖК дисплея, о чём также можно узнать, изучив техническое описание дисплея.

И ещё один пример. На этой временной диаграмме показан вывод символа «Сердце» на ЖК дисплей.

Опять, первые два импульса Enable
соответствуют инструкции Home()
(0000 0010 2) — возврат каретки на позицию (0; 0), а вторые два — вывод на ЖК дисплей хранящийся в ячейке памяти 3 10 (0000 0011 2) символ «Сердце» (инструкция lcd.createChar(3, heart);
скетча).

LCD дисплей
– частый гость в проектах ардуино. Но в сложных схемах у нас может возникнуть проблема недостатка портов Arduino из-за необходимости подключить экран, у которого очень очень много контактов. Выходом в этой ситуации может стать I2C /IIC
переходник, который подключает практически стандартный для Arduino экран 1602 к платам Uno, Nano или Mega всего лишь при помощи 4 пинов. В этой статье мы посмотрим, как можно подключить LCD экран с интерфейсом I2C, какие можно использовать библиотеки, напишем короткий скетч-пример и разберем типовые ошибки.

Жидкокристаллический дисплей (Liquid Crystal Display) LCD 1602
является хорошим выбором для вывода строк символов в различных проектах. Он стоит недорого, есть различные модификации с разными цветами подсветки, вы можете легко скачать готовые библиотеки для скетчей Ардуино. Но самым главным недостатком этого экрана является тот факт, что дисплей имеет 16 цифровых выводов, из которых обязательными являются минимум 6. Поэтому использование этого LCD экрана без i2c добавляет серьезные ограничения для плат Arduino Uno или Nano. Если контактов не хватает, то вам придется покупать плату Arduino Mega или же сэкономить контакты, в том числе за счет подключения дисплея через i2c.

Краткое описание пинов LCD 1602

Давайте посмотрим на выводы LCD1602 повнимательней:

Каждый из выводов имеет свое назначение:

  1. Земля GND;
  2. Питание 5 В;
  3. Установка контрастности монитора;
  4. Команда, данные;
  5. Записывание и чтение данных;
  6. Enable;

7-14. Линии данных;

  1. Плюс подсветки;
  2. Минус подсветки.

Технические характеристики дисплея:

  • Символьный тип отображения, есть возможность загрузки символов;
  • Светодиодная подсветка;
  • Контроллер HD44780;
  • Напряжение питания 5В;
  • Формат 16х2 символов;
  • Диапазон рабочих температур от -20С до +70С, диапазон температур хранения от -30С до +80 С;
  • Угол обзора 180 градусов.

Схема подключения LCD к плате Ардуино без i2C

Стандартная схема присоединения монитора напрямую к микроконтроллеру Ардуино без I2C выглядит следующим образом.

Из-за большого количества подключаемых контактов может не хватить места для присоединения нужных элементов. Использование I2C уменьшает количество проводов до 4, а занятых пинов до 2.

Где купить LCD экраны и шилды для ардуино

Модуль LCD1602+I2C с синим экраном, совместим с Arduino

Простой дисплей LCD1602 (зеленая подсветка) дешевле 80 рублей

Большой экран LCD2004 с I2C HD44780 для ардуино (синяя и зеленая подсветка)

Дисплей 1602 с IIC адаптером и синей подсветкой

Еще один вариант LCD1602 со впаянным I2C модулем

Модуль адаптера Port IIC/I2C/TWI/SPI для экрана 1602, совместим с Ардуино

Дисплей с RGB-подсветкой! LCD 16×2 + keypad +Buzzer Shield for Arduino

Шилд для Ардуино с кнопками и экраном LCD1602 LCD 1602

LCD дисплей для 3D принтера (Smart Controller for RAMPS 1.4, Text LCD 20×4), модулем кардридера SD и MicroSD-

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

Принцип соединения гигрометра с Arduino общий для всех видов сенсоров.

  • Выход VCC подключается к Arduino на 5В-контакт.
  • GND соединяется с соответствующим контактом Ардуино.
  • Сигнальный выход — с сигнальным входом (аналоговым или цифровым, в зависимости от ситуации).

Возможности платы Ардуино позволяют реализовать различные способы считывания. Можно, например, выводить показатели на небольшой LCD-дисплей, включать или выключать диоды, инициировать отправку иных сигналов или запуск автоматической «поливалки». Все зависит от желания владельца и заложенных в программу контроллера директив.

Применение датчиков измерения влажности воздуха

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

Для измерения относительной влажности воздуха наиболее доступны несколько типов датчиков: психрометрические, аспирационные, емкостные и резистивные. Рассмотрим более детально каждый вид датчика.

Датчики емкостного и резистивного типа часто используют в офисных системах климат-контроля, где показатели влажности могут варьироваться от 30 до 70%.

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

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

В целом область использования датчиков влажности воздуха очень широка и включает в себя:

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

Шаг 4. Создание корпуса

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

После того, как вы закончите распечатывать корпус, вы готовы все установить. Сначала мы делаем нижнюю часть, на которой мы прикрепляем все компоненты. Обрезаем картон по размерам основания корпуса. Следующим шагом является размещение ЖК-дисплея и сенсорного датчика в специальных вырезах в корпусе. Если вы использовали прикрепленный файл для 3D-модели, компоненты будут идеально вписываться в вырез. В некоторых случаях вам придется подрихтовать края выреза, корпус слишком жесткий. Убедитесь, что соединительные провода достаточно длинные, чтобы не допустить вытягивания ЖК-дисплея.

Используйте скотч, чтобы закрепить сенсорный датчик на внутренней стороне корпуса. Используйте достаточное количество клейкой ленты, чтобы при прикосновении к ней датчик не ослабел. Теперь мы ставим водяной насос и датчик влажности почвы. Отсоедините перемычки от датчика и насоса и протяните их через отверстие в верхней части. Убедитесь, что у вас достаточно провода для датчика влажности почвы, чтобы вы могли поместить его в почву. Не забудьте приклеить/установить отверстие, через которое проходят провода. Вы не хотите проливать воду на свой макет внутри корпуса.

Последний шаг — размещение макета в корпусе. Поставьте корпус на бок и аккуратно поместите макет внутрь. Будьте осторожны, не нажимайте слишком сильно, чтобы провода не отсоединились. Возьмите картонный вырез, чтобы закрыть дно. Закрепите края лентой. Поставьте горшок вертикально и убедитесь, что все работает. Если все компоненты работают, вы готовы налить воды в резервуар для воды и начать использовать этот корпус.

Описание датчика

Модуль датчика состоит из двух частей:

  • «Сенсорная» плата обнаружения капель. Она отслеживает количество попавшей на неё влаги. По сути, сенсор представляет собой простой переменный резистор, замыкаемый водой в разных местах, что вызывает изменение сопротивления.
  • Вторая часть датчика – сдвоенный компаратор (как правило, LM393, но возможны варианты LM293 и LM193). Его главная задача – преобразование значения с сенсора в аналоговый сигнал от 0 до 5 вольт.

На рынке встречаются варианты датчиков как с разнесенными сенсором и компаратором, так и с объединенными на одной панели.

Датчик запитывается от напряжения 5 В, который можно легко завести с любой платы Arduino. Как правило, у модуля датчика доступно два выхода:

  • Аналоговый. Значение, получаемое контроллером, будет варьироваться от 0 до 1023. Где 0 – все затопило или идет ливень, сенсор очень влажный, 1023 – сухая погода, сенсор сухой (в некоторых датчиках встречаются противоположные значения, 1023 – максимальная влажность, 0 – максимальная сухость).
  • Цифровой. Выдает высокое (5В) или низкое напряжение в случае превышения некоторого порога. Уровень порога срабатывания регулируется с помощью подстроечного резистора.

Скетч для работы с датчиками DHT11 и DHT22 в Arduino

#include "DHT.h"
#define DHTPIN 2 // Тот самый номер пина, о котором упоминалось выше
// Одна из следующих строк закоментирована. Снимите комментарий, если подключаете датчик DHT11 к arduino
DHT dht(DHTPIN, DHT22); //Инициация датчика
//DHT dht(DHTPIN, DHT11);
void setup() {
  Serial.begin(9600);
  dht.begin();
}
void loop() {
  delay(2000); // 2 секунды задержки
  float h = dht.readHumidity(); //Измеряем влажность
  float t = dht.readTemperature(); //Измеряем температуру
  if (isnan(h) || isnan(t)) {  // Проверка. Если не удается считать показания, выводится «Ошибка считывания», и программа завершает работу
    Serial.println("Ошибка считывания");
    return;
  }
  Serial.print("Влажность: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Температура: ");
  Serial.print(t);
  Serial.println(" *C "); //Вывод показателей на экран
}

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

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

Пример скетча

#define PIN_ANALOG_RAIN_SENSOR A1  // Аналоговый вход для сигнала датчика протечки и дождя
#define PIN_DIGITAL_RAIN_SENSOR 5  // Цифровой вход для сигнала датчика протечки и дождя
 
void setup(){
   Serial.begin(9600);
}
void loop(){
   int sensorValue = analogRead(PIN_ANALOG_RAIN_SENSOR); // Считываем данные с аналогового порта
   Serial.print("Analog value: "); 
   Serial.println(sensorValue); // Выводим аналоговое значение в монитр порта

   sensorValue = digitalRead(PIN_DIGITAL_RAIN_SENSOR); // Считываем данные с цифрового порта
   Serial.print("Digital value: "); 
   Serial.println(sensorValue); // Выводим цифровое значение в монитр порта

   delay(1000); // Задержка между измерениями
}

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

Подключаем датчик влажности почвы к Arduino UNO

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

После этого запустим Arduino IDE и наберем в скетче код, который можно загрузить по этой ссылке: https://cloud.mail.ru/public/ghdN/NKUsNDxPL

После набора кода загрузим его в наш Arduino UNO. Теперь откроем «Монитор порта» и увидим сообщение «Sensor is not in the Soil or DISCONNECTED», которое означает, что сенсор не подключен к почве.

Если мы подключим контактный щуп датчика к сухой почве, то мы увидим такое сообщение «Soil is DRY».

Если контактный щуп сенсора будет находиться во влажной почве, то мы увидим сообщение «Soil is HUMID» в «Мониторе порта».

Если контактный щуп сенсора будет находиться в воде, то мы увидим сообщение «Sensor in WATER» в «Мониторе порта».

Принцип работы этого скетча основан на условных операторах. Например, рассмотрим часть кода, когда в «Мониторе порта» выдается сообщение «Sensor is not in the Soil or DISCONNECTED»:
В этом коде, если значение переменной «SensorValue» меньше 1000, то с помощью команды «Serial.println» мы получаем заданное сообщение на «Монитор порта». На таком же принципе основан вывод остальных сообщений.

Описание и назначение

Датчик влажности — устройство, предназначенное для измерения и преобразования относительной влажности в цифровой сигнал, а также в стандартный сигнал напряжения.

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

Методы измерения влажности условно делятся на прямые и косвенные. В прямых методах осуществляется распределение исследуемого материала конкретно на сухое вещество и влагу. Косвенными методами измеряют физические величины, которые связанные с влажностью материала.

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

 Для качественного воздухообмена в ванной вместо вентиляционной решетки устанавливается вентилятор со встроенным датчиком влажности.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Электрик в доме
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: