Страница 1 из 1
Время с NTP
Добавлено: 28 мар 2020, 10:56
hatul
Собрал простенькие часы с получением времени с NTP. Все хорошо,но при переходе на летнее время придется менять часовой пояс,и перезаливать скетч. Решил сделать возможность переводить время вучную. Добавил кнопку,переключатель и блок "сложение".
Вопрос: какой блок добавить,чтобы при первом нажатии кнопки на переключатель шла единица,а при повторном-ноль. Или ,проще,вместо кнопки поставит фиксированный переключатель?
И еще вопрос,не совсем относящийся к FLProg. Если часы были некоторое время отключены от питания,то матрица загорается так:

Приходится несколько раз передергивать питание,пока не загрузится так:

Можно что то сделать чтобы загружалось нормально?
NTP_Max7219.flp
Время с NTP
Добавлено: 28 мар 2020, 12:38
SergeyShikal
Какой блок питания? После кнопки тт тригер поставь.
Время с NTP
Добавлено: 28 мар 2020, 14:21
hatul
[ref]SergeyShikal[/ref], Сработало! Практически то что надо.Правда при отключении и включении питания время сбивается.Я подозреваю,что надо как то записать в EEPROM ,а как практически сделать не знаю.
Блок питания -либо USB от компьютера,либо зарядки от телефонов.
Время с NTP
Добавлено: 28 мар 2020, 15:27
edyapd
hatul писал(а): 28 мар 2020, 14:21
Правда при отключении и включении питания время сбивается.Я подозреваю,что надо как то записать в EEPROM
Может я чего не допонял, вы собираетесь текущие время записывать в ЕЕПРОМ? Какой в этом смысл?
Время с NTP
Добавлено: 28 мар 2020, 16:37
hatul
edyapd писал(а): 28 мар 2020, 15:27
вы собираетесь текущие время записывать в ЕЕПРОМ
Не совсем. Допустим сейчас 14.00. Перешли на летнее время. Значит время стало 15.00. Я нажимаю кнопку,время становится 15.00.Все нормально,все прекрасно. Но при отключении и затем включении питания время вновь становится 14.00.Проблема небольшая,надо просто опять нажать кнопку. Но можно как то запомнить,что сейчас время +1.
Время с NTP
Добавлено: 28 мар 2020, 18:32
edyapd
[ref]hatul[/ref], теперь понял. Да, вполне возможно в какую-нибудь ячейку ЕЕПРОМ записывать "0" или "1". И в дальнейшем значение этой ячейки прибавлять к значению часа. Единственное (если у вас не выводится дата), вам придётся отслеживать когда будет 24 часа и заменять на 0. Если будет выводится и дата, то надо будет ещё и её корректировать.
Время с NTP
Добавлено: 28 мар 2020, 19:13
SergeyShikal
Питание нужно ампера 2 на 5 вольт. Попробуй так
NTP_Max7219 с еепром.flp
Время с NTP
Добавлено: 28 мар 2020, 20:33
hatul
[ref]SergeyShikal[/ref], Нет,так не подходит.В таком варианте не добавляется 1,а просто читает 1 из EEPROM. Например: сейчас 19.00.Нажимаю кнопку становится 11.00.Просто вместо 9 считало из EEPROM 1. Кстати мой вариант тоже не проходит. Время 19.00. Значит летнее должно быть 20.00. Жмем кнопку-и получаем 10.00. Единица добавилась только ко второй цифре,т.е.к девятке. А первая как была 1,так и осталась.Так что нужен какойто другой вариант.Есть мысль попробовать сделать по принципу,как сделаны мигающие разделительные точки. Добавить в первой матрице массив,только со сдвигом на 1.
Может кто то знает еще варианты,попроще.
Время с NTP
Добавлено: 29 мар 2020, 05:39
edyapd
Набросал по-быстрому. Толком не проверял. Может заработает.
NTP_Max7219 с еепром_1 вариант.flp
NTP_Max7219 с еепром_2 вариант.flp
Время с NTP
Добавлено: 29 мар 2020, 08:11
SergeyShikal
hatul писал(а): 28 мар 2020, 20:33
[ref]SergeyShikal[/ref], Нет,так не подходит.В таком варианте не добавляется 1,а просто читает 1 из EEPROM. Например: сейчас 19.00.Нажимаю кнопку становится 11.00.Просто вместо 9 считало из EEPROM 1. Кстати мой вариант тоже не проходит. Время 19.00. Значит летнее должно быть 20.00. Жмем кнопку-и получаем 10.00. Единица добавилась только ко второй цифре,т.е.к девятке. А первая как была 1,так и осталась.Так что нужен какойто другой вариант.Есть мысль попробовать сделать по принципу,как сделаны мигающие разделительные точки. Добавить в первой матрице массив,только со сдвигом на 1.
Может кто то знает еще варианты,попроще.
Точно блок сложения не поставил. Поставить часы на DS3231 и забыть о летнем времени, сделать съемными для синхронизации с пк раз в год, если критично несколько секунд.
Время с NTP
Добавлено: 29 мар 2020, 08:41
dsfbuy
hatul писал(а): 28 мар 2020, 10:56
при переходе на летнее время придется менять часовой пояс,и перезаливать скетч
А почему не менять пояс программно?
Время с NTP
Добавлено: 29 мар 2020, 10:01
hatul
[ref]SergeyShikal[/ref],
SergeyShikal писал(а): 29 мар 2020, 08:11
Поставить часы на DS3231 и забыть о летнем времени
Ну это самый простой вариант.А мы не ищем легких путей. А если серьезно-весь смысл затеи-уйти от DS3231. И потом,я дарю часы родственникам,которые живут не то что в других городах,а и в других странах. Хотя,по моему, в России летнее время отменили.
Отправлено спустя 7 минут 47 секунд:
[ref]dsfbuy[/ref],
dsfbuy писал(а): 29 мар 2020, 08:41
А почему не менять пояс программно?
Так это и есть,то что я пытаюсь сделать. По Вашей схеме,не понял,как переменная может знать,в какой день меняется время.
Отправлено спустя 7 минут 31 секунду:
[ref]edyapd[/ref],
edyapd писал(а): 29 мар 2020, 05:39
Толком не проверял. Может заработает.
На первый взгляд должно заработать. Немного попозже проверю.
Время с NTP
Добавлено: 29 мар 2020, 11:00
dsfbuy
Чтобы при перезагрузке знать какой сейчас часовой пояс, можно использовать пользовательские параметры или сохранять переменную в епром.
Время с NTP
Добавлено: 29 мар 2020, 15:33
SergeyShikal
hatul писал(а): 29 мар 2020, 10:01
Ну это самый простой вариант.А мы не ищем легких путей. А если серьезно-весь смысл затеи-уйти от DS3231. И потом,я дарю часы родственникам,которые живут не то что в других городах,а и в других странах. Хотя,по моему, в России летнее время отменили.
Вы им потом по удаленке-телефону-смс -будете модуль к роутеру подключать после смены имени или пароля на таковом. Двое часов одни дома, вторые на улице при хороших минусовых температурах разница за 8 месяцев в 3 секунды.
Время с NTP
Добавлено: 29 мар 2020, 17:00
hatul
SergeyShikal писал(а): 29 мар 2020, 15:33
разница за 8 месяцев в 3 секунды
Да я согласен. Я на работу года 4 назад сделал.И каждые пол года перевожу зима/лето. Так вот за полгода убегают максимум на 4-5 секунд.Куда уж лучше. Я даже кнопки настройки времени не делаю.Но уж коли взялся за NTP надо довести до конца. Кстати время сейчас идет отлично. Часовой пояс переключается как положено. Осталось разобраться с EEPROM.
Отправлено спустя 5 минут 1 секунду:
SergeyShikal писал(а): 29 мар 2020, 15:33
Вы им потом по удаленке-телефону-смс -будете модуль к роутеру
Ну это как в том анекдоте"дядя вы это сейчас с кем разговаривали!" Если бы я все это знал и умел,я бы не на заводе железяки таскал,а в светлом кабинете сидел.