Помогите реализовать
Помогите реализовать
[ref]DanilaWERT[/ref], у вас в проекте вроде как использовались часы реального времени. Ну так с их помощью и высчитывайте включение и отключение.
- Phazz
- Полковник
- Сообщения: 3129
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
-
- Сержант
- Сообщения: 147
- Зарегистрирован: 01 дек 2018, 14:20
- Имя: danila
Помогите реализовать
[ref]edyapd[/ref], вот что получилось..вроде должно работать..
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Помогите реализовать
[ref]DanilaWERT[/ref], вам принципиально отключать именно в 23:00?
Я бы сделал несколько по другому. Сохранил бы в ЕЕПРОМ день старта. При помощи ЧРВ высчитывал количество дней. Отключал бы в 00:00, на заданное количество минут. При этом абсолютно не нужно переводить часы-минуты в минуты, а потом обратно в часы, да ещё следом и в String.
Полностью вашу реализацию не анализировал, но просто представьте такую ситуацию, что МК сбойнул за несколько секунд до того, как "Номер дня" должен был бы быть сохранённым в ЕЕПРОМ. А полностью перезагрузился в 00:01. Получается, что этот день у вас будет пропущен. Мизирная, но тем не менее вероятность существует.
Я бы сделал несколько по другому. Сохранил бы в ЕЕПРОМ день старта. При помощи ЧРВ высчитывал количество дней. Отключал бы в 00:00, на заданное количество минут. При этом абсолютно не нужно переводить часы-минуты в минуты, а потом обратно в часы, да ещё следом и в String.
Полностью вашу реализацию не анализировал, но просто представьте такую ситуацию, что МК сбойнул за несколько секунд до того, как "Номер дня" должен был бы быть сохранённым в ЕЕПРОМ. А полностью перезагрузился в 00:01. Получается, что этот день у вас будет пропущен. Мизирная, но тем не менее вероятность существует.
-
- Сержант
- Сообщения: 147
- Зарегистрирован: 01 дек 2018, 14:20
- Имя: danila
Помогите реализовать
[ref]edyapd[/ref], что такое ЧРВ?
Я смотрел ваш скетч 112.Там TON при перезагрузке тоже перезапустится..мое мнение.
Не принципиально конечно,но так будет лучше. ))edyapd писал(а): 13 мар 2020, 18:08 [ref]DanilaWERT[/ref], вам принципиально отключать именно в 23:00?
Я смотрел ваш скетч 112.Там TON при перезагрузке тоже перезапустится..мое мнение.
Я немного здесь не правильно написал..У меня не день сохраняется посути,а время (будем говорить) начала.А потом уже высчитывается день.edyapd писал(а): 13 мар 2020, 18:08 [ref]
Полностью вашу реализацию не анализировал, но просто представьте такую ситуацию, что МК сбойнул за несколько секунд до того, как "Номер дня" должен был бы быть сохранённым в ЕЕПРОМ. А полностью перезагрузился в 00:01. Получается, что этот день у вас будет пропущен. Мизирная, но тем не менее вероятность существует.
Помогите реализовать
Часы Реального Времени
Вот такой проект у меня получился. Не знаю, все ли входящие условия я понял правильно.
При нажатии на кнопку Старт, устройство дожидается перехода 00:00 и включает свет. При этом можно сделать рестарт устройства в любое время, снова нажав на Старт.
Первое выключение происходит по истечении 4 дней, на один час. Далее каждый день прибавляет по 20 минут.
На третью плату сделал вход по условия. Таким образом, она будет выполняться раз в минуту. И у вас останется ещё много времени для всего остального (если требуется)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 147
- Зарегистрирован: 01 дек 2018, 14:20
- Имя: danila
Помогите реализовать
Так я и не понял как плата№3 работает...(( При любом дне На блок попадания приходит 1ч20 мин.edyapd писал(а): 14 мар 2020, 08:38Часы Реального Времени
Вот такой проект у меня получился. Не знаю, все ли входящие условия я понял правильно.
При нажатии на кнопку Старт, устройство дожидается перехода 00:00 и включает свет. При этом можно сделать рестарт устройства в любое время, снова нажав на Старт.
Первое выключение происходит по истечении 4 дней, на один час. Далее каждый день прибавляет по 20 минут.
На третью плату сделал вход по условия. Таким образом, она будет выполняться раз в минуту. И у вас останется ещё много времени для всего остального (если требуется)
111.flp
Помогите реализовать
[ref]DanilaWERT[/ref], что за блок "попадания"? И как вы проверяете, что туда приходит?
-
- Сержант
- Сообщения: 147
- Зарегистрирован: 01 дек 2018, 14:20
- Имя: danila
Помогите реализовать
[ref]edyapd[/ref],
Time inside....И у меня почему то не работает детектор изменения числа.Подключил блок дисплея как на рисунке.На дисплей приходит,а вот после детектора ничего не происходит.edyapd писал(а): 15 мар 2020, 05:37 [ref]DanilaWERT[/ref], что за блок "попадания"? И как вы проверяете, что туда приходит?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Помогите реализовать
[ref]DanilaWERT[/ref], да, прошу прощения, накосячил немного.
Вот так вот проверьте
Вот так вот проверьте
Так вы не увидите его работу. Там "1" появляется от нескольких мкс, до нескольких сот микросекунд. Если хотите анализировать подобным образом, то поставьте перед дисплеем ТТ-триггер, тогда будете видеть одну минуту "1", а другую "0".
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 147
- Зарегистрирован: 01 дек 2018, 14:20
- Имя: danila
Помогите реализовать
[ref]edyapd[/ref], Спасибо большое за подсказки.Собрал вот так..Вроде все работает как надо мне.Проверил.Ваша логика вычисления паузы в освещении сэкономила мне 5% памяти устройства.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Помогите реализовать
[ref]DanilaWERT[/ref], глянул по рисунку. Если вы отнимаете в итоге один час, то его можно просто не прибавлять. Уберите блок "Сложение" (60+I2) и подайте с блока "Умножение" (I1*20) сразу на блок деления. И тогда блок "Вычитание", который вы добавили, можно убрать.
-
- Сержант
- Сообщения: 147
- Зарегистрирован: 01 дек 2018, 14:20
- Имя: danila
Помогите реализовать
[ref]edyapd[/ref], еще раз спасибо.Буду дальше делать.. ))
Отправлено спустя 2 часа 48 минут 44 секунды:
Вообще хочу так сделать.NodeMCU будет типа сервера.В ней часы,кнопки,дисплей.Меню для всех 4 Pro mini.Выбираю в меню устройство,корректирую установки...Изменяется переменная и передается на исполнительную плату,также передается время.Ну и плата управляет своей периферией. Также плата по запросу будет отдавать данные с датчиков для вывода на дисплей.В случае срабатывания "АВАРИИ" сервер пошлет СМС. Как то так...Переменных правда до фига получается..
Будет так работать? ))) Жду критику и советы..
Отправлено спустя 2 часа 48 минут 44 секунды:
Вообще хочу так сделать.NodeMCU будет типа сервера.В ней часы,кнопки,дисплей.Меню для всех 4 Pro mini.Выбираю в меню устройство,корректирую установки...Изменяется переменная и передается на исполнительную плату,также передается время.Ну и плата управляет своей периферией. Также плата по запросу будет отдавать данные с датчиков для вывода на дисплей.В случае срабатывания "АВАРИИ" сервер пошлет СМС. Как то так...Переменных правда до фига получается..
Будет так работать? ))) Жду критику и советы..
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Помогите реализовать
При правильном построении всё будет работать. С RS-485 никогда не пытался чего-либо делать, тут подсказать не могу.
А вот про основное устройство скажу так. Аппетит приходит во время еды. И вам со временем захочется подключить это, а потом вот это, а ещё и вот это. А потому, лучше сразу задуматься, чтобы сделать дальнейшее развитие беспроблемным. Могу посоветовать купить Raspberry, хотя у меня пока и на Orange Pi PC+ всё получалось. Установить на него IOBroker(или нечто подобное). И собирать там все данные с внешних устройств.
-
- Сержант
- Сообщения: 147
- Зарегистрирован: 01 дек 2018, 14:20
- Имя: danila
Помогите реализовать
[ref]edyapd[/ref], пока так.. бабосиков нет ))) Да и нечего туда впринципе больше подключать будет.Это у меня "хлев",а в нем грибы,несушки,бройлеры,брудер,инкубатор.
Отправлено спустя 3 часа 38 минут 39 секунд:
Почему у меня в часах 3 часа,а переменная Start2 TRUE?По умолчанию она FALSE.Если поменять в блоке сравнения например на I1 меньше чем I2,то все норм..Это какая то особенность?Всю бошку уже сломал..
Отправлено спустя 3 часа 38 минут 39 секунд:
Почему у меня в часах 3 часа,а переменная Start2 TRUE?По умолчанию она FALSE.Если поменять в блоке сравнения например на I1 меньше чем I2,то все норм..Это какая то особенность?Всю бошку уже сломал..
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Помогите реализовать
Не совсем понял, что вы имеете ввиду. Из проекта вижу, что в 0 часов у вас происходит запись в ЕЕПРОМ 1 по адресу СБРОС.
В дальнейшем по этому адресу можно записать 0 при условии, что на данный момент не 0 часов и пришёл сигнал со входа ССС.
В дальнейшем по этому адресу можно записать 0 при условии, что на данный момент не 0 часов и пришёл сигнал со входа ССС.
- nikmotorin60
- Рядовой
- Сообщения: 36
- Зарегистрирован: 29 апр 2016, 09:54
Помогите реализовать
По моему использование с выхода часов номера дня недели упростит решение задачи. Посмотрите мой вариант.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 147
- Зарегистрирован: 01 дек 2018, 14:20
- Имя: danila
Помогите реализовать
Совершенно верно.Так и задумывалось.Но почему то не работает так..edyapd писал(а): 18 мар 2020, 07:09 Не совсем понял, что вы имеете ввиду. Из проекта вижу, что в 0 часов у вас происходит запись в ЕЕПРОМ 1 по адресу СБРОС.
В дальнейшем по этому адресу можно записать 0 при условии, что на данный момент не 0 часов и пришёл сигнал со входа ССС.
На часах было точно не 0 часов,по-моему 3..Загружаю скетч.Сразу в еепром ставится 1.Нажимаю на кнопку CCC.В еппром записывается 0.Перезагружаю контроллер.И опять в еепром 1.
Вот добавил дисплеи для наглядности и установку часа.На дисплее 2 часа,а после сброса и перезагрузки в еепром опять 1 !!!
причем если на I1 блока сравнения установить константу большую чем 0,то все работает как надо.Приделал кнопку для изменения переменной.Все работает на ура.От часов блин не хочет..
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 147
- Зарегистрирован: 01 дек 2018, 14:20
- Имя: danila
Помогите реализовать
Не,под мою задачу не сильно подходит.nikmotorin60 писал(а): 18 мар 2020, 14:18 По моему использование с выхода часов номера дня недели упростит решение задачи. Посмотрите мой вариант.
Помогите реализовать
[ref]DanilaWERT[/ref], присмотритесь к дисплею, который показывает часы, повнимательней. Скорей всего он после перезагрузки, на доли секунды, показывает "0".
Получается, что часы ещё не успели ответить, а значение уже записывается в ЕЕПРОМ. Значит нужна задержка на пару секунд, после старта, прежде чем брать данные с часов.
Получается, что часы ещё не успели ответить, а значение уже записывается в ЕЕПРОМ. Значит нужна задержка на пару секунд, после старта, прежде чем брать данные с часов.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость