Например TDA7294

Форум РадиоКот • Просмотр темы - Проект-заготовка. Часы, календарь, будильник, таймер. DS3231
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт апр 19, 2024 04:25:32

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 59 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Проект-заготовка. Часы, календарь, будильник, таймер. DS3231
СообщениеДобавлено: Ср сен 16, 2020 20:40:39 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Создал тему, чтобы задавать возникающие по ходу дела вопросы. Делаю проект заготовку. Часы, календарь, будильник, таймер. DS3231.
Вопрос первый. У DS3231 намертво зашитый календарь или нет? Поясняю вопрос. Если я запишу в RTC некорректный календарь, что произойдет? К примеру, пусть сегодня 17 сентября, четверг. 2020 год. Я в настройках набрал 17 сентября, пятница. 2020 год. Заливаю данные в DS3231. Что произойдет?

Видео процесса на данный момент. Дисплей Futaba M204SD08AA. 20x4. На 4 строке тестовый вывод переменных и справа выведено значение 16 битного таймера, который измеряет время обращения к RTC.


Последний раз редактировалось Demiurg Чт сен 17, 2020 15:51:14, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Ср сен 16, 2020 21:45:11 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
Произойдет парадокс с последующим разделением вероятности на две линии.
даташит:
The day-of-week register increments at midnight. Values that correspond to the day of week are user-defined but must be sequential (i.e., if 1 equals Sunday, then 2 equals Monday, and so on). Illogical time and date entries result in undefined operation.

Вольный перевод гуглом: регистр дня недели увеличивается в полночь. Значения, соответствующие дню недели, определяются пользователем, но должны быть последовательными (т. Е. Если 1 равно воскресенью, то 2 равно понедельнику и т. Д.). Нелогичные записи времени и даты приводят к неопределенной операции.

Добавлено after 19 minutes 42 seconds:
Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS3231
может пригодиться:
https://en.wikipedia.org/wiki/Zeller%27s_congruence оно же в виде кода: https://ideone.com/CkDGvY


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Ср сен 16, 2020 22:04:07 
Друг Кота
Аватар пользователя

Карма: 123
Рейтинг сообщений: 7955
Зарегистрирован: Сб сен 13, 2014 16:27:32
Сообщений: 39199
Откуда: СпиртоГонск созвездия Омега
Рейтинг сообщения: -1
ден недели в поравилный RTC обычно не вносится он сам вычисляется чипом исходя из даты и года по матрице лет

_________________
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 01:12:41 
Открыл глаза
Аватар пользователя

Карма: 2
Рейтинг сообщений: 25
Зарегистрирован: Ср янв 03, 2018 01:36:14
Сообщений: 57
Рейтинг сообщения: 2
BlackKilkennyCat писал(а):
Я в настройках набрал 17 сентября, пятница. 2020 год. Заливаю данные в DS3231. Что произойдет?

Запишет как пятницу, то есть как 5-й день, ну или как 6-й, это зависит от того с какого дня у вас неделя начинается.
Он не определяет правильный ли день недели введен. Там с этим все примитивно.

ден недели в поравилный RTC обычно не вносится


Ну, исходя из этого 3231 не нормальный.
У него банально вводиться номер дня и он его по кругу считает от 1 до 7.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 06:45:00 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 941
Рейтинг сообщения: 0
ден недели в поравилный RTC обычно не вносится...

Поправляю. Ден недели в правильном СОФТЕ обычно не вносится...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 07:29:24 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
ден недели

Поправляю

Поправляльщик... Ггг. Хм, благодарю.
Сегодня поэкспериментирую. Посмотрю на поведение часиков...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 11:53:34 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 3
Что там экспериментировать - это обычный счётчик, который знает, что в минуте столько-то секунд, в часах столько-то минут, в сутках столько-то часов, в таком-то месяце столько-то дней и високосные года. Вычислением дней недели оно не занимается, просто крутит от 1 до 7 в полночь


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Чт сен 17, 2020 17:51:48 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 1209
Зарегистрирован: Ср фев 23, 2011 12:12:31
Сообщений: 2352
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
При этом когда пользователь задаёт дату, то именно софт должен ограничивать его. Не давать вписать 31 ноября или знать в каком году в феврале на день больше.
Сначала вводится год, определяем високосный ли он и далее по списку.

_________________
Глупый не задает вопросы. Глупый и так все знает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 07:57:04 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Сделал проверку. Записывал в RTC только числа месяцев, месяцы, годы. Затем сразу же считывал данные. День недели не менялся. То есть, день недели задается пользователем.
Сейчас занимаюсь примерами вычисления високосных лет. Если кто поделится примером на си, заранее благодарен.


Вернуться наверх
 
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 09:22:17 
С какой целью это делать при использовании DS3231? Она и без этого умеет это делать. Вот если бы Вы делали часы просто на основе одного МК, то тогда другое дело. А так все подобные алгоритмы (ИМХО) в данном варианте не несут ни какой пользы. :dont_know:


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 15:38:39 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
Мои эксперименты показали следующее: (если с часами уже экспериментировали, как поведут себя новые часы, пока неизвестно, нет в наличии), при задании календарной даты день недели произвольный, задается пользователем, также RTC молча проглотил 30 февраля и при задании 23.59.00 вывел 31 февраля.
Резюмирую. Нужно софтово проверять корректность календарных данных. При изменении месяцев, если февраль, проверять, какая дата стоит, чтобы не перевалило за 28 или 29.

Добавлено after 6 hours 5 minutes 48 seconds:
В данный момент чешу репу, как быть. На уровне интерфейса. Если некорректные данные при вводе времени, календарных данных. Скажем, 30 число, вводим Февраль. Некорректно. Или был високосный год, а сейчас не високосный, стоял февраль. 29 число. Правим год. Невисокосный, а число 29 февраля. Некорректно. Это примеры ввода.
Выводить какое-то сообщение или? В данный момент у меня сделано так. При входе в редактирование параметров массив переменных переносится во временный массив. Если данные некорректны, при нажатии на Enter возвращаются назад старые данные. Если все корректно, записывается в RTC.


Вернуться наверх
 
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 15:46:07 
Зачем задавать заведомо неправильную дату месяца? Ни один софт не сможет победить глупость пользователя. :facepalm: Не пойму какую цель Вы преследуете. :dont_know: Как отреагирует Ваш софт если вместо сегодняшнего 18 сентября, пользователь установит 20 сентября. Сможет Ваш софт скорректировать неправильную дату? Нет? Вот то-то и оно. :) Что касается RTC, он никогда не выведет неправильную дату в феврале если задать изначально правильно текущую дату и соответствующий год. :)


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 16:01:19 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
не совсем понятно, в чём трудность не дать в принципе ввести за пределами диапазона.
день более 28 - месяц проверяется на февраль, если да - проверяется на високосность и день меняется на 29 или 28, если нет, проверяется на апрель, июнь, сентябрь и ноябрь, если да и равно 31 - меняется на 30.

Добавлено after 12 minutes 10 seconds:
Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS3231
Код:
if (day > 28)
 if (month == 2)
   if (year == vis)
     day = 29
   else
     day = 28
  else if ((month in [4,6,9,11]) and (day > 30))
   day = 30;


Последний раз редактировалось BlackKilkennyCat Пт сен 18, 2020 16:05:06, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 16:04:11 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
В данный момент у меня все параметры проверяются на корректность автоматически при редактировании (кнопки Плюс-Минус, диапазоны значений). Также, когда введены необходимые значения, при нажатии на Enter данные проверяются на корректность перед сохранением и заливкой в RTC. Оказалось, могут быть коллизии, я их описал выше. Это февраль, високосный-невисокосный год, 29 число.
Мне нужно: подчеркиваю, не кодом, а словами, на уровне интерфейса. Что делать, если некорректные значение. К примеру, когда я делал блоки управления для станков, у меня было реализовано так: если какое-либо значение некорректно, на дисплей выводится сообщение с соответствующим предупреждением и ошибкой. Чтобы выйти из этого состояния, оператор должен нажать кнопку Esc-Отмена.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 16:07:17 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
да зачем вообще давать возможность вводить некорректное значение? чтобы потом сообщить пользователю? и заставить нажимать Esc?
На станках подобного вообще не должно быть. нажал не то - раздался бип, что не то, и всё. Следующее нажатие уже должно быть мочь то, а не лишнее Esc.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 16:36:33 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 1209
Зарегистрирован: Ср фев 23, 2011 12:12:31
Сообщений: 2352
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Не понимаю в чём проблема.
Всё просто, сначала вводится год. +/- границы понятны(например от 20 до 99 или от 020 до 999 или от 2020 до 9999). После ввода сразу вычисляем високосный он или нет.
Потом вводится месяц от 1 до 12, границы тоже определены. Сделать так чтобы +/- нельзя было нащёлкать 0 или 13))) Просто? Просто!
Далее с учётом високосности решаем сколько дней в указанном месяце: 28/29/30/31 и ставим границу для числа от 1 до вычисленного.
А далее просим ввести число: просто нажимая на +/- они по кругу будут идти правильные и никаких ошибок выводить никому не надо. Просто другое не ввести.

Если ввод пультом цифрами, то если цифра в вводимом разряде не может быть введена, она не вводится и разряд продолжает "мигать" пока не введут правильную.

_________________
Глупый не задает вопросы. Глупый и так все знает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 17:11:15 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 3
Телефон свой откройте да посмотрите как сделано.
Три параметра: дата месяц год, справа у вас готовый календарь отображается.
Ставлю 31 января 2020.
Перевожу на февраль, дата становится 29.

Взял старый сотовый:
Три параметра: дата месяц год, слева день недели (день недели недоступен редактированию)
ставлю 31 января 2020
перевожу месяц на февраль, дата меняется с 31 на 29.

Без всяких дополнительных слов и Esc.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 17:13:20 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 3
Dimon456, просто на нём Esc нет, вот и пришлось производителю извращаться :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 17:25:17 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 3
Как нет, а об пол.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проект-заготовка. Часы, календарь, будильник, таймер. DS
СообщениеДобавлено: Пт сен 18, 2020 17:51:19 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
...

Вы не поняли моего вопроса. Написали все то я и так знаю, у меня это и реализовано. Но вы не написали ничего, что касается интерфейса. Повторяю. На уровне ИНТЕРФЕЙСА.

...

Наконец-то конкретика. Ага, то есть, если выставлены последние числа месяцев, то от этого и исходить. Хм... Вариант.

Добавлено after 24 minutes 32 seconds:
Новое видео.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 59 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y