Таймер чистки зубов

    Доброго времени суток, Хабр!



    Эта статья для тех, у кого не все щетки в ванной имеют таймер, и кто не хочет использовать песочные часы.

    У нас две дочки. Каждый раз заходя в ванную комнату, чтобы почистить зубы, они просят засечь две минуты (из четырех детских щеток, только одна имеет таймер для чистки зубов). Чтобы процесс стал более интересным, а нам не приходилось по четыре раза в день напоминать детям выйти из ванной, я решил сообразить таймер. Песочные часы отпали сразу – это как-то не спортивно.


    Рис.1. Схема таймера

    Схема таймера очень проста и представлена на рис.1. Механические кнопки не очень подойдут для ванной, так как от нажатий мокрыми руками могут выйти из строя (плату покрою лаком), поэтому было решено кнопку сделать сенсорной. Я ранее уже использовал микросхему TTP223, соответственно ее и поставил, но теперь она будет работать как reset для микроконтроллера. Я подумал, что так как почти все время таймер выключен (если не брать в расчет что дети будут в него постоянно тыкать, зайдя помыть руки), то можно использовать режим standby, а при нажатии на кнопку просто ресетить МК.

    Микроконтроллер использовал тот, что был в наличии – STM32F031G4. Маленький UFQFPN-28 очень удобен для миниатюрных поделок. Специально не стал добавлять пищалку (для экономии батарейки) и buck-boost, чтобы габариты были минимальны.


    Рис.2. Печатная плата top

    На плате сделал всего десять переходных отверстий, и, чтобы не мозолили глаза, восемь из них расположил на площадках светодиодов. Также очень уж хотелось куда-нибудь прилепить картинку отпечатка пальца.


    Рис.3. Печатная плата bottom

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


    Рис.4. Плата с компонентами bottom

    Прошивка тоже совсем простая (генерил в CubeMX для IAR). Поморгать диодами при старте и погасить, затем зажечь с интервалом 30 секунд по одному, и снова поморгать перед сном.

    Для standby используются всего пара строк:

    DBGMCU->CR |= DBGMCU_CR_DBG_STANDBY;  

    HAL_PWR_EnterSTANDBYMode();

    После засыпания отваливается SWD, но так как у меня сенсор на ресете, то просто жмем тач и прошиваем.

    Светодиоды использую китайские с ali. Мультиметром (UNI-T UT70A) получилось намерить примерно так:

    • 1 светодиод – 3,2mА;
    • 2 светодиода – 3,4mА;
    • 3 светодиода – 3,6mА;
    • 4 светодиода – 3,8mА;
    • В режиме standby 8uA.

    Думаю, поиграться с частотой STM, и в режиме работы сделать ее минимальной.

    Надеюсь, дети будут в восторге)

    PS:


    Дети в восторге!

    Спасибо за внимание!

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 39

      –1
      Ну и как обычно, вместо MCU можно простую RC-цепочку и пару компараторов, чтобы отслеживать 120,60,30 секунд)
        +6
        Да ну, STM32F031G4 в компэле стоит 71р за штуку) А как же сначала поморгать всеми и потом тоже?)
        +3
        За идею — интересно, реализация (внешний вид) — вроде тоже ничего, но использовать для такой примитивной по функционалу железки 2 микросхемы и 32 разрядный!!! контроллер… Из серии: Мне тут гвоздик забить надо. Беру недорогой электронный микроскоп…
        Раз раскритиковал — предлагаю: недорогой 8 битный 8 ногий PIC, 1 вход — сенсор, реализуем программно, 4 ноги — светики, 1 нога — пищалка, если нужно…
          +7
          Ну реализация и плата крутая, чего уж там.
          Битность важна не сама по себе, а по цене. Если контроллер сравним по цене с 8-битным то разницы нет, тем более в штучном производстве.
            +5
            Основываясь на немного завышенных ценах чипдипа:
            Один из недорогих — PIC10F200T-I/OT — 59 рублей, потребление 100 nA
            Использованный в статье STM32F031G4U6 — 72 рубля, потребление 700 nA

            У обоих потребление в Standby хоть и сильно различается, но достаточно малое, чтобы обычной батарейки cr2032 емкостью 85мА/ч хватало на несколько лет, светодиоды в актином режиме будут кушать больше.
            При этом изготовление платы и прочий мелкий обвес можно принять за условно постоянную сумму. Итого?

            Разница в цене ядра системы — 13 рублей. При этом если в конкретном случае уже налажен тулчейн под STM32 и есть опыт разработки, то под PIC — надо курить даташиты, настраивать компиляцию, возможно искать программатор. Оно того стоит?

            Немного напоминает анекдот
            Старая курица спрашивает у молодки: хозяин почем твои яйца продает?
            Молодка: 50руб/дес.
            Курица: ты несись крупнее и твои яйца, как и мои хозяин будет по 60руб/продавать. Молодка: ну вот еще, буду я ж*** рвать из за 10 руб.
              +1
              Если уж упариватся по бюджетности то уж типа такого брать:
              "- The 3 Cent Microcontroller!"
              youtu.be/VYhAGnsnO7w

              А PIC сравнимо с STM стоит, только фактически это уже устаревшие МК и нет смысла вкладыватся в их изучение
              +3

              А зачем для хобби разбиратся с несколькими семействами МК если STM32 освоен и все подготовлено? (Ide, программатор, код инициализации периферии итд)
              ARM полюбому универсальнее

                0
                И при том, если он (STM32) есть в наличии)
                0
                Можно и так сделать, только вот зачем? Обменивать хоть сколько-нибудь значительное время своей жизни на выгоду в ошеломительных рублей 50 не очень-то разумно.
                  0
                  У меня просто напрашивается только один восьминогий (или шестиногий) корпус и светодиоды (и батарейка, как же без неё). Всё остальное- излишество.
                    0
                    Ой, да лаадно! NE555. Шевелите мозгами, инженеры!
                  +1
                  Делал подобное на ардуине для своего 5летнего, но с пищалкой по окончанию и стандартным диодом для мигания секунд, на 3 минуты.
                  Как выяснилось в процессе эксплуатации — нужна еще пауза, чтоб в процессе чистки можно было отлучиться (почему во время чистки зубов его приспичивает в туалет?), сделал паузу по кнопке.
                  Ардуина была из отбраковки — она померла через месяц (опять стал греться стабилизатор). Поскольку с корпусом ничего так и не придумал — купил электронный кухонный таймер за 300р, там все готовое было.
                    0
                    я не понимаю, зачем нужен таймер. если условно разделить пасть на 4 зоны, то каждую нужно чистить с трех сторон (внутри, снаружи, сверху). за это время даже больше 2-х минут пролетит. у меня уходит 5.
                      0
                      Это не соревнование, если что. Чистить зубы по 5 минут 2 раза в день, да ещё наверняка абразивной пастой — не лучшая идея в долгосрочной перспективе.
                        0
                        щетка мягкая. если пару раз формально махнуть, то думаю перспективы будут еще печальнее.
                        0
                        Вроде по рекомендации стоматологов нужно чистить 2-3 минуты. Зависит от количества зубов, наличия скоб и т.д. У детей нет 8-ок, а у младшей вообще еще только молочные, поэтому остановился на 2 мин. У детей немного другая логика чистки зубов. Сначала нужно вообще пожевать щетку.
                        ЗЫ. Кстати, моя щетка умеет подавать сигнал раз в 30с и раз в 15с, на выбор. Далее идет длинный сигнал через 2 мин.
                        0

                        Для тех, кто не сильно дружит с разработкой электроники, но все же хочет — набор для пайки "электронные песочные часы" с алишки. Засовываются в красивый корпус, подстроечником настраивается время чистки и ура. В процессе отсчета светодиодики "ссыпаются" с верхней части в нижнюю.

                        0
                        Не понял, а пошто Вы под пузом МК полигон маской закрыли? Чё, так можно было?
                        Ой! Не та модель корпуса…
                        +3
                        Я вообще из тех, кто не видит ничего плохого по стрельбе из пушки по воробьям. Особенно когда нужно убить несколько воробьёв здесь и сейчас и только. Но в законченном устройстве, на который вы даже не поленились заказать платы, представляющий собой просто таймер а-ля песочные часы, на батарейном питании, использовать 32-битный ARM-овском контроллер, это слишком.

                        А кстати, что плохого в обычных песочных часах? Не требует батарейки, и смотреть за падающим песком весело.
                          0
                          Платы я пристыковал к другому заказу, поэтому я потратил только время на разработку своей платы, и на софт — это пара часов. Мне это нравится — это такой проект, который на пару часов отвлек меня от основного.

                          Песочные часы не приклеить к стенке. Пусть это будет доводом)
                            +1

                            Песочные часы разбиваются, дети такой себе эксплуатант

                              +1
                              Какая же пушка с F0 серии?
                              по мнению ST это «Entry-level Arm»
                              Область применения:
                              «are particularly suited for cost-sensitive applications.» —

                              www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f0-series.html

                              Эти stm-ки в каждом втором копеечном гаджете
                              И с энергоэфективностю у них все хорошо. Какая разница что там 32 бита?

                              Здесь же не Cortex-A с линуксом на борту
                                +1
                                Ну вы же не понимаете! 32! бита! Не 8, а 32! А светодиодов 4. Куда еще 28 бит деть, а?
                              +2
                              Девайс красиво и лаконично сделан, не-ардуинщина, мощное ядро — в общем, приятно посмотреть, и можно порадоваться за автора. А то, что реализована такая простая функция — это на самом деле неважно. На этом же железе можно сделать какую-нибудь игру типа проверки скорости реакции — жаль, пищалку автор не добавил. И вообще, таймер можно сделать настраиваемым — например, многократным касанием входить в режим программирования, дальше задавать общий интервал, делить его внутри на 4 части — для каждого полуряда зубов. Такое уже на RC-цепочках не сделать :)
                                +2

                                Крутая штука получилась, приятно выглядит.
                                Если надумаете вторую версию, у stm некоторые микроконтроллеры имеют на борту собственный touch модуль (TSC), например, stm32f042. Его использование должно быть энергоэффективнее, чем внешние микросхемы.

                                  0
                                  Спасибо!
                                  +1
                                  А насколько она влагоустойчива? Если залить водой с мокрых рук?
                                    0
                                    Я ее лаком залил. Попозже добавлю итоговое фото. Само контакты батарейки не защищены, но до них и не добраться.
                                    +7
                                    И плату развел, и сам спаял, и контроллер в UFQFPN но все равно народ ворчит.
                                    А я вот плюсану, хотябы за то, что не очередная ардуина и схема в нормальном виде в посте, а не как сейчас модно, комиксом для полоумных.
                                      0
                                      Сенкс! Рад что понравилось)
                                        0
                                        А что не так с Ардуино-то?
                                        +1
                                        Поддержу автора. 32-битный контроллер использовать кошерно, хотя бы просто потому что они стоят копейки, но гораздо универсальнее, чем 8-битные. За дизайн с отпечатком отдельный респект, хотя я изначально подумал, что это реальный датчик, который отличает людей по отпечатку (например, чтобы хранить историю кто как долго чистил зубы, не пропускал ли чистку и т.п.)
                                          0
                                          Спасибо!
                                          Вызов принят! (где-то валялся сканер отпечатка)
                                            +1
                                            ну и чтобы 2 раза не вставать — тогда и приложение для смартфона — с графиками, ачивками и т.п.
                                          0
                                          Корпуса еще не хватает, а то можно залить водой случайно. Можно на 3D принтере сделать что-нибудь прикольное в виде зуба или головы робота
                                            +1
                                            Чтобы дети пихали палец в рот монстра с зубами! Идея)

                                          Only users with full accounts can post comments. Log in, please.