Суточный таймер. Как сделать?

Обсуждение и помощь в разработке различных проектов форумчан, например автоматика для теплицы, автоматика для котельной и т.д.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Суточный таймер. Как сделать?

#21

Сообщение Слимпер » 27.09.2016{, 18:46}

slavas, ну да блок похожий но, как я понял, переход через 00:00 у вас не работает.

Добавлено (27.09.2016, 18:46)
---------------------------------------------
Да и к тому же, привел  свой работающий вариант, а нужен они или нет, пусть другие смотрят.

Аватара пользователя
slavas
Лейтенант
Сообщения: 562
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

Суточный таймер. Как сделать?

#22

Сообщение slavas » 27.09.2016{, 18:57}

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

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Суточный таймер. Как сделать?

#23

Сообщение AlexRyzh » 27.09.2016{, 20:04}

eugeneb писал(а):Я уже в двух своих проектах использую такую схему
Лично мне не понятно как работать с этой схемой.
У меня сделано так: На экране ввода времени включения, я ввожу 2330 (т.е. включить в 23 часа 30 мин). То же самое и ввод отключения 215 (отключить в 2 часа 15 мин)
Для сравнения с текущим временем из модуля реального времени я получаю в переменную число, часы * 100 + минуты. Т.е. я получаю тот вид времени, который ввожу для контроля. По моему очень удобно.
В Вашем случае часы * 60 + минуты. Это 23:30 будет выглядеть не как 2330, а 1410. Так какую циферию загонять в память, если нужно включить в 23:30? Нужно ввести 1410 чтоб таймер работал как нужно?
А если мне нужно изменить на 22:15 включение, то нужно доставать калькулятор и высчитывать число, которое нужно ввести в память?
И я так понимаю этот блок для одного цикла Вкл-Откл? Если нужен еще цикл, то нужен такой же блок с другими параметрами Вкл.-Откл?

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

Суточный таймер. Как сделать?

#24

Сообщение OlegAn1962 » 27.09.2016{, 20:22}

Слимперslavas, ob`edinil washi bloki
Вложения
time_onoff-FBD-.ubi
(145.03 КБ) 77 скачиваний

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Суточный таймер. Как сделать?

#25

Сообщение Слимпер » 27.09.2016{, 20:29}

AlexRyzh писал(а):А если мне нужно изменить на 22:15 включение, то нужно доставать калькулятор и высчитывать число, которое нужно ввести в память?
Ну зачем калькулятор, отратно на часы и минуты это раскадируется так:
СпойлерПоказать
А там уже на экран можно вывести

Добавлено (27.09.2016, 20:29)
---------------------------------------------
А то, что надо сохранить как уставку, упаковывается так же как переменная ТВ из скриншота в сообщении 19
Вложения
0837898.png

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Суточный таймер. Как сделать?

#26

Сообщение AlexRyzh » 27.09.2016{, 21:13}

В общем, почитав ветку, и благодаря вашим комментам, пришел к выводу, что сделать можно. И для себя "родил" такой метод:
Сделал блок проверки перехода через сутки. Входы - Вкл, Выкл и текущее время.
Изображение
Блок проверяет, если время выключения меньше времени включения и при этом меньше текущего времени, то переменная выключения принимает значение 2400, что больше чем последняя минута суток 2359. Когда сутки меняются, то выставленное значение для отключения становится больше чем текущее время, и переменная не принимает значение 2400, а остается как назначено. ( в каждом цикле в переменную записывается установленное значение с памяти. Это в другой плате сделано, здесь не видно)
В итоге получается такая картинка:
Изображение

Добавлено (27.09.2016, 21:13)
---------------------------------------------
OlegAn1962 писал(а):Ну зачем калькулятор, отратно на часы и минуты это раскадируется так:
Вы видимо неправильно поняли вопрос. Перевести обратно не проблема. Дело в другом.
Вот, например я подошел к устройству и решил изменить время включения (или выключения). Например было 21:17 ( а это 21*60+17=1277) Т.е чтоб включалось в 21:17, в память было забито число 1277)
И вот я решил изменить включение на 22:14. Как мне понять какое число ввести в память? Вычислять в уме? или калькулятор с собой носить? Как я должен узнать, что нужно ввести 1334, чтоб срабатывало в 22:14?
Или я что-то не понял? Что нужно ввести в память (ячейку включения), чтоб включение произошло именно в 22:14?
По моему умножение часов на 100 решает эту проблему. Для ввода включения в 22:14 вводим значение для переменной 2214!
Последний раз редактировалось AlexRyzh 27.09.2016{, 21:16}, всего редактировалось 1 раз.

Аватара пользователя
slavas
Лейтенант
Сообщения: 562
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

Суточный таймер. Как сделать?

#27

Сообщение slavas » 27.09.2016{, 21:28}

так вводить надо часы и минуты, а блок сам часы переведёт в минуты и прибавит минуты, время получится в минутах.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Суточный таймер. Как сделать?

#28

Сообщение Слимпер » 28.09.2016{, 04:36}

AlexRyzh, хорошо, что нашил для себя удобный для себя вариант, это главное.
А slavas, все правильно написал, у меня отдельно выставляются минуты и часы, а программа, переводит и записывает в память, так что пользователь этого даже не видит.
AlexRyzh писал(а):в каждом цикле в переменную записывается установленное значение с памяти.
Надеюсь не в EEPROM?

Добавлено (28.09.2016, 04:36)
---------------------------------------------
Если не лень можете посмотреть мой проект Малая автоматизация выращивания цветов и рассады где по такому принципу сделано  . Правда я его уже разобрал, и сделал другой. Надо как то написать статью. 
Но как я уже писал выше, я его делал во времена когда не было еще пользовательских блоков, так что он громоздкий.

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Суточный таймер. Как сделать?

#29

Сообщение AlexRyzh » 28.09.2016{, 08:12}

Слимпер писал(а):Надеюсь не в EEPROM?
Так я написал "С ПАМЯТИ", а не в память  Т.е. читает из EEPROM, а не записывает.
Слимпер писал(а):у меня отдельно выставляются минуты и часы, а программа, переводит и записывает в память
Не стал я заморачиваться с таким вводом. Это дополнительный код... лишняя нагрузка на проц (а проц Нано...) Лишние блоки... 
Делал для себя, а мне и так понятно, что для ввода времени нужно вводить цифры, соответствующие времени. И кода меньше, и мне понятно и удобно 

Аватара пользователя
slavas
Лейтенант
Сообщения: 562
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

Суточный таймер. Как сделать?

#30

Сообщение slavas » 28.09.2016{, 12:25}

Ну если для себя только.

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Суточный таймер. Как сделать?

#31

Сообщение AlexRyzh » 28.09.2016{, 12:46}

AlexRyzh писал(а):В итоге получается такая картинка:
Проверил на практике такую "картинку", это не работает. Т.к. при достижении 0 часов, одно условие не выполняется (Выкл >=Вкл) и соответственно ровно в 0 часов выключается
Спасибо Слимпер (пост 19), его блок действительно работает. Без проблем включение и выключение в указанное время, в том числе при переходе через 0 часов!
Сделал пользовательский блок, для удобства использования, единственное что изменил, это вместо компоратора больше поставил компоратор больше или равно. Иначе у меня почему-то включалось на минуту позже и выключалось на минуту позже указанного времени. Парадокс - но факт! При >= работает вовремя.
Блок прилагаю
СпойлерПоказать
Всем огромное спасибо. Вопрос исчерпан полностью. Блок работает безупречно!
Вложения
9636476.jpg
_____-FBD-.ubi
(112.21 КБ) 67 скачиваний
Последний раз редактировалось AlexRyzh 28.09.2016{, 12:50}, всего редактировалось 1 раз.

Аватара пользователя
slavas
Лейтенант
Сообщения: 562
Зарегистрирован: 14.09.2015{, 22:29}
Репутация: 0
Откуда: Санкт-Петербург

Суточный таймер. Как сделать?

#32

Сообщение slavas » 29.09.2016{, 00:02}

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

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

Суточный таймер. Как сделать?

#33

Сообщение Max » 16.12.2016{, 07:24}

У меня вопрос. На вход "Время суток" в каком формате подаются данные? Имею ввиду часы+минуты, или все надо через матем. блоки пропускать умножая на 60 и т.д.?
Последний раз редактировалось Max 16.12.2016{, 07:26}, всего редактировалось 1 раз.

nick73
Рядовой
Сообщения: 92
Зарегистрирован: 25.09.2016{, 01:06}
Репутация: 0
Откуда: Ульяновск Россия

Суточный таймер. Как сделать?

#34

Сообщение nick73 » 16.12.2016{, 11:29}

Подскажите новичку. Сделал таймер на включение и выключение света по таймеру. Но нужно добавить датчик света. т.е принцип такой: установлено время включения в 9-00 и отключение в 17-00 но если на датчике света больше 200 Lx то свет не включается, но если во время которое установлено на вкл и выкл на датчике света будет меньше 200Lx то включится свет и отключится по таймеру.

nick73
Рядовой
Сообщения: 92
Зарегистрирован: 25.09.2016{, 01:06}
Репутация: 0
Откуда: Ульяновск Россия

Суточный таймер. Как сделать?

#35

Сообщение nick73 » 16.12.2016{, 11:31}

вот файл
Вложения
4164894.flp
(406.24 КБ) 82 скачивания
Последний раз редактировалось nick73 16.12.2016{, 11:33}, всего редактировалось 1 раз.

Аватара пользователя
rw6cm
Полковник
Сообщения: 1980
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 219
Имя: Владимир

Суточный таймер. Как сделать?

#36

Сообщение rw6cm » 16.12.2016{, 12:30}

nick73 писал(а):вот файл

СпойлерПоказать
Вложения
0111481.png
Win10-64, FLProg (portable)

nick73
Рядовой
Сообщения: 92
Зарегистрирован: 25.09.2016{, 01:06}
Репутация: 0
Откуда: Ульяновск Россия

Суточный таймер. Как сделать?

#37

Сообщение nick73 » 16.12.2016{, 12:52}

Большое Спасибо. Получилось.

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

Суточный таймер. Как сделать?

#38

Сообщение Max » 09.03.2017{, 13:31}

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

Ответить

Вернуться в «Проекты различных устройств на Ардуино»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей