Не получается сделать контрольный замер датчиком

Повторный замер датчиком влажности

Ответить
Semon
Рядовой
Сообщения: 7
Зарегистрирован: 17.03.2020{, 11:31}
Репутация: 0
Имя: Semon

Не получается сделать контрольный замер датчиком

#1

Сообщение Semon » 18.03.2020{, 09:42}

Здравствуйте!
Постараюсь кратко и ясно описать свою идею, реализовать полностью которую не получается собственными силами.

Хочу сделать после обычного автоматического полива в определённое время, через (например) 10 мин повторный замер влажности почвы. Только замер (!), полива уже не должно происходить. Для этого создал программу из синтеза нескольких проектов, которые нашёл на ютубе, взяв (на свой взгляд) лучшие решения. Но там предлагался только лишь замер влажности в определённое время, и далее полив, если влажность упала ниже уставки.

Я же хотел программно сделать повторный замер после полива, чтобы каждый раз не копаться в земле да и можно появиться на садовом участке, когда земля уже подсохнет. Чтобы программа сама сравнивала начальную влажность (до полива или в начале полива) и после полива. И если влажность возрасла, то всё хорошо. Если же нет, то чтобы на экран выводилось сообщение об обнаруженном нарушении вл1 >= вл2 (т.е. полива не произошло). Значит нужно разбираться: датчик сломался или в эл.схеме обрыв. А если ошибки нет - значит всё работает хорошо. Попытался значения влажности записывать в переменные. Но почему-то не работает. :smile44:

Вариант проекта, который, на мой взгляд, наиболее дельный - в приложении. Мб кто-то тоже заинтересуется данной идеей или просто захочет помочь. Буду очень благодарен и рад. Может быть есть другое более лёгкое решение. :smile37: Это мой первый проект.
Для полива куплен нормально закрытый электроклапан, запитывать который предполагаю через тв.тельное реле.
переменная.JPG
Я решил придумать через эту переменную. Но не могу придумать условие при котором, она будет равна true (1) для запуска программы в плате 4, а после запуска платы 4 - поменяет значение на false (0), чтобы плата выполнилась один раз.

P.S. На мой взгляд, мне не хватает понимания работы с переменными (примеров очень мало, в основном самые азы, которые и из справки понятны), для чего служат и как работают параметры у плат в FLProg (Выполнение по условию и Выполнять в цикле пока). Может быть еще зависит в какой последовательности относительно друг друга находятся платы. Зависит ли от этого последовательность выполнения программы? Например, сначала выполняется 1я плата, потом 2я и так далее. Или все сразу начинают работать одновременно.
Ответов на данные вопросы найти не могу. Если кто-то что-то знает, подскажите, пожалуйста. Любая пища для размышления приветствуется!
Вложения
Контр.замер вл-ти почвы только после полива2.flp
(1.29 МБ) 49 скачиваний

Semon
Рядовой
Сообщения: 7
Зарегистрирован: 17.03.2020{, 11:31}
Репутация: 0
Имя: Semon

Не получается сделать контрольный замер датчиком

#2

Сообщение Semon » 20.03.2020{, 08:12}

Вычитал из стартового руководства по FLProg, что если задаётся условие выполнения для платы, то пока будет выполняться условие, по которому эта плата выполняется, вся остальная программа (т.е. основная) выполняться не будет. Пришел к выводу, что из платы 4 условие выполнения нужно убрать. А таймер перед выделенной переменной из платы 3 перенести на плату 4, но уже после переменной. Должно быть лучше.

Но всё-таки, что-то ещё есть. Потому что после заливки ардуинка ведет себя странно, как будто выполняется ещё какая-то часть (или вся остальная) программа.
А самое главное - не могу понять почему, когда происходит второй замер влажности, значение, выводимое на экран, как-будто бы суммируется со значением 1-го замера. Хотя они должны записываться в разные переменные в плате 2, и связи между ними не должно быть, кроме как в плате 5, где идет сравнение значений 1-го и второго (называемого мною контрольным) замера. Буду ещё думать. А может кто-то может подсказать что-нибудь?

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Не получается сделать контрольный замер датчиком

#3

Сообщение Ingwar » 20.03.2020{, 10:45}

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

Аватара пользователя
Hijin
Лейтенант
Сообщения: 325
Зарегистрирован: 22.08.2017{, 11:08}
Репутация: 13
Откуда: Винница
Имя: Юрий

Не получается сделать контрольный замер датчиком

#4

Сообщение Hijin » 20.03.2020{, 20:27}

А вы смотрели на сайте тему viewtopic.php?f=54&t=2462&start=80
там есть много моих предложений по поливу есть и видео работы программы на нано
Если заинтересует отвечу (прочтите по возможности мои посты и вы поймете почему я выбрал именно такой метод полива)

Semon
Рядовой
Сообщения: 7
Зарегистрирован: 17.03.2020{, 11:31}
Репутация: 0
Имя: Semon

Не получается сделать контрольный замер датчиком

#5

Сообщение Semon » 21.03.2020{, 16:32}

Доброго времени суток!
Вроде бы разобрался. Скачал позавчера версию FLProg 6.3.1 - там появился ценный для меня элемент FTrig (обратный аналог RTrig). Для моего проекта очень нужная вещь. Заменил свою громоздкую конструкцию с использованием FreeLog.
Всё работает, как я и нарисовал, но остался последний момент. Это по части записи в переменные.
Не могу понять почему, когда происходит второй замер влажности, значение как-будто бы суммируется со значением 1-го замера. Хотя они должны записываться в разные переменные, судя по плате 2, и связи между ними не должно быть никакой. Или я какую-то тонкость упускаю, или происходит ошибка, когда схема переводится в код.
Взгляните, пожалуйста, на мой проект по этой части. Мне кажется Вам одного взгляда будет достаточно. Я просто уже пол года сижу. Разбираюсь-разбираюсь, до тех пор пока терпения хватает, потом бросаю и опять через время возвращаюсь. Заранее Вам очень благодарен!
Подскажите ещё, как лучше запитать ардуинку на случай отключения эл.энергии? У меня идея такая. Розетка 220В ->повербанк (5В на выходе)->повышаю до 9 вольт (взял среднее между 7-12В). И припаиваю к пинам Vin и Gnd.
Вложения
Контр.замер вл-ти почвы только после полива2 - копия.flp
(1.26 МБ) 45 скачиваний
Последний раз редактировалось Semon 21.03.2020{, 20:05}, всего редактировалось 4 раза.

Semon
Рядовой
Сообщения: 7
Зарегистрирован: 17.03.2020{, 11:31}
Репутация: 0
Имя: Semon

Не получается сделать контрольный замер датчиком

#6

Сообщение Semon » 21.03.2020{, 16:35}

Hijin писал(а):
20.03.2020{, 20:27}
А вы смотрели на сайте тему viewtopic.php?f=54&t=2462&start=80
там есть много моих предложений по поливу есть и видео работы программы на нано
Если заинтересует отвечу (прочтите по возможности мои посты и вы поймете почему я выбрал именно такой метод полива)
Спасибо большое! Обязательно посмотрю. Форум громадный, кажется не видел.

Semon
Рядовой
Сообщения: 7
Зарегистрирован: 17.03.2020{, 11:31}
Репутация: 0
Имя: Semon

Не получается сделать контрольный замер датчиком

#7

Сообщение Semon » 21.03.2020{, 16:41}

Ingwar писал(а):
20.03.2020{, 10:45}
Могу набросать пример под Ваши нужды, но желательно использовать плату часов, а то меня пугают часы в миллисекундах... Да и периодичность будет поточнее. Есть у Вас какие нибудь часики?
Если Вы про часы реального времени, то я как раз на них и делаю время. Думаете может быть сильный сдвиг по времени исходя их моего проекта?

Semon
Рядовой
Сообщения: 7
Зарегистрирован: 17.03.2020{, 11:31}
Репутация: 0
Имя: Semon

Не получается сделать контрольный замер датчиком

#8

Сообщение Semon » 21.03.2020{, 20:07}

По поводу значений с датчика влажности Capasitive Soil Moisture Sensor v1.2. Датчик подключен к UNO так: АОUT -> А0, VCC -> А1, GND -> GND. Провел замер напряжения, подаваемого на датчик во время обоих замеров. 1й раз на датчик подаётся 4,08В, а 2й раз всего 0,84В. Хотя тип пина А1 у меня выбран цифровым. Измерял напряжение между GND и А1. С чем это может быть связано? Как решить проблему со стабильностью питания датчика? Подключать как написано здесь по 2-му варианту (https://wiki.iarduino.ru/page/capacitiv ... re-sensor/) не хотелось бы, т.к. в дальнейшем хотел бы добавить ещё один датчик и клапан, на вторую теплицу.
Последний раз редактировалось Semon 03.04.2020{, 00:09}, всего редактировалось 1 раз.

Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 100
Откуда: москва

Не получается сделать контрольный замер датчиком

#9

Сообщение Nikan » 22.03.2020{, 00:40}

.
Последний раз редактировалось Nikan 23.03.2023{, 23:19}, всего редактировалось 1 раз.

Semon
Рядовой
Сообщения: 7
Зарегистрирован: 17.03.2020{, 11:31}
Репутация: 0
Имя: Semon

Не получается сделать контрольный замер датчиком

#10

Сообщение Semon » 03.04.2020{, 00:06}

Nikan писал(а):
22.03.2020{, 00:40}
Semon писал(а):
21.03.2020{, 20:07}
Датчик подключен к UNO так: АОUT -> А0, VCC -> А1, GND -> GND.
а зачем вы датчик питаете от порта А1? почему на прямую к 5(3.3) вольтам не подключить?
Просто так было удобнее подключить, пока тестирую. Вообще можно бы с любого свободного выхода (хоть цифрового, хоть аналогового в цифровом режиме). Почему не напрямую - потому что я хотел, чтобы питание приходило на датчик только на 30 сек в установленное время полива и также в момент второго замера влажности (для контроля повышения влажности после полива). Через сутки всё повторяется.

Отправлено спустя 14 минут 39 секунд:
Появилась идея программно вычесть разницу. Например, 2-й замер - 64%, 1-й - 4%, хотя датчик как лежал на столе, так и лежит. Блоком "вычитание" вычитаю разницу 60. В итоге всё работает правильно, проверял, но на экране показания те же, правда, будут. Собственно это для меня не важно. Главное, что всё работать будет.
плата 2.JPG
Но вопрос, озвученный мною выше ( С чем это может быть связано? Как решить проблему со стабильностью питания датчика?) так и остался открытым. Странно. Если пин цифровой или аналоговый (в цифровом режиме), то сигнал должен быть только ~5В, а не падать, как у меня больше чем в 4 раза! Или я что-то не понимаю?

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

Не получается сделать контрольный замер датчиком

#11

Сообщение grin-mpx » 03.04.2020{, 08:34}

Вот эти темы гляньте по датчикам. Не всё там радужно.
viewtopic.php?f=133&t=5372&p=71377&hili ... чвы#p71377
https://www.forumhouse.ru/threads/441276/page-43
Semon писал(а):
03.04.2020{, 00:21}
Но вопрос, озвученный мною выше ( С чем это может быть связано? Как решить проблему со стабильностью питания датчика?) так и остался открытым. Странно.
Питание датчика от пинов ардуины не очень удачная затея. Нужно либо транзистор либо реле ставить. И вообще, китайский ёмкостной датчик- та еще игрушка.

Ответить

Вернуться в «Помогите, а то я "нимагу"»