Привет, часостроители.
Снова я со своими часами. На этот раз это не новые часы, а новые старые, так сказать. Я обновил свой предыдущий проект на 6 лампах ИН18 и подтянул его до "современного" уровня. Не долго думая, я взял свои предыдущие часы, о которых я говорил здесь (https://community.alexgyver.ru/threads/chasy-na-gri-z566m.7343/) и заменил там лампы. Но на этом решил не останавливаться.
Первым делом перешел на другой микроконтроллер, попроще. Если раньше стоял распространенный и всем известный STM32F103C8T6, то теперь на его месте красуется STM32G070CBT6. Он чуточку попроще, но часикам это все равно. G-серия более молодая и призвана устранить недостатки предыдущей серии, это чувствуется уже на моменте проектирования платы.
Я решил расширить функционал часов и сразу же уперся в ограниченность со стороны органа управления в часах, который был единственный - кнопки на плате. Можно было пойти простым путем - добавить еще кнопок. Но. Не хотелось превращать часы в пианино, а ведь все к этому и шло, учитывая сколько новых фишек я хотел добавить. А именно:
Так как основной код был написан, то по сути перед мной встали три задачи:
С третьим пунктом хочется поделиться.
Взять например таймер обратного отсчета. Чтобы пользователю было легко и удобно решил продумать, как пользоваться этим режимом. С начала, как только мы в него попадаем, он попросит нас ввести данные по часам, минутам и секундам. После чего уж он приступит к отсчету. Но что если пользователь передумал или вообще попал сюда по ошибке? Просто проматываем настройки, оставляя везде 00, часы сами выйдут, поняв ваши намерения. Вводятся данные, кстати, не бесконечным прожиманием кнопок ВВЕР и ВНИЗ, а полноценно с цифрового блока. Если с кнопок на плате, чтобы ввести какое-то двузначное число, вам придется изрядно на них понажимать, то с пульта вы просто нажимаете две клавиши и результат готов, переходите к следующей настройке. А ведь для этого даже не надо вставать с дивана. Ну хорошо, вы все настроили, таймер начал свой отсчет, но событие произошло раньше или вас просто это утомило, вы всегда можете выйти, прервав работу таймера.
Или возьмем работу ночной тренировки ламп. Вы спите, а они трудятся. Здорово, не правда ли? Начиная с определенного часа и заканчивая в назначенное время, часы будут непрестанно прокручивать в лампах все цифры подряд. Но что если вы по среди ночи проснулись и хотите узнать, который час. Жмите любую кнопку и часы на короткий промежуток времени покажут вам который час, и вы с облегчением поймете, что еще есть время поспать и до будильника (а он к слову в часах тоже присутствует)еще пять минут еще много. Нажали еще раз пока светит время и часы покажут температуру в комнате. Все. Спустя пять секунд часы приступят к прерванному занятию - упорному труду по тренировке ламп.
Да, если вам показалось то что я тут описал банальщиной и вы не можете отделаться от ощущения "ну а как еще по-другому? я бы так и сделал" значит я был на правильном пути. В любом случае спасибо вам за прочтение. Хочу пожелать вам теплого и приятного времени. Добра всем.
В который раз хочу вас пригласить в наш чат в телеграмме -> Чат "ламповое время"
Снова я со своими часами. На этот раз это не новые часы, а новые старые, так сказать. Я обновил свой предыдущий проект на 6 лампах ИН18 и подтянул его до "современного" уровня. Не долго думая, я взял свои предыдущие часы, о которых я говорил здесь (https://community.alexgyver.ru/threads/chasy-na-gri-z566m.7343/) и заменил там лампы. Но на этом решил не останавливаться.
Первым делом перешел на другой микроконтроллер, попроще. Если раньше стоял распространенный и всем известный STM32F103C8T6, то теперь на его месте красуется STM32G070CBT6. Он чуточку попроще, но часикам это все равно. G-серия более молодая и призвана устранить недостатки предыдущей серии, это чувствуется уже на моменте проектирования платы.
Я решил расширить функционал часов и сразу же уперся в ограниченность со стороны органа управления в часах, который был единственный - кнопки на плате. Можно было пойти простым путем - добавить еще кнопок. Но. Не хотелось превращать часы в пианино, а ведь все к этому и шло, учитывая сколько новых фишек я хотел добавить. А именно:
- управлять яркостью подсветки вручную
- да и вообще менять режим управления яркостью с ручного на автомат и обратно
- внести разнообразие в работу разделительных неонок и позволить менять им режимы работы
- сделать таймер обратного отсчета
- научить часы показывать температуру
- добавить режим ночной тренировки ламп
Так как основной код был написан, то по сути перед мной встали три задачи:
- адаптировать существующее под новый камень
- внедрить поддержку пульта
- написать новые функции, о которых упомянул выше
С третьим пунктом хочется поделиться.
Взять например таймер обратного отсчета. Чтобы пользователю было легко и удобно решил продумать, как пользоваться этим режимом. С начала, как только мы в него попадаем, он попросит нас ввести данные по часам, минутам и секундам. После чего уж он приступит к отсчету. Но что если пользователь передумал или вообще попал сюда по ошибке? Просто проматываем настройки, оставляя везде 00, часы сами выйдут, поняв ваши намерения. Вводятся данные, кстати, не бесконечным прожиманием кнопок ВВЕР и ВНИЗ, а полноценно с цифрового блока. Если с кнопок на плате, чтобы ввести какое-то двузначное число, вам придется изрядно на них понажимать, то с пульта вы просто нажимаете две клавиши и результат готов, переходите к следующей настройке. А ведь для этого даже не надо вставать с дивана. Ну хорошо, вы все настроили, таймер начал свой отсчет, но событие произошло раньше или вас просто это утомило, вы всегда можете выйти, прервав работу таймера.
Или возьмем работу ночной тренировки ламп. Вы спите, а они трудятся. Здорово, не правда ли? Начиная с определенного часа и заканчивая в назначенное время, часы будут непрестанно прокручивать в лампах все цифры подряд. Но что если вы по среди ночи проснулись и хотите узнать, который час. Жмите любую кнопку и часы на короткий промежуток времени покажут вам который час, и вы с облегчением поймете, что еще есть время поспать и до будильника (а он к слову в часах тоже присутствует)
Да, если вам показалось то что я тут описал банальщиной и вы не можете отделаться от ощущения "ну а как еще по-другому? я бы так и сделал" значит я был на правильном пути. В любом случае спасибо вам за прочтение. Хочу пожелать вам теплого и приятного времени. Добра всем.
В который раз хочу вас пригласить в наш чат в телеграмме -> Чат "ламповое время"