Часы на ГРИ ИН18

dizzel

★✩✩✩✩✩✩
3 Май 2022
7
14
Привет, часостроители.
Снова я со своими часами. На этот раз это не новые часы, а новые старые, так сказать. Я обновил свой предыдущий проект на 6 лампах ИН18 и подтянул его до "современного" уровня. Не долго думая, я взял свои предыдущие часы, о которых я говорил здесь (https://community.alexgyver.ru/threads/chasy-na-gri-z566m.7343/) и заменил там лампы. Но на этом решил не останавливаться.
20221120_094802.jpg
Первым делом перешел на другой микроконтроллер, попроще. Если раньше стоял распространенный и всем известный STM32F103C8T6, то теперь на его месте красуется STM32G070CBT6. Он чуточку попроще, но часикам это все равно. G-серия более молодая и призвана устранить недостатки предыдущей серии, это чувствуется уже на моменте проектирования платы.

Я решил расширить функционал часов и сразу же уперся в ограниченность со стороны органа управления в часах, который был единственный - кнопки на плате. Можно было пойти простым путем - добавить еще кнопок. Но. Не хотелось превращать часы в пианино, а ведь все к этому и шло, учитывая сколько новых фишек я хотел добавить. А именно:
  • управлять яркостью подсветки вручную
  • да и вообще менять режим управления яркостью с ручного на автомат и обратно
  • внести разнообразие в работу разделительных неонок и позволить менять им режимы работы
  • сделать таймер обратного отсчета
  • научить часы показывать температуру
  • добавить режим ночной тренировки ламп
Все это привело к внедрению самой главной фишки этих часов - пульт ДУ. Пультик взял самый простенький, ардуиновский. Присобачил его к схеме и начал менять прошивку. Интересной задачей встало именно управление часами с пульта. Именно он стал основным органом управления ими. Кнопки на плате я по сути сделал дублирующими соответствующие кнопки на пульте. Пришлось хорошенько продумать как и где часы будут реагировать на нажатия. Хотелось сделать это удобным и не ограничивающим пользователя, а на оборот дающего ему свободы.
20221120_095150.jpg
Так как основной код был написан, то по сути перед мной встали три задачи:
  • адаптировать существующее под новый камень
  • внедрить поддержку пульта
  • написать новые функции, о которых упомянул выше
Первые два пункта скучные и неинтересные. С ними удалось справится как и самостоятельно, так и при помощи Яндекса.
С третьим пунктом хочется поделиться.

Взять например таймер обратного отсчета. Чтобы пользователю было легко и удобно решил продумать, как пользоваться этим режимом. С начала, как только мы в него попадаем, он попросит нас ввести данные по часам, минутам и секундам. После чего уж он приступит к отсчету. Но что если пользователь передумал или вообще попал сюда по ошибке? Просто проматываем настройки, оставляя везде 00, часы сами выйдут, поняв ваши намерения. Вводятся данные, кстати, не бесконечным прожиманием кнопок ВВЕР и ВНИЗ, а полноценно с цифрового блока. Если с кнопок на плате, чтобы ввести какое-то двузначное число, вам придется изрядно на них понажимать, то с пульта вы просто нажимаете две клавиши и результат готов, переходите к следующей настройке. А ведь для этого даже не надо вставать с дивана. Ну хорошо, вы все настроили, таймер начал свой отсчет, но событие произошло раньше или вас просто это утомило, вы всегда можете выйти, прервав работу таймера.
MyCollages.jpg
Или возьмем работу ночной тренировки ламп. Вы спите, а они трудятся. Здорово, не правда ли? Начиная с определенного часа и заканчивая в назначенное время, часы будут непрестанно прокручивать в лампах все цифры подряд. Но что если вы по среди ночи проснулись и хотите узнать, который час. Жмите любую кнопку и часы на короткий промежуток времени покажут вам который час, и вы с облегчением поймете, что еще есть время поспать и до будильника (а он к слову в часах тоже присутствует) еще пять минут еще много. Нажали еще раз пока светит время и часы покажут температуру в комнате. Все. Спустя пять секунд часы приступят к прерванному занятию - упорному труду по тренировке ламп.

Да, если вам показалось то что я тут описал банальщиной и вы не можете отделаться от ощущения "ну а как еще по-другому? я бы так и сделал" значит я был на правильном пути. В любом случае спасибо вам за прочтение. Хочу пожелать вам теплого и приятного времени. Добра всем.

В который раз хочу вас пригласить в наш чат в телеграмме -> Чат "ламповое время"
 
  • Лойс +1
Реакции: technotrasher

PiratFox

★★★★★✩✩
13 Фев 2020
1,694
472
Но что если пользователь передумал или вообще попал сюда по ошибке?
Я в таких случаях юзаю таймер. Если в течение 5 - 10 секунд в выбранном пункте настроек не происходит никаких действий (не нажата никакая кнопка), то происходит выход на исходную позицию без сохранения изменений. :) А вообще, девайс зачотный получился, автору респект!(y)
 
Изменено:
  • Лойс +1
Реакции: dizzel

dizzel

★✩✩✩✩✩✩
3 Май 2022
7
14
20230102_112256_new.jpg
Аналогично моим часам на Z566M были обновлены и часы на ИН18.
Функционал у них такой же. Об это можно почитать тут

Видео с демонстрацией возможностей
 
Изменено: