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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

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

Сообщение Слимпер »

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

Добавлено (27.09.2016, 18:46)
---------------------------------------------
Да и к тому же, привел  свой работающий вариант, а нужен они или нет, пусть другие смотрят.
Аватара пользователя
slavas
Лейтенант
Сообщения: 596
Зарегистрирован: 14 сен 2015, 22:29
Откуда: Санкт-Петербург

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

Сообщение slavas »

Это да, чем больше вариантов решения тем проще учиться. А про мой блок только щас задумался.
Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22 дек 2015, 11:06
Откуда: Мелитополь
Контактная информация:

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

Сообщение AlexRyzh »

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

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

Сообщение OlegAn1962 »

Слимперslavas, ob`edinil washi bloki
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

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

Сообщение Слимпер »

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

Добавлено (27.09.2016, 20:29)
---------------------------------------------
А то, что надо сохранить как уставку, упаковывается так же как переменная ТВ из скриншота в сообщении 19
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22 дек 2015, 11:06
Откуда: Мелитополь
Контактная информация:

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

Сообщение AlexRyzh »

В общем, почитав ветку, и благодаря вашим комментам, пришел к выводу, что сделать можно. И для себя "родил" такой метод:
Сделал блок проверки перехода через сутки. Входы - Вкл, Выкл и текущее время.
Изображение
Блок проверяет, если время выключения меньше времени включения и при этом меньше текущего времени, то переменная выключения принимает значение 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 сен 2016, 21:16, всего редактировалось 1 раз.
Аватара пользователя
slavas
Лейтенант
Сообщения: 596
Зарегистрирован: 14 сен 2015, 22:29
Откуда: Санкт-Петербург

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

Сообщение slavas »

так вводить надо часы и минуты, а блок сам часы переведёт в минуты и прибавит минуты, время получится в минутах.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

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

Сообщение Слимпер »

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

Добавлено (28.09.2016, 04:36)
---------------------------------------------
Если не лень можете посмотреть мой проект Малая автоматизация выращивания цветов и рассады где по такому принципу сделано  . Правда я его уже разобрал, и сделал другой. Надо как то написать статью. 
Но как я уже писал выше, я его делал во времена когда не было еще пользовательских блоков, так что он громоздкий.
Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22 дек 2015, 11:06
Откуда: Мелитополь
Контактная информация:

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

Сообщение AlexRyzh »

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

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

Сообщение slavas »

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

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

Сообщение AlexRyzh »

AlexRyzh писал(а):В итоге получается такая картинка:
Проверил на практике такую "картинку", это не работает. Т.к. при достижении 0 часов, одно условие не выполняется (Выкл >=Вкл) и соответственно ровно в 0 часов выключается
Спасибо Слимпер (пост 19), его блок действительно работает. Без проблем включение и выключение в указанное время, в том числе при переходе через 0 часов!
Сделал пользовательский блок, для удобства использования, единственное что изменил, это вместо компоратора больше поставил компоратор больше или равно. Иначе у меня почему-то включалось на минуту позже и выключалось на минуту позже указанного времени. Парадокс - но факт! При >= работает вовремя.
Блок прилагаю

[spoiler=Спойлер][/spoiler]
Всем огромное спасибо. Вопрос исчерпан полностью. Блок работает безупречно!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AlexRyzh 28 сен 2016, 12:50, всего редактировалось 1 раз.
Аватара пользователя
slavas
Лейтенант
Сообщения: 596
Зарегистрирован: 14 сен 2015, 22:29
Откуда: Санкт-Петербург

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

Сообщение slavas »

Ну так условие выполняется, заданное время равно а в компараторе больше, вот и срабатывает на минуту позже. Вы сделали в компараторе равно и стало как надо.
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06 сен 2015, 13:12
Откуда: Тюмень-Баку
Имя: Максим

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

Сообщение Max »

У меня вопрос. На вход "Время суток" в каком формате подаются данные? Имею ввиду часы+минуты, или все надо через матем. блоки пропускать умножая на 60 и т.д.?
Последний раз редактировалось Max 16 дек 2016, 07:26, всего редактировалось 1 раз.
nick73
Рядовой
Сообщения: 92
Зарегистрирован: 25 сен 2016, 01:06
Откуда: Ульяновск Россия

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

Сообщение nick73 »

Подскажите новичку. Сделал таймер на включение и выключение света по таймеру. Но нужно добавить датчик света. т.е принцип такой: установлено время включения в 9-00 и отключение в 17-00 но если на датчике света больше 200 Lx то свет не включается, но если во время которое установлено на вкл и выкл на датчике света будет меньше 200Lx то включится свет и отключится по таймеру.
nick73
Рядовой
Сообщения: 92
Зарегистрирован: 25 сен 2016, 01:06
Откуда: Ульяновск Россия

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

Сообщение nick73 »

вот файл
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось nick73 16 дек 2016, 11:33, всего редактировалось 1 раз.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

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

Сообщение rw6cm »

nick73 писал(а):вот файл
[spoiler=Спойлер][/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
nick73
Рядовой
Сообщения: 92
Зарегистрирован: 25 сен 2016, 01:06
Откуда: Ульяновск Россия

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

Сообщение nick73 »

Большое Спасибо. Получилось.
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06 сен 2015, 13:12
Откуда: Тюмень-Баку
Имя: Максим

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

Сообщение Max »

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

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

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

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