Например TDA7294

Форум РадиоКот • Просмотр темы - Переключение настроек с выводом на один индикатор. AVR
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Чт ноя 26, 2020 04:37:59

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


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



Начать новую тему Ответить на тему  [ Сообщений: 27 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 14:04:14 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Доброго здравия, друзья! Я уже писал здесь по-поводу часов, но тогда я делал их большими и из функционала мне нужно было только вывод времени и настройка. Теперь же мои хотелки неугомонные захотели сделать малюсенькие часики на рабочий стол. Сказано-сделано. В предидущих часах я использовал 4 74hc595+4uln2803, в этот раз ограничился двумя регистрами. DS3231 c Atmega8 связал, инициализировал всё, индикаторы подключил с кнопичками, всё работает, лучше йух придумаешь)) Хотел прилепить файл шпротеуса, но почему-то не выходит. Ну да ладно, лирика закончилась, когда я решил, что часики точные, резервное питание присутствует, не мешало бы и будильничек прилепить. И на этом мой энтузиазм пал смертью храбрых. Как сохранить данные в еепром я знаю. Но встал вопрос о том как настройку бцдильника и часов организовать правильно. Сейчас при нажатии кнопки SET мы заходим, если так сказать можно, в настройку часов, кнопками UP\DOWN изменяем значение, OK перекидывает с часов на минуты, после минут сохраняет настройки и вылазит из настройки. Теперь я немогу даже примерно представить как организовать настройку так, чтоб при нажатии кнопки СЕТ мы сразу заходим в настройки будильника, а потом уже перекидываемся в настройки часов. При этом в настройках нужно чтоб на дисплее это отображалось. .

Вложение:
ЧАСЫ1.jpg [78.25 KiB]
Скачиваний: 130



_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 19:47:23 
Друг Кота
Аватар пользователя

Карма: 87
Рейтинг сообщений: 967
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 11169
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 3
DS3231 имеет в своем составе аж два будильника... Используйте ее функционал в полной мере, а уж ежли не хватит - тогда ставим чего дополнительного.
Зачем еще чего-то с ЕЕПРОМ придумывать?
:dont_know:


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 19:56:16 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 60
Рейтинг сообщений: 889
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2228
Откуда: Тюмень
Рейтинг сообщения: 0
Теперь я немогу даже примерно представить как организовать настройку так, чтоб при нажатии кнопки СЕТ мы сразу заходим в настройки будильника, а потом уже перекидываемся в настройки часов. При этом в настройках нужно чтоб на дисплее это отображалось.

Организуйте функцию короткого и длинного нажатия кнопки… короткое нажатие – установка будильника, длинное нажатие – установка часов.

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


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 20:56:36 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0
DS3231 имеет в своем составе аж два будильника... Используйте ее функционал в полной мере, а уж ежли не хватит - тогда ставим чего дополнительного.
Зачем еще чего-то с ЕЕПРОМ придумывать?
:dont_know:

Спасибо за ответ. Об этом я уже думал. Одного будильника более чем достаточно. Тем более, если я правильно понял даташит, их можно конфигурировать на срабатывание от секунд до дней в самом RTC. Это не есть сложность. Меня загнала в тупик совершенно тривиальная задача- выводить на индикатор значение будильника при настройке. Функцию вывода времени сделать не тяжело, если бы был ещё один индикатор рядом то я смог бы на нём отдельно организовать вывод значений будильника, но вот, чтобы это всё переключалось на одном индикаторе....туплю.

здесь настройка часов:


здесь переход настроек с часов на минуты:


а здесь уже идет сам вывод на индикатор:


Мне кажется так.
Мне нужно добавить новую функцию вывода но уже на будидьник, или использовать имеющуюся.
При этом, нужно добавить в функцию setting_Time() вход в будильник.
Ну а в самой char get_SETTINGS организовывать изменение значений и сохранение их.
Правильно?

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Материалы вебинара «STM32L5. Секреты оценки энергопотребления»

Опубликованы запись и материалы вебинара КОМПЭЛ, посвященного первому семейству МК STM32L5 на ядре Cortex-M33. На вебинаре было рассказано о самых распространенных ошибках при расчете энергопотребления микроконтроллеров и о специальном тесте ULPMark, позволяющем дать наиболее объективную оценку энергоэффективности. Измерения проводились на демонстрационной платформе STM32L562E-DK.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 21:16:28 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 60
Рейтинг сообщений: 889
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2228
Откуда: Тюмень
Рейтинг сообщения: 0
но вот, чтобы это всё переключалось на одном индикаторе....туплю.

Конфигурацией свечения точек можно всё организовать… или дополнительным светодиодом. :)

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


Вернуться наверх
 
Использование экосистемы STMicroelectronics: подключение датчиков к STM32G4

В статье описаны основные составляющие экосистемы STMicroelectronics для работы с микроконтроллерами STM32, а также приведен пример ее практического применения: создание проекта на базе STM32G4 с подключением датчиков и использованием отладочной платы NUCLEO-G474RE и платы расширения X-NUCLEO-IKS01A2.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 21:32:28 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Конфигурацией свечения точек можно всё организовать… или дополнительным светодиодом. :)

Не-не, я о другом, это индикация вкл\выкл, это естественно элементарно.
Я не могу сообразить вот что,
на часах допустим 12.49
нажимаем СЕТ и сразу на дисплее 00.00- мы вошли в настройки блудильника.
Понажимали кнопочек, настроили, нажали ОК- настройки сохранились и переключаемся в настройки времени.
на дисплее теперешнее время 12.49
снова тыкаем кнопочки, настроились, нажали ОК- сохранились и вышли с настроек.
Вот.

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 21:36:36 
Друг Кота
Аватар пользователя

Карма: 69
Рейтинг сообщений: 545
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3351
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
но вот, чтобы это всё переключалось на одном индикаторе....туплю.
В качестве ещё одной идеи, посмотрите как это сделано на видео к статье. А вообще, советую подумать о добавке к часам WiFi/Bluetooth модуля для реализации установки времени/будильника, например, через смартфон, который позволяет несложно организовать несравненно более приветливый интерфейс с пользователем.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 21:54:49 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0
В качестве ещё одной идеи, посмотрите как это сделано на видео к статье. А вообще, советую подумать о добавке к часам WiFi/Bluetooth модуля для реализации установки времени/будильника, например, через смартфон, который позволяет несложно организовать несравненно более приветливый интерфейс с пользователем.


Просмотрел Вашу ссылку, всё красиво сделано, но в данный момент не для моего умишка. А особенно для меня вообще не актуально беспроводная связь. В будущем может быть, когда азы освою :dont_know:

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 23:02:15 
Первый раз сказал Мяу!

Карма: 1
Рейтинг сообщений: 19
Зарегистрирован: Вс сен 03, 2017 19:43:57
Сообщений: 31
Рейтинг сообщения: 0
Во вложении исходники одного проекта (управление освещением по расписанию)
chip: : PIC18F2620
compiler: HI-TECH PICC-18 COMPILER (Microchip PIC micro) V9.50PL1

Основное для вас это массивы указателей на функции ShowModes (какой экран отображаем), Function (какая кнопка в каком экране меню нажата) и работа с ними в функции main.
Входными данными этих массивов являются номер текущего экрана меню и код нажатой клавиши (обработка в interrupt.c).

Т.к. это обычный Си, то перенос на AVR не должен составить проблем.

Проект не коммерческий (был сделан для нужд некогда родного предприятия).


Вложения:
light.7z [86.21 KiB]
Скачиваний: 91
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Сб июл 04, 2020 23:33:51 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 60
Рейтинг сообщений: 889
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2228
Откуда: Тюмень
Рейтинг сообщения: 0
на часах допустим 12.49

Зачем из режима установки будильника входить в режим установки часов? ИМХО Из любого режима лучше выходить в дежурный режим.

Даже если у Вас индикатор только с такими точками…
Вложение:
1.png [27.75 KiB]
Скачиваний: 86


То при отображении допустим хода часов, средняя точка мигает в такт секундам (12.49), что указывает обычный ход часов… при входе в режим корректировки часов, средняя точка перестаёт мигать и светит постоянно (12.49), при входе в режим установки будильника к немигающей средней точке, дополнительно зажигаете крайнюю правую точку (00.00.), которая указывает на режим установки будильника. При выходе в дежурный режим, крайняя точка может сигнализировать о включении/отключении будильника.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Вс июл 05, 2020 09:13:16 
Друг Кота
Аватар пользователя

Карма: 40
Рейтинг сообщений: 1631
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 5011
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
кажется понял, чего надо ТСу - ему поможет конечный автомат: (расшийрую) создай переменную, отображающую твоё положение в меню (unsigned char menu=0;) и пусть она соответствует например
0- нормальная работа
1- настройка часов
2- настройка минут (если они отдельно настраиваются)
3- настройка часов будильника
4- настройка минут будильника (——//——)
и.т.д.
опиши вывод на дисплей, действие кнопок для каждого значения переменной меню, нарисуй карту переходов (по какой кнопке из какого в какое состояние переходим)
получится ввитч-кейс:
свитч (меню)
{
кейс 0:
кнопки не нажаты - выводим часы
нажата кнопка 1 - выводим будильник
нажата кнопка 2 - меню=1; ,выводим часы
нажата кнопка 3 - меню=3; ,выводим будильник
брейк;
кейс 1:
кнопки не нажаты - выводим часы
нажата кнопка 1 - добавляем к часам 1, выводим часы
нажата кнопка 2...,...и.т.д.
брейк;
кейс 3:
кнопки не нажаты - выводим будильник
нажата кнопка 1 - добавляем 1 к часам будильника, выводим будильник
и.т.д...}

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Вс июл 05, 2020 09:50:17 
Потрогал лапой паяльник

Карма: 6
Рейтинг сообщений: 99
Зарегистрирован: Ср янв 06, 2010 10:01:46
Сообщений: 388
Рейтинг сообщения: 0
Я думаю можно реализовать меню следующим образом:
1. Кнопкой SET выбираем режим. На экране последовательно меняются, например:
фразы "F1" - установка времени, "F2" - установка будильника, "F3" - установка даты ... , и далее по кругу.
2. выбрав режим, нажимаем ОК
3. Правим параметр (UP\DOWN\OK), нажимаем SET. При этом параметр заносится в память и происходит выход в основной рабочий режим.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Вс июл 05, 2020 18:10:25 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Спасибо всем за ответы. Решил добавить в схему еще одну кнопку ALARM. Таким образом будильник можно настраивать не касаясь других настроек.
На данный момент я вывел только вход в настройки будильника и вывод на индикатор. Пока без индикации состояния и без сохранения. Но мне кажется это уже прогресс..))

Просмотрите код, если кому интересно.



Добавлено after 3 hours 15 minutes 34 seconds:
Переписал кодец немного. Будило сохраняется пока в памяти ЕЕПРОМ, настройки работают, при включенном состоянии горит светодиод , при сработке будильника с ноги PD0 высокий уровень заводит активный зуммер.
Пока мне всё нравится. В дальнейшем думаю всё же указывать горящими точками какие разряды настраиваются...
Что скажите?

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Вс июл 05, 2020 18:21:59 
Друг Кота
Аватар пользователя

Карма: 40
Рейтинг сообщений: 1631
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 5011
Откуда: Сердце Пармы
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
привычней настраивать с миганием... какие разряды мигают - те и настраиваем

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Вс июл 05, 2020 18:47:48 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0
привычней настраивать с миганием... какие разряды мигают - те и настраиваем
Об этом тоже думал, скорее всего так и сделаю. Денёк еще помучаюсь)))

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Вс июл 05, 2020 20:54:24 
Друг Кота
Аватар пользователя

Карма: 87
Рейтинг сообщений: 967
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 11169
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
Четыре кнопки:
+
-
ввод
сброс/отмена
Возможна и спецкомбинация для активации режима настроек (N кноп одновременно и/или зажатая при подаче питания кнопа).
Далее два - три индикатора для отображения указателя позиции в меню настроек
к примеру J1-JF
и четыре позиции под индикацию, в каждой из которых задействованы кнопки +/- как в режиме единичного нажатия, так и в режиме скоростного приращения (короткое/длительное удержание), прокручивающие параметр по кольцу с учетом ограничений для каждого из параметров. Возможно дробление "единого значения" на составляющие, к примеру - текущее время на часы, минуты и секунды.
Подтверждение/сброс прокручивают таблицу менюшек по кругу.
В самом перечне менюшек включена позиция выхода из настроек (или автовыход при отсутствии активации кноп определенное время).
Ну и не исключено применение "вложенных менюшек".
Как вариант в адуринке - сменный указатель на функцию в цикле swith/case селектора комбинации клавиатуры.
8)
В принципе это ТВОРЧЕСТВО АВТОРА ПРОЕКТА - каждый делает так, как считает лучшим для восприятия пользователя устройства.
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Вс июл 05, 2020 21:43:36 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Та я бы и не против так сделать. Просто, туго соображаю, как это программно сделать. До сих пор не выходит заставить мигать разряды. А на счёт комбинаций клавиш это интересно, тем более я и не думал даже об этом.

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Вс июл 05, 2020 22:50:36 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 60
Рейтинг сообщений: 889
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2228
Откуда: Тюмень
Рейтинг сообщения: 0
До сих пор не выходит заставить мигать разряды.

Ну это не сложно… вот как один из вариантов… у DS3231 есть вывод SQW который можно настроить на 1 Гц. Так вот данный сигнал подать на ногу МК и при необходимости (когда нужно мигать циферками) отслеживать данный сигнал и по его значению или выводить текущую цифру, или пропускать разряд не зажигая его. Тем самым получаем мигание разряда с частотой 1 Гц. :)

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Пн июл 06, 2020 09:50:16 
Друг Кота
Аватар пользователя

Карма: 87
Рейтинг сообщений: 967
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 11169
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
Динамическая индикация обычно совмещается со сканером клавиатуры (побочный эфект - сколько разрядов, столько и кнопок).
Вывод на индикацию выполняется из буфера ОЗУ овидеопамяти, помимо которого может иметься буфер предобработки.
Через определенное время в соответствующие позиции выводим бланкирующий код, затем восстанавливаем предшественник из буфера предобработки.
Можно и два буфера видео ОЗУ ставить, включив в программу регенерации попеременный вывод из каждого буфера (один с текущим кодом отображения, второй с бланк-кодами.
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Переключение настроек с выводом на один индикатор. AVR
СообщениеДобавлено: Пн июл 06, 2020 18:29:11 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 60
Откуда: Сумы, Украина
Рейтинг сообщения: 0
А зачем брать с ds- ки сигнал если мы можем просто тупо сравнивать с секундой вот так например if (sec&1){dot=dig[11]}

Добавлено after 1 minute 2 seconds:
Я таким образом секундную точку мигать заставил.

Добавлено after 6 hours 10 minutes 4 seconds:
Сделал мигание разрядами в настройках будильника и времени. Оказывается это не так и сложно.
Я делал через If-else
Код:
void blink_al_h4()
{
   
    if (setFlag==minute)
    {
        count_blink2++;
        if (count_blink2<300)
        {
            dig1=dig[d0] ;
            display[0] =  razr[0];
            display[1] = 0;
           
        }
        else if (count_blink2>300)
        {
            dig1=dig[d0] ;
            display[0] =  razr[0];
            display[1] =~ dig1;
            if (count_blink2>600)
            {
                count_blink2=0;
            }
           
        }

    }
    else
    {
        dig1=dig[d0] ;
        display[0] =  razr[0];
        display[1] =~ dig1;
    }
}

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


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

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


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

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


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

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


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