Написание программы.
- Войдите на сайт для отправки комментариев
Втр, 01/09/2020 - 10:56
Здравствуйте!
Ситуация следующая: в скетче (приведён ниже) задано время для звонка в определённое время. Все срабатывает как надо за исключением, перехода программы на начало работы с 16:40-8:00, сработка в 8:00 происходит на 25 секунд раньше. Подскажите пожалуйста как исправить. Спасибо!
Модератор: Вставьте код согласно правил форума.
Очевидно, что к последней задержке нужно накинуть ещё секунд.
Может быть кварц на плате не совсем точный? За сутки убегает на 25 секунд? Если надо точное время, то надо брать модуль часов, читать из него время и сравнивать с необходимым. DS3231 можно заставить давать ошибку пару секунд в год. И почитайте про правила форума- как правильно вставлять текст программ.
25 секунд ухода за 16 часов - не так и плохо, особенно если осциллятор на ардуине не кварц, а что подешевле. Ардуина не предназначена для точного отсчета интервалов.
Сергей, на самой деле подобные программы проектируются по другому - не на основе гигантских задержек. Вместо этого ставится модуль RTC и с него берется реальное время дня, например 15:25, сравнивается с расписанием... и при наличии совпадения подается звонок
Госспади, помоги мне теперь это развидеть.
Госспади, помоги мне теперь это развидеть.
Никаких поблажек! Страдай теперь! Только коту это не показывай, жалко котика...
Убегает за время с 16:40 - 8:00. Остальное время секунда в секунду отрабатывает. Добавлял + 25 секунд ни что не изменилось так и осталось -25 секунд. Может окончание какое-то другое нужно. Или программу переписать более профессионально.
Нужно код выкинуть и заново переписать с использованием RTC.
А так из версий, ночью холодно и частота меняется.
Логически это необъяснимо. Нечистая сила работает, не иначе.
Логически это необъяснимо. Нечистая сила работает, не иначе.
нет никаких чудес, кмк. Задержка плавает, в один день +25, в другой -30... С учетом того, что каждая проверка занимает сутки - закономерность тут фиг поймаешь.
ТС добавил +25 к интервалу, а в этот день счетчик случайно убежал вперед на 50 сек - вот и получилось снова "+25"
Править 'эти секунды никакого смысла не имеет -код в помойку. Это пишется на RTC
Править 'эти секунды никакого смысла не имеет -код в помойку.
Чой та в помойку то сразу ?
На выставку "Апофеоз кретинизма"
Править 'эти секунды никакого смысла не имеет -код в помойку.
и чего так сразу сдаваться, засунуть всё в пенопластовую коробку и посмотреть суточный уход, если разброс постоянной ухода выйдет в пределах секунды и такой уход допустим, то почему бы и нет, останется только его скорректировать...
и чего так сразу сдаваться, засунуть всё в пенопластовую коробку и посмотреть суточный уход, если разброс постоянной ухода выйдет в пределах секунды и такой уход допустим, то почему бы и нет, останется только его скорректировать...
И на выставку :-)
и чего так сразу сдаваться, засунуть всё в пенопластовую коробку и посмотреть суточный уход, если разброс постоянной ухода выйдет в пределах секунды и такой уход допустим, то почему бы и нет, останется только его скорректировать...
если на выставку, то код надо хоть немного облагородить ...
если на выставку, то код надо хоть немного облагородить ...
хотя бы вставить в сообщение правильно :)
если на выставку, то код надо хоть немного облагородить ...
хотя бы вставить в сообщение правильно :)
и облагородить )))
Госспади, помоги мне теперь это развидеть.
А вот нех народу было кидаться отвечать по существу, пока код нормально не вставлен.
Вот в соседней теме, я догадываюсь в чём проблема, но лезть в этом убеждаться по такому коду - нафиг. А говорить что-то ТС тоже бесполезно, он уже четыре года на форуме, если до сих пор не дошло, значит медицина бессильна :-(
А вот нех народу было кидаться отвечать по существу, пока код нормально не вставлен.
Должно быть как заклинание. И никто не должен отвечать и прикасаться, как к проказженному.)
Госспади, помоги мне теперь это развидеть.
А вот нех народу было кидаться отвечать по существу, пока код нормально не вставлен.
так скучно жеж, темы практически не трутся )))