Интернет-журнал дачника. Сад и огород своими руками

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

Соединяем Arduino с датчиком влажности почвы 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В и светодиод не загорится.

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

Соединения для датчика влажности почвы FC-28 и Ардуино в цифровом режиме следующие:

  • VCC FC-28 → 5V Arduino
  • GND FC-28 → GND Arduino
  • D0 FC-28 → Пин 12 Arduino
  • Светодиод положительный → Вывод 13 Ардуино
  • Светодиод минус → GND Ардуино

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

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

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); } }

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

Прежде всего, мы инициализировали 2 переменные для соединения вывода светодиода и цифрового вывода датчика.

Int led_pin = 13; int sensor_pin = 8;

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

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); } }

На этом вводный урок по работе с датчиком FC-28 для Ардуино мы завершаем. Успешных вам проектов.

Свтодиод включается при необходимости полива растений
Очень низкий ток потребления от батареи 3 В

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

Перечень компонентов:

Резисторы 470 кОм ¼ Вт

Керметный или угольный
подстроечный резистор 47 кОм ½ Вт

Резистор 100 кОм ¼ Вт

Резистор 3.3 кОм ¼ Вт

Резистор 15 кОм ¼ Вт

Резистор 100 Ом ¼ Вт

Лавсановый конденсатор 1 нФ 63 В

Лавсановый конденсатор 330 нФ 63 В

Электролитические конденсаторы 10 мкФ 25 В

Красный светодиод диаметром 5 мм

Электроды (См. замечания)

Батарея 3 В (2 батареи типоразмера AA, N или AAA,
соединенные последовательно)

Назначение устройства:

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

Развитие схемы:

Это небольшое устройство пользовалось большим успехом у любителей электроники на протяжении многих лет, начиная с 1999 г. Тем не менее, переписываясь все эти годы со многими радиолюбителями, я понял, что некоторые критические замечания и предложения должны быть учтены. Схема была усовершенствована за счет добавления в нее четырех резисторов, двух конденсаторов и одного транзистора. В результате устройство стало проще в настройке и устойчивее в работе, а яркость свечения удалось увеличить, не используя сверхярких светодиодов.
Было проведено много опытов с различными цветочными горшками и различными датчиками. И хотя, как несложно себе представить, цветочные горшки и электроды сильно отличались друг от друга, сопротивление между двумя электродами, погруженными в почву на 60 мм на расстоянии порядка 50 мм, всегда находилось в пределах 500…1000 Ом при сухой почве, и 3000…5000 Ом при влажной

Работа схемы:

Микросхема IC1A и связанные с ней R1 и C1 образуют генератор прямоугольных импульсов с частотой 2 кГц. Через подстраиваемый делитель R2/R3 импульсы поступают на вход вентиля IC1B. При низком сопротивлении между электродами (т.е., если влаги в цветочном горшке достаточно) конденсатор C2 шунтирует вход IC1B на землю, и на выходе IC1B постоянно присутствует высокий уровень напряжения. Вентиль IC1C инвертирует выходной сигнал IC1B. Таким образом, вход IC1D оказывается блокированным низким уровнем напряжения, и светодиод, соответственно, выключен.
При высыхании почвы в горшке, сопротивление между электродами возрастает, и C2 перестает препятствовать поступлению импульсов на вход IC1B. Пройдя через IC1C, импульсы 2 кГц попадают на вход блокировки генератора, собранного на микросхеме IC1D и окружающих его компонентах. IC1D начинает генерировать короткие импульсы, включающие светодиод через транзистор Q1. Вспышки светодиода указывают на необходимость полива растения.
На базу транзистора Q1 подаются редкие пачки коротких отрицательных импульсов частотой 2 кГц, вырезанные из входных импульсов. Следовательно, и светодиод вспыхивает 2000 раз в секунду, однако человеческий глаз воспринимает такие частые вспышки как постоянное свечение.

Замечания:

  • Для предотвращения окисления электродов используется их питание прямоугольными импульсами.
  • Электроды изготавливаются из двух отрезков зачищенного одножильного провода, диаметром 1 мм и длиной 60 мм. Можно использовать провод, применяемый для прокладки электропроводки.
  • Электроды необходимо полностью погрузить в землю на расстоянии 30…50 мм друг от друга. Материал электродов, размеры и расстояние между ними, в целом, не имеют большого значения.
  • Потребление тока порядка 150 мкА при выключенном светодиоде, и 3 мА при включении светодиода на 0.1 секунду каждые 2 секунды, позволяет устройству работать годами от одного комплекта батарей.
  • При таком небольшом токе потребления в выключателе питания просто нет необходимости. Если, все же, возникнет желание выключить схему, достаточно закоротить электроды.
  • 2 кГц с выхода первого генератора можно проверить без пробника или осциллографа. Их можно просто услышать, если подсоединить электрод Р2 ко входу усилителя низкой частоты с динамиком, а если есть древний высокоомный наушник ТОН-2, то можно обойтись и без усилителя.
  • Схема собрана четко по мануалу и рабочая на 100%!!! ...так что если вдруг "НЕ работает", то это просто неправильная сборка или детали. Честно говоря, до последнего не верил, что "рабочая".
  • Вопрос к спецам!!! Как можно приладить в качестве исполнительного устр-ва помпу на 12В постоянки с потреблением 0.6А и пусковым 1.4А?!
  • Sobos КУДА приладить? Чем управлять?.... Формулируйте вопрос ЧЁТКО.
  • В данной схеме (полное описание http://www..html?di=59789) индикатором ее работы является светодиод, который загорается при "сухом грунте". Есть большое желание автоматически включать помпу полива (12В постоянки с потреблением 0.6А и пусковым 1.4А) вместе с включением этого светодиода, каким образом изменить или "достроить" схему, чтобы это реализовать.
  • ...может хоть какие-нибудь мысли у кого-то есть?!
  • Установите вместо светодиода оптореле или оптосимистор. Дозу воды можно регулировать таймером или расположением датчик/точка полива.
  • Странно, схему собрал и она прекрасно работает но только светодиод "при необходимости полива" полноценно мерцает с частотой приблизительно 2кГц, а не горит постоянно как говорят некоторые форумчане. Что в свою очередь обеспечивает эконимию при использовании батареек. А также немаловажно, что при таком низком питании электроды в земле мало подвергаются коррозии особенно анод. И ещё один момент при определенном уровне влажности светодиод начинает еле еле светиться и так может продолжаться длительное время, что не позволило мне использовать эту схему для включения помпы. Думаю, что для надёжного включения помпы нужен какой-то определитель импульсов указанной частоты поступающих с этой схемы и дающий "команду" на управление нагрузкой. Прошу СПЕЦОВ подсказать схему реализации такого девайса. Хочу на основе этой схемы осуществить автополив на даче.
  • Очень перспективная по своей "экономике" схема которую необходимо доработать и использовать на садовых участках или например на работе, что очень актуально когда выходные или отпуск, а также дома для автоматического полива цветов.
  • всегда находилось в пределах 500…1000 Ом при сухой почве, и 3000…5000 Ом при влажной - в смысле - наоборот!!??
  • Помойму фигня это. Со временем на электродах откладываются соли и система срабатывает не вовремя. Пару лет назад занимался этим, только делал на двух транзисторах по схеме из журнала МК. На неделю хватало, а дальше смещалось. Срабатывал насос и не отключался, заливая цветок. В сети встречал схемы на переменном токе, вот их думаю следует попробовать.
  • Доброго времени суток!!! Как по мне любая затея что-то создать это уже неплохо. - Что касается установки системы на даче - я бы посоветовал включить насос через реле времени (стоит копейки во многих магазинах электроабарудования) настроить его на выключение через время от включения. Таким образом когда ваша система заклинит (ну всякое бывает) то насос отключится через время гарантировано достаточное для полива (подберете опытным путем). - http://tuxgraphics.org/electronics/201006/automatic-flower-watering-II.shtml Вот неплохая вещ, конкретно этую схему не собирал, юзал только связь с интернетом. Немного глюкавое (не факт что мои ручки очень прямые), но все работает.
  • Я собрал схемы для полива но не для этой которая обсуждается в этой теме. Собранные работают одна как и говорилось выше по времени включения помпы, другая, что очень перспективно по уровню в поддоне где закачивается вода непосредственно в поддон. Для растений это самый оптимальный вариант. Но суть вопроса в том, чтобы адаптировать указанную схему. Лишь только по причине даже того, что анод в земле почти не разрушается как при реализации других схем. Так, что прошу подсказать как отследить по частоте импульсов, чтобы включить исполнительное устройство. Проблема ещё усугубляется тем, что светодиод может "тлеть" еле-еле определённое время, а потом только включиться в импульсный режим.
  • Ответ на заданный ранее вопрос, по доработке схемы контроля влажности почвы, получен на другом форуме и проверен на 100% работоспособность:) Если кого интересует пишите в личку.
  • К чему такая конфиденциальность и не указать сразу ссылку на форум. Вот, например, на этом форуме http://forum.homecitrus.ru/index.php?showtopic=8535&st=100 практически задача решена на МК, а на логике решена и мной опробована. Только для того чтоб понять читать надо с начала «книги», а не с конца. Это я пишу заранее для тех, кто прочтет кусок текста и начинает заваливать вопросами. :eek:
  • Ссылка http://radiokot.ru/forum/viewtopic.php?f=1&t=63260 не была сразу дана по причине того, что бы это не рассматривалось как реклама.
  • для [B]Vell65
  • http://oldoctober.com/ru/automatic_watering/#5
  • Это уже пройденный этап. Задача решена другой схемой. В качестве инфрмации. Нижняя улучшенная схема имеет ошибки, горят сопротивления. Печатка на томже сайте выполнена без ошибок. При тестировании схемы были выявлены следующие недостатки: 1. Включается только один раз в сутки, когда уже завяли помидоры, а про огурцы лучше вообще промолчать. А им как раз кода пекло солнышко необходим был [B]капельный полив под корень ведь растения в сильную жару испаряет большое количество влаги особенно огурцы. 2. Не предусмотрена защита от ложного включения когда например ночью фотоэлемент освещается фарами или молнией и происходит срабатывание насоса тогда когда растения спят и им полив не нужен да и ночные включения насоса не способствует здоровому сну домочадцев.
  • Убираем фотодатчик, смотрите первый вариант схемы где он отсутствует, элементы временной цепи генератора импульсов подбираем как вам удобно. У меня R1=3,9 Мом. R8 которое 22м нет. R7=5,1 Мом. Тогда насос включается при сухой почве, на время пока не намокнет датчик. Я взял устройство как пример автомата полива. Огромное спасибо автору.

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

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

Влага высыхает – сопротивление растет, сила тока снижается.

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

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

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

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

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

Конструкция датчика собирается следующим образом:

  • Основная часть – два электрода, диаметр которых составляет 3-4 мм, они прикрепляются к основанию, изготовленному из текстолита или другого материала, защищенного от коррозии.
  • На одном конце электродов нужно нарезать резьбу, с другой стороны они делаются заостренными для более удобного погружения в грунт.
  • В пластине из текстолита просверливаются отверстия, в которые вкручиваются электроды, их нужно закрепить гайками с шайбами.
  • Под шайбы нужно завести исходящие провода, после чего электроды изолируются. Длина электродов, которые будут погружаться в грунт, составляет около 4-10 см. в зависимости от используемой емкости или открытой грядки.
  • Для работы датчика потребуется источник тока силой 35 мА, система требует напряжения 5В. В зависимости от количества влаги в почве диапазон возвращаемого сигнала составит 0-4,2 В. Потери на сопротивление продемонстрируют количество воды в грунте.
  • Подключение датчика влажности почвы проводится через 3 провода к микропроцессору, для этой цели можно приобрести, например, Arduino. Контроллер позволит соединить систему с зуммером для подачи звукового сигнала при чрезмерном уменьшении влажности почвы, или к светодиоду, яркость освещения будет меняться при изменениях в работе датчика.

Такое самодельное устройство может стать частью автополива в системе "Умный дом", например, с использованием Ethernet-контроллера MegD-328. Web-интерфейс показывает уровень влажности в 10-битной системе: диапазон от 0 до 300 говорит о том, что земля совершенно сухая, 300-700 – в почве достаточно влаги, более 700 – земля мокрая, и полив не требуется.

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

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

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

  1. Их можно установить в цветочных горшках, если растения чувствительны к уровню воды в грунте. Если речь идет о суккулентах, например, о кактусах, необходимо вбирать длинные электроды, которые будут реагировать на изменение уровня влажности непосредственно у корней. Их также можно использовать для и других растений с хрупкой . Подключение к светодиоду позволит точно определить, когда пора проводить .
  2. Они незаменимы для организации полива растений . По аналогичному принципу также собираются датчики влажности воздуха, которые нужны для запуска в работу системы опрыскивания растений. Все это позволит автоматическим образом обеспечить полив растений и нормальный уровень атмосферной влажности.
  3. На даче использование датчиков позволит не держать в памяти время полива каждой грядки, электротехника сама расскажет о количестве воды в грунте. Это позволит не допустить избыточного полива, если недавно прошел дождь.
  4. Применение датчиков очень удобно и в некоторых других случаях. К примеру, они позволят контролировать влажность грунта в подвале и под домом вблизи фундамента. В квартире его можно установить под мойкой: если труба начнет капать, об этом тут же сообщит автоматика, и можно будет избежать затопления соседей и последующего ремонта.
  5. Простое устройство датчика позволит всего за несколько дней полностью оборудовать системой оповещения все проблемные участки дома и сада. Если электроды достаточно длинные, с их помощью можно будет контролировать уровень воды, к примеру, в искусственном небольшом водоеме.

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

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

Больше информации можно узнать из видео.

Всем привет, сегодня в нашей статье мы рассмотрим как сделать датчик влажности почвы своими руками. Причиной самостоятельного изготовления может послужить износ датчика (коррозия, окисление), либо просто невозможность приобрести, долгое ожидание и желание смастерить что-либо своими руками. В моем случае желанием сделать датчик самому послужил износ, дело в том что щуп датчика при постоянной подаче напряжение взаимодействует с почвой и влагой в результате чего окисляется. Например датчики SparkFun покрывают его специальным составом (Electroless Nickel Immersion Gold) для увлечения ресурса работы. Так же что бы продлить жизнь датчику лучше подавать питание на датчик только в момент замеров.
В один "прекрасный" день я обратил внимание что моя система полива увлажняет почву без лишней надобности, при проверке датчика я извлек щуп из почвы и вот что я увидел:

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

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

Левая часть схемы показывает как щупы подключаются к arduino, а правую часть (с резистором R2) я привел для того что бы показать за счет чего меняются показания АЦП. Когда щупы опущены в землю между ними образуется сопротивление (на схеме я отобразил его условно R2), если почва сухая то сопротивление бесконечно большое, а если влажное то оно стремиться к 0. Так как два сопротивления R1 и R2 образуют делитель напряжение, а средней точкой является выход (out a0) то от величины сопротивления R2 зависит напряжение на выходе. К примеру если сопротивление R2=10Kom то напряжение будет 2,5В. Можно сопротивление запаять на проводах что бы не делать дополнительных развязок, для стабильности показаний можно добавить конденсатор 0,01мкФ между - питания и out. схема подключение следующая:

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

Не стал делать подробный фото отчет, все и так просто. Ну и фото в работе:

Как я уже раньше указывал лучше использовать датчик только в момент измерений. Оптимальный вариант включение через транзисторный ключ, но так как потребление тока у меня составило 0,4мА можно включить на прямую. Для подачи напряжения во время замеров можно подключить контакт датчика VCC к пину ШИМ или использовать цифровой выход на момент измерений подавать высокий (HIGH) уровень, а потом устанавливать низкий. Так же стоит учесть что после подачи напряжения на датчик необходимо выждать некоторое время для стабилизации показаний. Пример через ШИМ:

Int sensor = A0; int power_sensor = 3;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
analogWrite(power_sensor, 0);
}

void loop() {

delay(10000);
Serial.print("Suhost" : ");
Serial.println(analogRead(sensor));
analogWrite(power_sensor, 255);
delay(10000);
}

Спасибо всем за внимание!




Наконец я воплощаю эту задумку. Я собираюсь сделать датчик влажности почвы на базе Arduino, с ЖК-дисплеем 16х2, часами реального времени (показывают время даже при отключенном питании), датчиком температуры и SD-картой (дата-логгером).

Он может быть полезен в биотехнологических/ биологических/ ботанических проектах или проектах по сохранению растительности.

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

Сделать зонды более долговечными можно путем пускания тока на короткий промежуток времени (дважды за 30 миллисекунд в моем случае) и оставлять их отключенными на определенное время (например, 1 800 000 миллисекунд = (30x60x1000) = 30 минут). Чтобы задать это значение, нужно изменить задержку в самом конце файла «project.ino».

Раз у нас имеется датчик, проводящий измерения каждые Х миллисекунд, нам нужно установить предельные значения. Значения будут меняться от пиковых 1000 до средних 400, чем ниже значение, тем ниже сопротивление. Так как зонды измеряют сопротивление между двумя штырями, нужно взять значение 400, или близкое к нему, за 100%-ную влажность. А большее значение сопротивления, 1000 или выше, за уровень влажности 0%. Значит, нам нужно установить соответствие значений 1000 – 400 как 0 – 100%.

Ниже мы рассмотрим, как это сделать своими руками.

Шаг 1: Собираем все необходимые материалы


Вам понадобятся:

  • Arduino Uno (например)
  • часы реального времени DS3231 с батарейкой
  • MicroSD + SD адаптер или SD-карта
  • SD-модуль
  • ЖК-дисплей 16х2
  • датчик уровня влажности почвы YL-69
  • провода
  • потенциометр, я использовал на 47 кОм, но лишь потому, что не нашел на 10 или 20 кОм в своей коллекции
  • макетная плата

Все эти компоненты вполне доступны и совсем недороги.

Шаг 2: Соединяем компоненты



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

ЖК-дисплей

На схеме и на картинке показано корректное подключение дисплея (с названиями выводов).

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

  1. VSS Ground, рельса GND на макетной плате
  2. VDD рельса +5V на макетной плате
  3. V0 средний штырек потенциометра (регулируемый вывод)
  4. RS пин 10 на плате Arduino
  5. RW земля, рельса GND на макетной плате
  6. E пин 9 на плате Arduino
  7. D0 оставляем не соединенным
  8. D1 оставляем не соединенным
  9. D2 оставляем не соединенным
  10. D3 оставляем не соединенным
  11. D4 пин 7 на плате Arduino
  12. D5 пин 6 на плате Arduino
  13. D6 пин 5на плате Arduino
  14. D7 пин 3на плате Arduino
  15. A рельса +5V на макетной плате
  16. K земля, рельса GND на макетной плате

Модуль SD-карты

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

  1. GND GND на макетной плате
  2. +5V рельса +5V на макетной плате
  3. CS пин 4 на плате Arduino
  4. MOSI пин 11 на плате Arduino
  5. SCK пин 13на плате Arduino
  6. MISO пин 12 на плате Arduino

Датчик YL-69

Мы будем подключать только три вывода:

  1. VCC пин 2 на плате Arduino
  2. GND рельса GND земли на макетной плате
  3. A0 аналоговый вывод A0

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

Часы реального времени DS 3231 с батарейкой

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

  1. SCL SCL на плате Arduino
  2. SDA SCA на плате Arduino
  3. VCC рельса +5V на макетной плате
  4. GND рельса GND на макетной плате

Потенциометр

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

Шаг 3: Устанавливаем время

При первом включении часов реального времени нужно их настроить. Потом этого делать не придется, но первая настройка имеет критическое значение. Для настройки часов вам будет нужна библиотека Sodaq DS3231 .
Можно добавить ее через опцию «добавить библиотеку» в программе Arduino. Кликните «Добавить библиотеку» и выберите тип «3231», и вы ее увидите. Теперь ее нужно установить.

Если установочного файла нет, вы можете загрузить его из интернета.
Далее загрузите скетч «исправить/правка» и измените следующие значения:
«ДатаВремя» (2011, 11, 10, 15, 18, 0, 5)
в следующем порядке:
год, месяц, число, час, минуты, секунды и день недели (от 0 до 6)
установите текущие значения.
Установка времени завершена.

Шаг 4: Код

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

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

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

  • «I» от «initialized», значит, что SD-карта присутствует
  • «E» от «Error», значит, что SD-карта отсутствует
  • «F» от «False», «Ложь», значит, что файл недоступен, хотя карта присутствует

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

Файлы

Шаг 5: Выбор источника питания

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

Вы можете использовать:

  • стандартный блок питания
  • 9В аккумулятор с проводным подключением/с проводами для подключения

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

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

Шаг 6: Выбор SD-карты

Оказалось, что не все SD-карты работают с моим SD-модулем.

Исходя из своего жизненного опыта, я могу с уверенностью ответить на два вопроса:

  1. А они все подходят для измерителя? – нет, не все. Некоторые просто не взаимодействуют с определенным модулем. Оказалось, что все карты, не взаимодействующие с моим модулем, стандарта SDHC. Стандартные и микро-SD карты работают нормально, другие не работают совсем или работают только для чтения (данные не записываются) и настройки даты и времени слетают при каждом отсоединении карты от модуля.
  2. Есть разница в использовании SD-карты или микро SD-карты с адаптером? – нет, работают одинаково.

На этом я завершаю свое руководство по этому проекту.

Шаг 7: Продолжаем!

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

Шаг 8: Экспериментальная печатная плата (не завершено, может не работать)



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

Похожие публикации