ARDUINO Часы на ГРИ v1. Обсуждение проекта

DmitryM

★✩✩✩✩✩✩
30 Янв 2020
22
47
после распаковки папку NixieClock-master нужно переименовать в nixieClock и тогда все соберется
 

Дениска8686

✩✩✩✩✩✩✩
2 Июн 2021
2
0
Избыточное цитирование
Всех приветствую! Во-первых хочу выразить благодарность человеку под ником "poty" за проделанный труд! Очень понравилось как в его прошивке реализован "перебор" катодов и коррекция точности хода ds3231. Но у меня появилась одна проблема, на гайверовской прошивке часы сами переходили на дневную/ночную яркость, а в скетче от "poty" перестали переходить автоматически..сейчас только при отключении/включении они переходят, смотря в каком временном диапазоне находятся (день/ночь). Можно как-то решить эту проблему?

собственно, сама прошивка:
Здравствуйте. Интересует решение данной проблемы с переходом день ночь. В заданное время не переходит в ночной/дневной режим.
 

poty

★★★★★★✩
19 Фев 2020
3,223
937
Попробуйте этот. Не думал, что это частное изменение будет кому-то интересно.
 

Вложения

Изменено:

Дениска8686

✩✩✩✩✩✩✩
2 Июн 2021
2
0
Попробуйте этот. Не думал, что это частное изменение будет кому-то интересно.
Очень даже интересно. Спасибо, скетч "залил" буду смотреть на поведение д/н.

Очень даже интересно. Спасибо, скетч "залил" буду смотреть на поведение д/н.
Первое что заметил перестали моргать разделители ч:м:с

Попробуйте этот. Не думал, что это частное изменение будет кому-то интересно.
Переход д/н работает, разделители не работают.
 

poty

★★★★★★✩
19 Фев 2020
3,223
937
@Дениска8686, разделители были выключены в скетче по просьбе того, кто первоначально заказывал переделку в скетче. Вернул на место (см. предыдущее сообщение).
Обращаю внимание, первой версии часов у меня давно нет, проверить не на чем, если будут ошибки - пишите в личные сообщения, чтобы не засорять ветку. По факту потом исправим.
 

shtrlz

★★★✩✩✩✩
23 Апр 2019
269
196
москва
oppozit.ru
может кому пригодится лайфхак: я во все прошивки (свои или сторонние) добавляю вывод в COMпорт наименование прошивки. экспериментов приходится делать много, потом и не вспомнить в каких часах - какая прошивка. а так порт посмотрел и все понятно..

@poty а скажи про коррекцию времени. где-то у тебя встречал. сейчас понадобилось, но перечитывать 80 страниц трудно..
 

poty

★★★★★★✩
19 Фев 2020
3,223
937
@shtrlz, а что интересует про коррекцию? Проводя эксперименты я пришёл к трём вариантам, наиболее стабильным и быстрым из которых оказался вариант обработки локального времени в прерывании от SQW DS3231. Этот стабильный вариант реализован в платах @adm503 за что ему большое спасибо. Скоро постараюсь ещё оптимизировать этот вариант.
В часах версии 1 я применял производную от "коррекции", применённой Гайвером: периодическая замена локального времени значением, полученным из DS3231. Естественно, "прыжки" времени мне не нравились, поэтому я начал изменять период таймера в направлении выравнивания хода локальных часов по ходу DS3231. Через некоторый период времени "прыжки" исчезают полностью.
В некоторых прошивках я начал применять метод, позаимствованный из протокола NTP: периодически (скажем, раз в 15 минут) читается время из DS3231 и скорость локальных часов изменяется пропорционально разницы этих времён. Если разница большая, период сравнения уменьшается (вплоть до двух минут). Если несколько сравнений время идёт точно, период сравнения увеличивается (вплоть до часа). Прыжков там совсем нет, происходит своеобразная фазовая коррекция. Результат очень хорош, но точный ход получается не сразу.
 

shtrlz

★★★✩✩✩✩
23 Апр 2019
269
196
москва
oppozit.ru
@poty, ух ты.. как же я далек от всего этого.. все слова в отдельности понимаю, но общую картину так и не понял.. ладно попробую так: в версии 1.3 встречается переменная равная 500. как с ней работать. как вычислить коррекцию. например у меня с прошивкой гайвера, часы за две недели ушли вперед на 3 минуты. на сколько я понял - в DS3231 есть какой-то параметр который отвечает за коррекцию. вот я и думаю как этот параметр туда записать и добиться более точного хода. но после прочтения ответа понял, что это не просто всё..
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
508
227
Избыточное цитирование
@shtrlz, а что интересует про коррекцию? Проводя эксперименты я пришёл к трём вариантам, наиболее стабильным и быстрым из которых оказался вариант обработки локального времени в прерывании от SQW DS3231. Этот стабильный вариант реализован в платах @adm503 за что ему большое спасибо. Скоро постараюсь ещё оптимизировать этот вариант.
В часах версии 1 я применял производную от "коррекции", применённой Гайвером: периодическая замена локального времени значением, полученным из DS3231. Естественно, "прыжки" времени мне не нравились, поэтому я начал изменять период таймера в направлении выравнивания хода локальных часов по ходу DS3231. Через некоторый период времени "прыжки" исчезают полностью.
В некоторых прошивках я начал применять метод, позаимствованный из протокола NTP: периодически (скажем, раз в 15 минут) читается время из DS3231 и скорость локальных часов изменяется пропорционально разницы этих времён. Если разница большая, период сравнения уменьшается (вплоть до двух минут). Если несколько сравнений время идёт точно, период сравнения увеличивается (вплоть до часа). Прыжков там совсем нет, происходит своеобразная фазовая коррекция. Результат очень хорош, но точный ход получается не сразу.
а где посмотреть данный вариант?
 

poty

★★★★★★✩
19 Фев 2020
3,223
937
@shtrlz, значит я не правильно понял вопрос. Коррекция DS3231 - это отдельный момент, он тут многократно обсуждался, даже программа была написана для автоматической коррекции. Найду - зашлю ссылку. В тех прошивках, что делал я - такой коррекции нет. Фактически же речь идёт о буквально паре строк в setup, чтобы эту коррекцию записывать в DS3231.
@technotrasher, какой вариант Вас интересует?
 
Изменено:

shtrlz

★★★✩✩✩✩
23 Апр 2019
269
196
москва
oppozit.ru
даже программа была
программа тут есть, https://community.alexgyver.ru/reso...librovki-rtc-ds3231-zs-042-i-mini-modulej.32/ но там больше вопросов, чем ответов. на русском никаких пояснений (для меня, как для чайника, не совсем все понятно). а английский у меня не настолько сильный.
могу ли я с помощь нее подключится к собранным часам и что-то скорректировать?
в случае неумелых моих действий - не превратятся ли часы в кирпичик?
 
Изменено:

technotrasher

★★★★✩✩✩
14 Ноя 2019
508
227
Избыточное цитирование
@shtrlz, значит я не правильно понял вопрос. Коррекция DS3231 - это отдельный момент, он тут многократно обсуждался, даже программа была написана для автоматической коррекции. Найду - зашлю ссылку. В тех прошивках, что делал я - такой коррекции нет. Фактически же речь идёт о буквально паре строк в setup, чтобы эту коррекцию записывать в DS3231.
@technotrasher, какой вариант Вас интересует?
ага. то есть что то есть для коррекции, но никто не использовал? я реализовывал просто - как идет обращение к датчикам СО2 и температура влажность давление - идет коррекция времени. время не прыгает. просто незаметно. но интересны и другие варианты. ещё кто то реализовывал коррекцию самого модуля времени через gps.
 

poty

★★★★★★✩
19 Фев 2020
3,223
937
@shtrlz, механизм автоподводки - это отдельный скетч, который загружается в Ардуино, к которой подключен DS3231 и программа на компьютере. В идеале один раз Ардуино подключается для установки режима тестирования, второй - для расчёта коррекции, и этот второй раз - через сутки.
Для Вашего частного случая проще подобрать эти значения экспериментально. Если интересно, могу попробовать набросать код, который нужно вставить.

@technotrasher, вариант с подводкой внутренних часов по производному методу от Гайвера, если я ничего не путаю, есть в этой ветке (там, где я временно прикручивал адресные светодиоды).
Вариант с SQW - в ветке по версии 2 по ключевому слову @adm503 .
Вариант, который похож на NTP был использован в частной прошивке по другой схеме часов, он нигде не выложен, но могу сделать выдержки реализации этого режима из той прошивки. Проблема ещё в том, что я там не использовал библиотеку для DS3231, только реализовал нужные мне функции через Wire.
 

Slovator

✩✩✩✩✩✩✩
21 Окт 2020
13
5
Я давно сделал универсальный вариант для 4 и 6 индикаторных плат.
@DmitryM, в разрядах секунд эффекты работают в версии с шестью индикаторами?
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
508
227
Избыточное цитирование
@shtrlz, механизм автоподводки - это отдельный скетч, который загружается в Ардуино, к которой подключен DS3231 и программа на компьютере. В идеале один раз Ардуино подключается для установки режима тестирования, второй - для расчёта коррекции, и этот второй раз - через сутки.
Для Вашего частного случая проще подобрать эти значения экспериментально. Если интересно, могу попробовать набросать код, который нужно вставить.

@technotrasher, вариант с подводкой внутренних часов по производному методу от Гайвера, если я ничего не путаю, есть в этой ветке (там, где я временно прикручивал адресные светодиоды).
Вариант с SQW - в ветке по версии 2 по ключевому слову @adm503 .
Вариант, который похож на NTP был использован в частной прошивке по другой схеме часов, он нигде не выложен, но могу сделать выдержки реализации этого режима из той прошивки. Проблема ещё в том, что я там не использовал библиотеку для DS3231, только реализовал нужные мне функции через Wire.
да. если можно для варианта с датчика gps. мне не проблема все написать. но хотелось бы посмотреть как была уже реализована рабочая версия.
 

poty

★★★★★★✩
19 Фев 2020
3,223
937
@technotrasher, с датчиком GPS я пока не работал. Не то, чтобы это было сложно, но как-то на данный момент не стояло такой задачи.
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
508
227
ага. тогда какой ещё вариант синхронизации по точному времени?
 

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
73
@shtrlz,
я добавил альтернативную прошивку от @poty как раз на тот случай, когда часы уже собраны и нет желания заморачиваться с подпаиванием выхода SQW к ардуино. Всё интуитивно просто, повторяйте действия как на демо гифке.