Меню

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

Датчик влажности почвы (ёмкостный): инструкция по использованию и примеры

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

Принцип работы

Ёмкостный датчик выполнен в виде штыря, которым погружается в грунт на расстояние до 80 мм. На штыре в виде дорожек расположены два электрода, но в отличии от резистивной модели, электроды ёмкостного сенсора защищены токоизолирующей маской и неподвержены коррозии.

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

Пример работы для Arduino и XOD

В качестве мозга для считывания показаний с датчика рассмотрим платформу из серии Arduino, например Arduino Uno.

Схема устройства

Подключите датчик влажности почвы к аналоговому пину A0 платформы Arduino. Для коммуникации понадобятся соединительные провода «мама-папа».

Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Arduino Uno методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.

Код для Arduino IDE

Прошейте платформу Arduino скетчем приведённым ниже.

После загрузки скетча, в Serial-порт будут выводиться текущие показания сенсора в 10-битном диапазоне.

Источник

DIY Zigbee датчик влажности почвы

Приветствую читателей Habr! Хочу поделиться с вами своим очередным проектом, сегодня речь пойдёт о небольшом датчике измерения влажности почвы на чипе СС2530. Проект основывается на разработке с открытым исходным кодом DIYRUZ Flower, разработчик @anonymass. Измерение влажности почвы у датчика осуществляется ёмкостным методом, работает от батарейки CR2450 или CR2477, есть защита от переполюсовки батарейки, датчик предназначен для работы в сетях Zigbee.

Я уже давно посматривал в сторону Zigbee, огромное количество недорогих фабричных устройств, появившихся в последние годы и скорость с которой после появления проекта zigbee2mqtt эта технология стала захватывать умы домашних автоматизаторов, отличные DIY-проекты, которые во многом так же стали драйвером этой популярности, все эти факты просто кричали тебе туда надо.

Почти сразу как я обзавёлся небольшим количеством фабричных и DIY устройств и запустив у себя Zigbee сеть мне захотелось сделать что-то под себя. Родившаяся идея сделать датчик влажности почвы органично вписалась в мои планы, так как я как раз заканчивал тесты другого своего проекта аналогичного датчика на nRF52 c e-ink экраном. Компактные размеры и внешний вид это всё что закладывалось из требований в будущий проект, а заготовка под эти требования у меня, получается, уже была.

Потратив пару часов на переработку проекта на nRF52 железная часть проекта на CC2530 была готова:

Опираясь на опыт (хоть и скромный, так как я не агроном) в повседневном использовании таких датчиков на подоконниках и с учётом параметров потребления у чипов CC2530 в датчике был заложен минимальный функционал, исключительно измерение уровня влажности почвы. Плата датчика получился в размерах 137мм х 20мм, для удобства сборки электронные компоненты располагаются на одной стороне платы, за исключением держателя батарейки, который напаивается на обратную сторону платы. Датчик имеет светодиод, пару кнопок, порт программирования, простую защиту от переполюсовки батарейки на транзисторе. Время сборки датчика при ручной пайке составляет 10-15 минут, схема датчика состоит всего из 10 элементов, включая радиомодуль.

Читайте также:  Сбор урожая апельсинов когда

Если сборка датчика занимает 10-15 минут, то изготовление корпуса этим, к сожалению, похвастаться не может.

С разработкой модели корпуса особых проблем не было, так как за основу также был взят корпус от проекта датчика влажности почвы на nRF52 c e-ink. Пара штрихов в редакторе и корпус стал немного тоньше и без выреза под экран, ещё парой штрихов корпус был дополнен окном для индикации расположенного на плате светодиода. Сделал сразу два варианта задней крышки под батарейку CR2450 и CR2477. Печать всех трёх деталей корпуса занимает чуть больше часа. На этом лёгкая часть с корпусом заканчивается, далее начинается грустная история, шлифовка, сверловка, заливка жидким УФ полимером индикаторного отверстия под светодиод, полировка. На всё это времени было потрачено около полутора двух часов. Наверное, как самый хороший и правильный вариант изготовления корпуса стоит рассматривать просто печать корпуса на хорошо настроенном принтере, уверен результат будет не хуже.

Основа программной части проекта это популярный проект DIYRUZ Flower. Я определённо не программист, мой багаж — это опыт пары лет программирования в Arduino, который в принципе позволил мне прочитать код проекта и разобраться в нём. Трудным моментом, пожалуй, можно отметить настройку среды для разработки. Но описание проблем с которыми столкнулся, опущу, в этой статье просто приведу пару ссылок на мануалы и статьи, на которые я опирался (ссылка 1, ссылка 2, ссылка 3) и также поблагодарю неравнодушных к чужим проблемам участников чата ZIGDEV, помогавших советами. Изменения, которые я внёс в код оригинального проекта: увеличение интервала чтения сенсора влажности почвы до 1 часа, хранение предыдущих значений влажности почвы для сравнения с новыми значениями и отправки данных в сеть только при изменении значений на 1%. Добавлено чтение внутреннего температурного сенсора CC2530, сравнение, и отправка данных при изменении температуры на 1°С. Конечно, точность температуры с внутреннего температурного сенсора имеет большую погрешность, но в целом даёт понимание об изменении температуры воздуха. Точнее, этот параметр можно откалибровать в конверторе zigbee2mqtt, правда, особой (и не особой) нужды я в этом не увидел.

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

Проблема с которой я столкнулся при тестировании

Об этом решил упомянуть, уверен это кому-то поможет быстрее найти решение, столкнувшись с чем-то похожим. Вопрос, возникший при тестировании датчиков, вызывал непонимание в каком направлении копать, рождал разнообразные теории магического характера :). Суть проблемы была в том, что датчики при слабом сигнале (linkquality ▍ На своём GITHUB для желающих повторить я выложил гербер файлы проекта для заказа плат, список компонентов, схему, модели корпуса, исходники проекта, скомпилированные файлы программы для прошивки радиомодулей.

Устройство уже добавлено в список поддерживаемых на гитхабе проекта zigbee2mqtt, автор проекта очень оперативно реагирует на pull requests.

Немного о грустном в этом направлении, я использую Мажордомо в качестве системы умного дома у себя, для этой системы написан замечательный модуль z2m, к сожалению, мой pull request висит там не рассмотренным уже месяц, так что пока на своём гитхаб я написал инструкцию о том, где необходимо внести изменения чтобы вывод информации о датчике в мажордомо заиграл красками :).

Читайте также:  Экологические проблемы калийных удобрений

Такая же печальная история с другим проектом — SLS шлюз. Я планировал на даче развернуть сеть Zigbee управляемую через шлюз SLS, протестировать его, погонять свои датчики, поделится своими впечатлениями. Но мне так и не удалось получить обещанную прошивку с поддержкой моего датчика, наверное, забыли, а внешние конверторы в этом проекте не поддерживаются :(.

Если вы как и я, хотите понять, что такое Zigbee, попытаться сделать свои первые DIY Zigbee устройства, то приглашаю вас в чат для разработчиков zigbee девайсов/прошивок ZIGDEV

Если вам интересно всё, что связано с DIY, вы являетесь DIY разработчиком или хотите только начать, вы заинтересованы в использовании DIY девайсов и хотите узнавать первыми о моих проектах, то приглашаю всех в телеграм чат — DIYDEV.

Так же приглашаю читателей обсудить это и любые другие устройства в самый главный Телеграм-чат по Zigbee.

Источник

Автополивщик растений на Arduino

Что это такое?

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

Что для этого необходимо?

Мы собрали все необходимые детали в сет компонентов. В набор входят:

Так же удобно для индикации использовать:

Как это собрать?

Калибровка

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

Масштабирование решения

Мы описали решение для одного растения. Но обычно требуется поливать несколько растений. Помимо очевидного решения — подключения к Arduino нескольких помп и датчиков влажности — существует более простое и дешёвое. Достаточно в трубке, которая идёт в комплекте с помпой проделать шилом дырочки на расстоянии около 30 см и воткнуть в эти дырочки куски стержней от обычных шариковых ручек. Выглядеть это будет так:

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

Исходный код

Для работы скетча вам понадобиться скачать и установить библиотеку для работы с дисплеем QuadDisplay2

Демонстрация работы устройства

Что ещё можно сделать?

А ещё можно собрать автополив на Slot Shield — инструкция по сборке и прошивка.

Источник

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

Описание

Ёмкостный датчик влажности почвы позволяет, как понятно из названия, измерять влажность почвы. В отличие от обычных резистивных датчиков не окисляется со временем и не теряет своих свойств и точности.

  • Питание: 2.5.. 5V
  • Аналоговый выход:

Подключение

Подключается к питанию (GND, VCC), выход AOUT – на любой аналоговый пин:

Примеры

Выведем показания с датчика в порт. Он подключен в аналоговый пин 0, поэтому читаем как analogRead(0) :

Открываем порт и наблюдаем показания.

Прежде чем делать автоматический полив, нужно знать диапазон показаний датчика, изучив значения из монитора порта. У меня получилось так:

Окружение датчика Показания (Arduino 5V) Показания (Wemos Mini 3.3V)
Воздух 500 670
Прижал палец 300 350
Сухая земля 260 330
Мокрая земля 180 280

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

Источник

Датчик влажности почвы. Датчики. Ардуино

Привет! Продолжаем рассматривать различные датчики для Ардуино. Сегодня сделаем обзор на датчик влажности почвы для Ардуино. С его помощью мы сможем проверить количество воды в почве или просто уровень воды в какой-то емкости.

В прошлый раз мы рассматривали Ethernet Shield для Ардуино. С его помощью мы сможем управлять Ардуино или проверять состояние подключенного к Ардуино оборудования через интернет. Это очень полезная штука, так что посмотрите предыдущий урок, если уже его забыли или пропустили.

Датчик влажности почвы состоит из двух частей. Это контактный щуп YL-69 и датчик YL-38. Они соединяются между собой парой проводков. Между электродами щупа есть небольшое напряжение. Если почва сухая, сопротивление больше и ток будет меньше. Если земля влажная, сопротивление меньше, а ток больше.

Датчик YL-38 имеет четыре контакта для подключения к Ардуино.

  • Vcc – питание датчика
  • GND – земля
  • A0 — аналоговое значение
  • D0 – цифровое значение уровня влажности

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

  • Напряжение питания: 3.3-5 В
  • Ток потребления 35 мА
  • Выход: цифровой и аналоговый

Для того, чтобы выполнить этот урок нам понадобиться

  • Ардуино UNO
  • Макетная плата
  • Перемычки
  • Датчик влажности почвы
  • Цветок в горшке
  • 3 светодиода
  • 3 резистора 220 Ом
  • Кабель USB

Программа и схема

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

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

Подключим аналоговый вывод с датчика к порту А0. И соединим контакты питания с соответствующими пинами Ардуино.

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

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

Полный текст программы

Известные проблемы

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

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

Заключение

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

Источник

Adblock
detector