Зонд влажности почвы на Arduino

Содержание

Ардуино: датчик влажности и температуры DHT11

Зонд влажности почвы на Arduino

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

Для удобства использования, мы в RobotClass сделали модуль в форм-факторе 23×23мм, на котором датчик DHT11 уже имеет необходимый для правильной работы резистор подтяжки и штыревой трёхконтактный разъём.

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

  • напряжение питания: от 3 до 5 В;
  • потребляемый ток: 2,5 мА в момент опроса (в остальное время меньше);
  • диапазон измерений влажности: от 20 до 80%, при точности — 5%;
  • диапазон измерений температур: от 0 до 50°C, при точности ±2°C;
  • частота опроса: 1 Гц (раз в секунду).

Датчик DHT11 можно использовать для создания простой погодной станции или для контроля влажности в теплице.

Кроме DHT-11, существует множество аналогичных датчиков, которые отличаются точностью, энергопотреблением, интерфейсом. Например, у датчика DHT-22 диапазон измерений влажности составляет от 0 до 100%, а температуры от -40 до 125°C.

Подключение датчика DHT11 к Ардуино

У датчика DHT11 есть четыре вывода, один из которых (№3) не используется.

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

Датчик DHT11124
Ардуино Уно+5V2GND

Принципиальная схема

Внешний вид макета

Важно отметить, что второй вывод датчика мы подключаем не только ко второй линии GPIO на Ардуино, но еще и к плюсу питания через резистор подтяжки 4,7 кОм. Таким образом, мы, что называется, «подтягиваем» линию данных датчика к плюсу. Это необходимо для правильного функционирования DHT11.

Подключение модуля DHT11 ROC к Ардуино

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

Принципиальная схема

Внешний вид макета

Программа для работы с DHT11

Теперь, когда датчик подключен, приступим к программированию контроллера. Первое, что нам следует сделать — установить в Arduino IDE дополнительную библиотеку. Существует множество библиотек для работы с DHT, но мы выберем вариант с портала Adafruit. Ссылка на библиотеку имеется в конце урока.

Устанавливаем библиотеку и составляем тестовую программу:

#include #include #include // датчик подключен к контакту №2#define DHTPIN 2// выбираем модель датчика, раскомментировав нужную строку#define DHTTYPE DHT11 // DHT 11//#define DHTTYPE DHT22 // DHT 22 (AM2302)//#define DHTTYPE DHT21 // DHT 21 (AM2301)// создаем объект dht, с которым будем работатьDHT_Unified dht(DHTPIN, DHTTYPE);void setup() { Serial.begin(9600); // инициализируем датчика dht.begin();}void loop() { sensors_event_t event; // получаем значение температуры dht.temperature().getEvent(&event); if (isnan(event.temperature)) { // в случае проблем с датчиком температуры выводим следующий текст Serial.println(“Error reading temperature!”); } else { // вывод в COM порт текста Temperature: xxx°C Serial.print(“Temperature: “); Serial.print(event.temperature); Serial.println(“°C”); } // получаем значение влажности dht.humidity().getEvent(&event); if (isnan(event.relative_humidity)) { // в случае проблем с датчиком влажности выводим следующий текст Serial.println(“Error reading humidity!”); } else { // вывод в COM порт текста Humidity: xxx% Serial.print(“Humidity: “); Serial.print(event.relative_humidity); Serial.println(“%”); } delay(1000); // пауза 1 сек перед следующим опросом датчика

}

В верхней части программы имеется три строки с директивой define, две из которых закомментированы (перед ними стоят два слеша). В зависимости от типа датчика мы можем раскомментировать нужную строку. Сейчас выбран датчик DHT11.

Загружаем программу в Ардуино Уно, открываем монитор последовательного порта (Tools/Serial Monitor) и наблюдаем результаты измерений!

Задания

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

    Программа регулятора должна каждые 3 секунды проверять значение влажности и температуры.

    В случае, если во время очередной проверки влажность опускается ниже 50% при температуре не ниже +20 градусов, с помощью реле включается вентилятор. Для простоты, к реле можно подключить обычный светодиод.

Заключение

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

Полезные материалы

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

https://github.com/adafruit/DHT-sensor-library

Также библиотеку можно установить через менеджер библиотек в Arduino IDE. В поисковой строке менеджера необходимо ввести «DHT sensor library by Adafruit«.

Изменено: 9 Янв, 2015 00:03

Источник: http://robotclass.ru/tutorials/arduino-dht/

Тестируем почву с Ардуино и датчиком влажности FC-28

Зонд влажности почвы на Arduino

2 мая в 00:36 / Уроки / Arduino, Датчики

Соединяем Arduino с датчиком влажности почвы FC-28, чтобы определить, когда ваша почва под растениями нуждается в воде.

В этой статье мы собираемся использовать датчик влажности почвы FC-28 с Ардуино. Этот датчик измеряет объемное содержание воды в почве и дает нам уровень влаги. Датчик дает нам на выходе аналоговые и цифровые данное. Мы собираемся подключить его в обоих режимах.

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

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

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

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

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

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

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

Распиновка

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

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

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

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

Для подключения датчика в аналоговом режиме нам потребуется использовать аналоговый выход датчика. Датчик влажности почвы 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); }

Цифровой режим

Для подключения датчика влажности почвы FC-28 в цифровом режиме мы подключим цифровой выход датчика к цифровому контакту Arduino.

Модуль датчика содержит потенциометр, который использован для того чтобы установить пороговое значение. Пороговое значение после этого сравнивается со значением выхода датчика используя компаратор LM393, который помещен на модуле датчика FC-28. Компаратор LM393 сравнивает значение выхода датчика и пороговое значение, и после этого дает нам выходное значение через цифровой вывод.

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

Код для цифрового режима

Код для цифрового режима ниже:

int led_pin =13; int sensor_pin =8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin) == HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); delay(1000); } }

Как подключить датчик влажности почвы к Arduino?

Зонд влажности почвы на Arduino

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

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

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

О датчике fc-28

Датчиков для определения влажности земли великое множество, но самым популярным является модель FC-28. У него низкая цена, благодаря чему широко используется всеми радиолюбителями в своих проектах. Применяется датчик влажности почвы с Arduino.

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

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

Применяется FC-28 в основном в мелких проектах, например, при автоматическом поливе одного конкретного растения, так как использовать в больших масштабах его неудобно в силу размеров и минусов, которые мы также рассмотрим.

Где купить

Дело в том, что в российских магазинах датчики для работы с Arduino стоят относительно дорого. Средняя цена на этот датчик в России варьируется от 200 до 300 рублей, в то же время как в Aliexpress этот же датчик стоит всего лишь каких-то 30-50. Наценка огромная. Конечно, можно еще сделать датчик для измерения влажности почвы своими руками, но об этом ниже.

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

Подключение с помощью цифрового выхода

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

  • VCC – 5V на Arduino.
  • D0 – D8 на плате на Arduino.
  • GND – земля.

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

FC-28 сравнивает значение с предельным, и после этого отправляет значение в Arduino. Допустим, значения датчика выше порогового, в таком случае датчик влажности почвы на Arduino передает 5V, если меньше – 0V.

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

Электрическая схема подключения выглядит так, как показано на фото выше. образом

Программный код для Arduino при использовании цифрового режима приведен ниже.

int led_pin =13; int sensor_pin =8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin) == HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); delay(1000); } } Что же делает наш код? Первым делом были обозначены две переменные. Первая переменная – led_pin – служит для обозначения светодиода, а вторая – для обозначения датчика влажности земли. Далее мы объявляем контакт светодиода как выход, и контакт датчика как вход.

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

Вместо светодиода может быть и насос, тут все зависит от вас.

Своими руками

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

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

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

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

Плюсы и минусы

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

Плюсы:

  • Цена. Этот датчик имеет очень низкую цену, поэтому каждый радиолюбитель сможет купить и соорудить свою систему автоматического полива для растений. Конечно, при работе с большими масштабами этот датчик не подойдет, но он для этого и не предназначен. Если нужен датчик мощнее – SM2802B, то за него и отдать придется немаленькую сумму.
  • Простота. Освоить работу с этим датчиком влажности почвы в Arduino может каждый. Всего несколько проводов, пара строк кода – и все. Контроль влажности почвы сделан.

Минусы:

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

Источник: http://fb.ru/article/408674/kak-podklyuchit-datchik-vlajnosti-pochvyi-k-arduino

Автополив на Arduino и без. Использование датчика влажности почвы

Зонд влажности почвы на Arduino

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

Рис 1. Вариант системы полива. Наша будет попроще. Но ознакомившись с принципом работы никто не мешает вам усовершенствовать ее.

Ардуино сможет помочь защитить ваши растения от пересыхания. Особенно актуальна такая система становится во время отпуска.

Нам понадобится:

Arduino uno
Но можно и любой совместимый контроллер. К примеру контроллером типа Wemos вы сможете управлять с помощью сотового телефона.
И сам модуль датчика почвы.

Комапратор сигнала и провода для удобства подключения идут с ним в комплекте. Уровень сигнала выдаваемого компаратором LM393 и является
показателем влажности почвы.

Чем более влажная почва тем ниже уровень выходного сигнала.

Технические характеристики ардуино датчик влажности почвы:

Характеристики:
Напряжение питания: 3.3В — 5В
Модуль с двойным режимом выхода: цифровой выход , аналоговый выход.
Размер печатной платы: 3 см * 1.6 см
Компаратор: LM393.

Назначение выводов (4 провода):
1 VCC: К +5В
2 GND: земля
3 D0: цифровой выход (0 или 1)
4 АО: Аналоговый выход (0-5B).

Подключение

На ножки VCC и GND модуля подаем +5 вольт и землю. Можно подключить к выходам Arduino или использовать другой источник питания. Во втором случае возможно потребуется
объединение земли у ардуино и второго блока питания.
Ножку D_out (выходной сигнал данных) подключаем к D2 входу ардуино. Или к AO, если хотим получать аналоговое значение влажности.

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

Arduino и датчик влажности почвы.

Простая программа

Рис 2. Вариант с цифровым подключением.

Самый простой вариант работы полива – этот код включает выключает светодиод подключенный к выходы D13 арудино, в зависимости от данных поступивших на вход D2.Соответственно подключив насос (через реле) к выходу D13 вы можете управлять поливом ваших зеленых питомцев. Чтобы настроить влажность при которой необходимо включить

полив подкрутите потенциометр.

#define Nasos 13 //Создаем указатель к порту 13
#define Sensor 2 //Создаем указатель к порту 2
void setup() {
pinMode(nasos, OUTPUT); //Включаем порт насоса как выход
pinMode(Sensor, INPUT); //Включаем порт датчика как вход
}
void loop() {
if(digitalRead(Sensor) == HIGH){ //Если на порту датчика высокий уровень сигнала то….
digitalWrite(Nasos, HIGH); //Включаем насос
} else { //Иначе
digitalWrite(Nasos, LOW); //выключаем насос
delay(1000); //Ждем 1 секунду
}
}

Использование аналогового сигнала

Рис 3. Использование аналогового сигнала

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

С помощью этого датчика также можно узнать конкретный уровень влажности. Для этого нужно подключить аналоговый выход модуля AO к одному из аналоговых входов, например
A0, платы Arduino. Следующий тестовый код оповещает о влажности или сухости почвы с помощью двух светодиодов: зелёного и красного.

int Nasos= 13; //Создаем указатель к порту 13
int Sensor= 0; //Создаем указатель к порту 0

int value = 0; // Создаем переменную для хранения текущей влажности

void setup() {
pinMode(Nasos, OUTPUT); //Включаем порт насоса как выход
pinMode(Sensor, INPUT); //Включаем порт датчика как вход
Serial.begin(9600); //Включаем серийный порт
}

void loop() {
value = analogRead(Sensor); //читаем данные с датчика
value = value / 10; // Делим на 10.
Serial.println(value); // Отправляем значение в серийный порт.

if (value < 50) //Если значение меньше 50 (влажная почва)
{
digitalWrite(Nasos, LOW); // Если почва влажная выключаем насос
}
else // Иначе
{
digitalWrite(Nasos, HIGH); // Если почва сухая включаем насос
}
delay(1000); // Ждем секунду
}

Схема использования датчика влажности почвы без Arduino

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

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

Рис 4.Схема использования датчика влажности почвы без Arduino
Здесь транзистор 2N3906 управляет электромагнитным реле (RL1) для контроля мощной нагрузкой, например, двигателя водяного насоса.

Verification: 2fa2bb85539e5056

Источник: http://esial.ru/index.php/blog/stati/12-avtopoliv-na-arduino-i-bez-ispolzovanie-datchika-vlazhnosti-pochvy

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

Зонд влажности почвы на Arduino

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

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

В наших примерах мы будем использовать оба датчика DHT11 и DHT22, а также печатную плату Arduino UNO, подключенную к ПК под управлением Windows 7. Технические характеристики DHT11 описаны ниже:

  • 3 к 5V питания для ввода / вывода;
  • Использование максимального тока 2.5mA во время преобразования (при запросе данных);
  • Снятие показаний влажности от 20 до 80 процентов с погрешностью до 5 процентов;
  • Определение температуры воздуха от 0°C до 50°C с погрешностью ± 2°C;
  • Частота дискретизации 1 Гц для показаний один раз в секунду;
  • Габаритные размеры 15.мм х 12 мм х 5,5 мм;
  • 4 контакта с шагом 0.1 дюйм.

Технические характеристики DHT22:

  • 3 к 5V питания для ввода / вывода;
  • Использование максимального тока 2.5mA во время преобразования (при запросе данных);
  • Снятие показаний влажности от 0 до 100 процентов с погрешностью от 2 до 5 процентов;
  • Определение температуры воздуха от -40°C до 125°C с погрешностью ±0.5°C;
  • Частота дискретизации 0.5 Гц для снятия показаний один раз в 2 секунды;
  • Габаритные размеры 15.1 мм x 25 мм x 7.7 мм;
  • 4 контакта с шагом 0.1 дюйм.

Исходя из технических характеристик сенсоров DHT11 и DHT22, последний является лучшим выбором для снятия показателей температуры и влажности. Кроме датчиков влажности DHT11 и DHT22, мы рассмотрим датчик влажности почвы, который состоит из контактного щупа YL-69 и датчика YL-38. Характеристики датчика YL-38 описаны ниже:

  • Двойной режим вывода, аналоговый выход и цифровой;
  • Питание от 3.3В до 5В;
  • Выходной сигнал от 0 до 4.2В;
  • Значение тока 35мА;
  • Микросхема компаратора LM393;
  • Размер PCB панели датчика: 3 x 1.5 см;
  • Размер контактного щупа почвы: 6 x 2 см.

Подключаем датчики DHT11 и DHT22 к Arduino UNO

Перед тем как подключать рассматриваемые компоненты, нам нужно установить на наш ПК Arduino IDE. Загрузить IDE можно на официальном сайте разработчика плат Ардуино. На данный момент последней Arduino IDE является версия под номером 1.6.10.

Процесс установки Arduino IDE очень прост и сводится к нажатиям кнопки «Next >» и «Install», поэтому с ним справится любой пользователь.

После установки Arduino IDE на рабочем столе должен появиться ярлык с именем «Arduino».

Теперь рассмотрим схемы подключения рассматриваемых компонентов к Arduino UNO. Ниже изображена схема подключения датчика DHT22.

Для сенсора DHT11 схема подключения выглядит аналогично.

Обратите внимание, в состав схемы входит резистор на 10 кОм. Если вы приобретете датчик DHT11 или DHT22 в виде готового модуля, то резистор использовать не надо, так как он уже впаян.

Теперь подключим нашу схему по USB-кабелю к компьютеру. Прежде чем отрывать Arduino IDE, мы скачаем библиотеку «DHT.h». Библиотеку можно загрузить по этой ссылке https://github.com/amperka/dht.

После загрузки извлеките содержимое папок «lib/dht» в директорию, где хранятся все библиотеки «C:\Program Files\Arduino\libraries». После этого запустим Arduino IDE и наберем в скетче код, изображенный ниже.

Этот код написан для использования сенсора DHT22. Если вам нужно использовать датчик DHT11, то исправьте в третьей строке «DHT22» на «DHT11». Теперь загрузим наш код в Arduino UNO и откроем «Монитор порта».

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

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

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

После этого запустим Arduino IDE и наберем в скетче код, который можно загрузить по этой ссылке https://github.com/TasmanianDevil/Arduino/blob/master/Moisture_Sensor/Moisture_Sensor.ino

После набора кода загрузим его в наш 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»:

if(SensorValue >= 1000) { Serial.println(“Sensor is not in the Soil or DISCONNECTED”); }

if(SensorValue >= 1000) {Serial.println(“Sensor is not in the Soil or DISCONNECTED”);

В этом коде, если значение переменной «SensorValue» меньше 1000, то с помощью команды «Serial.println» мы получаем заданное сообщение на «Монитор порта». На таком же принципе основан вывод остальных сообщений.

Перспективы использования рассмотренных датчиков

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

Например, статью по сборке такой станции можно найти на официальном сайте https://create.arduino.cc/projecthub/GeekRex/10-portable-arduino-weather-station-aws-ccf41f.

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

  • Arduino Nano R3 — компактная плата Ардуино с микроконтроллером ATmega328;
  • DHT22 — датчик влажности и температуры воздуха;
  • BMP180 — датчик атмосферного давления;
  • Adafruit Standard LCD-16×2 White on Blue — дисплей для вывода информации с датчиков.

Сама погодная станция собрана по такой схеме.

Принцип действия этой станции основан на снятии показаний с датчиков и их выводе на дисплей Adafruit Standard LCD-16×2 White on Blue.

Датчик влажности почвы также можно использовать в составе готовых автоматизированных систем, построенных на Ардуино. Например, на Github можно найти готовый проект под названием «irrigator». Этот проект позволяет создать на Arduino автополивщик растений.

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

Подводим итог

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

по теме

Источник: https://VashUmnyiDom.ru/obshhaya-avtomatika/datchik-vlazhnosti-arduino.html

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.