Про теплицы и таймеры

вопросы по реализации таймеров

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Pavlov
Рядовой
Сообщения: 6
Зарегистрирован: 14.01.2018{, 21:15}
Репутация: 0

Про теплицы и таймеры

#1

Сообщение Pavlov » 24.01.2018{, 22:06}

Доброго всем времени суток!
Пытаюсь создать управление теплицой, которое заключается в управлении 5-ю каналами: три канала освещения, один для вентиляции, один для включения насоса полива. Теперь по порядку:
из железа: Arduino Nano, часики DS3231, LCD 1602 I2C, DHT22, аналоговый датчик влажности, 5 кнопок, ну и по мелочи LED'ы всякие.
Суть программы - двухуровневое меню:
М1 индикация времени\даты
М2 показания датчиков
М3 показания состояния каналов освещения
М3.1 выбор режима работы красного света: вкл\выкл\по таймеру
М3.2 выбор режима работы синего света...
М3.3 выбор режима работы белого света...
М4 показания каналов вентилятора и насоса
М4.1 выбор режима работы вентилятора вкл\выкл\по температуре
М4.2 выбор режима работы насоса вкл\выкл\по влажности почвы

С реализацией меню вопросов не возникло: перемещаемся клавишами UP/DOWN (по пунктам меню) LEFT/RIGHT (вход/выход в меню). у каждого подпункта есть три значения: выкл/вкл/по заданию(по таймеру). что бы изменить значение подпункта необходимо нажать кнопку SET: с помощью ТТ-триггера блокируется возможность листать пункты меню кнопками UP и DOWN, но зато мы можем выбирать значение значение пункта. при повторном нажатии кнопки SET триггер меняет выход на 0, и мы опять можем перелистывать меню. с этим вопросов не возникло.
А вот дальше сложнее: 3-е значение каждого подпункта выводит на экран значение уставок включения выходов (либо таймеры вкл/выкл). эти значения хранятся в переменых. например для включения таймера красного канала есть 2 переменных: значения часов включения и значение минут включения, и для таймера отключения еще 2 переменные: значение часов отключения и минут отключения. Итого 4 переменные на один канал. для насоса и вентилятора, по одной переменной, на включение.
Логика работы следующая: листаем основное меню до пункта 3, далее выбираем пункт 3.1. после нажатия на кнопку SET значение. выбираем 3-е значение с таймерами, и... вот дальше ступор! надо бы изменить значение переменых, но при повторном нажатии SET подпункт фиксируется и мы опять листаем меню. Вопрос: как можно зафиксировать значение подпункта и получить доступ к изменению переменных?
помогите люди добрые, уже неделю бьюсь, все бестолку
Написал сложно, но если посмотреть проект, то все становиться понятнее
Вложения
теплица_последняя.flp
(1.26 МБ) 79 скачиваний

Аватара пользователя
magpit
Лейтенант
Сообщения: 382
Зарегистрирован: 01.10.2017{, 12:55}
Репутация: 16
Имя: Сергей

Про теплицы и таймеры

#2

Сообщение magpit » 24.01.2018{, 22:28}

Может сохранить EEPROM (установить галочку)

Аватара пользователя
Noname
Сержант
Сообщения: 120
Зарегистрирован: 06.01.2016{, 21:53}
Репутация: 1
Откуда: Москва
Имя: Анатолий

Про теплицы и таймеры

#3

Сообщение Noname » 24.01.2018{, 23:08}

когда-то давным -давно , когда еще не было блоков мен (V1.15) писал 3х уровневое меню с взаимовлиянием пунктов друг на друга. уставки значений писались в еепром. по железу как у Вас Arduino Nano, DS3231, LCD 1602 I2C, гляньте, может что подчерпнете. меню на русском(блок пользователя) на дисплее без кириллицы. меню было двуязычным, но памети не хватило, а оптимизировать не умел , пришлось оставить только русский.- первый проект, все работает около двух лет уже.это управление роллставнями.
Вложения
шторы.rar
(156.51 КБ) 69 скачиваний

Pavlov
Рядовой
Сообщения: 6
Зарегистрирован: 14.01.2018{, 21:15}
Репутация: 0

Про теплицы и таймеры

#4

Сообщение Pavlov » 24.01.2018{, 23:43}

magpit, Noname, спасибо за совет!
хотел избежать EEPROM, так как тема плоха изучена, но теперь вижу: есть повод подучиться! :)

Аватара пользователя
Noname
Сержант
Сообщения: 120
Зарегистрирован: 06.01.2016{, 21:53}
Репутация: 1
Откуда: Москва
Имя: Анатолий

Про теплицы и таймеры

#5

Сообщение Noname » 24.01.2018{, 23:57}

Pavlov писал(а):
24.01.2018{, 23:43}
magpit, Noname, спасибо за совет!
хотел избежать EEPROM, так как тема плоха изучена, но теперь вижу: есть повод подучиться! :)
А зачем избегать? Надо просто писать в нее только тогда, когда необходимо. у меня в проекте - только после подтверждения ввода, т.е. если просто выбрать пункт меню, поменять значение и не подтвердить, ничего не измениться и не запишится. И при входе в пункты меню выводимое значение удобнее брать из еепром..

Отправлено спустя 1 минуту 1 секунду:
возможно на днях сниму видео , как реализовано. если интересно конечно..

GENIUS4444
Рядовой
Сообщения: 25
Зарегистрирован: 01.01.2018{, 20:24}
Репутация: 0

Про теплицы и таймеры

#6

Сообщение GENIUS4444 » 25.01.2018{, 00:00}

Для хорошей теплицы UNO мало, надо MEGA , иначе мажет пинов не хватить, или ардуинка будет тормозить

Аватара пользователя
Phazz
Полковник
Сообщения: 2557
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Про теплицы и таймеры

#7

Сообщение Phazz » 25.01.2018{, 05:08}

GENIUS4444 писал(а):
25.01.2018{, 00:00}
или ардуинка будет тормозить
Конечно, ведь в теплице процессы очень быстрые )))

Pavlov
Рядовой
Сообщения: 6
Зарегистрирован: 14.01.2018{, 21:15}
Репутация: 0

Про теплицы и таймеры

#8

Сообщение Pavlov » 25.01.2018{, 09:31}

Noname писал(а):
24.01.2018{, 23:58}
возможно на днях сниму видео , как реализовано. если интересно конечно..
очень интересно, буду благодарен!
GENIUS4444 писал(а):
25.01.2018{, 00:00}
Для хорошей теплицы UNO мало, надо MEGA
на данном этапе пока хватает nano. конечно при добавлении функционала буду переходить на мегу, но для этого надо разобраться с тем что есть

GENIUS4444
Рядовой
Сообщения: 25
Зарегистрирован: 01.01.2018{, 20:24}
Репутация: 0

Про теплицы и таймеры

#9

Сообщение GENIUS4444 » 25.01.2018{, 21:08}

Дома три цветка в горшках поливаются автополивом на UNO, так ардуинки почти впритык хватило. На подходе теплицу на ДУО мудрю , так это уже не теплица , а целая лаборатория получается.

Pavlov
Рядовой
Сообщения: 6
Зарегистрирован: 14.01.2018{, 21:15}
Репутация: 0

Про теплицы и таймеры

#10

Сообщение Pavlov » 31.01.2018{, 12:00}

Дописал я свою теплицу! Изначально, я по всей видимости неправильно задал вопрос, и соответственно услышал не тот ответ. Но это уже не важно. На данный момент EEPROM пока не используется, но позже допишу его обязательно, для сохранения установленных значений.
Nano вполне справляется со своей задачей: занято 67% памяти и 51% динамической памяти под глобальные переменные. осталось 2 свободных цифровых входов 0 и 1, но их не хочу использовать, и 3 аналоговых входа. Так же в планах прикрутить зумер, без него как то грустно, и при необходимости уровень воды в емкости для полива, и изменить счетчики, поставить с ускоренной прокруткой
Единственный не решенный вопрос на данный момент: как организовать опрос датчика влажности почвы (простая вилка с аналоговым выходом) один раз в минуту, для того что бы он сильно не окислялся.
кому интересно, прикрепляю "проект" :)
Вложения
другая теплица.flp
(2.97 МБ) 83 скачивания

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Про теплицы и таймеры

#11

Сообщение pan » 31.01.2018{, 12:12}

Pavlov писал(а):
31.01.2018{, 12:00}
как организовать опрос датчика
аналоговый вход на отдельную плату, в свойствах платы выполнение по условию. дальше придумаете

Аватара пользователя
cmept-27
Сержант
Сообщения: 270
Зарегистрирован: 08.12.2016{, 15:51}
Репутация: 76

Про теплицы и таймеры

#12

Сообщение cmept-27 » 31.01.2018{, 12:13}

OK

Pavlov
Рядовой
Сообщения: 6
Зарегистрирован: 14.01.2018{, 21:15}
Репутация: 0

Про теплицы и таймеры

#13

Сообщение Pavlov » 31.01.2018{, 12:32}

pan, точно! спасибо!
cmept-27, датчик то уже есть, даже 2! просто надо ему опрос сделать пореже, например раз в 10 минут...
Хотя если делать капитально, то с графитовыми электродами однозначно лучше!

Отправлено спустя 2 часа 15 минут 30 секунд:
Знатоки, подскажите пожалуйста: стал я заносить переменные в еепром. Получилось у меня 19 переменных. Память расчитана примерно на 100'000 циклов перезаписи. На долго ли хватит моей памяти и можно ли использовать внешнюю карту памяти для хранения переменных?

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Про теплицы и таймеры

#14

Сообщение pan » 31.01.2018{, 14:52}

ну так разделите 100.000 на периодичность записи в вашем проекте. вот и узнаете на сколько хватит.
а вообще если правильно организовать запись (например записывать только при изменении значения) то хватит на долго.
кстати в стандартном блоке запись в эпром "обновляет" данные. так что если они не меняются, то ресурс не будет тратиться

Аватара пользователя
cmept-27
Сержант
Сообщения: 270
Зарегистрирован: 08.12.2016{, 15:51}
Репутация: 76

Про теплицы и таймеры

#15

Сообщение cmept-27 » 31.01.2018{, 18:54}

Pavlov, можешь сам переделать датчики. Взять угольные электроды в любом магазине сварочного оборудования. Стоят не дорого и продаются по штучно.
СпойлерПоказать
ugolnye-elektrody.jpg
OK

Ответить

Вернуться в «Спросить у знатоков»