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





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



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

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


Рис.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:


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

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

Вы можете помочь и перевести немного средств на развитие сайта

Теги:



Комментарии (41):

  1. latonita
    /#21426444 / +1

    Ну и как обычно, вместо MCU можно простую RC-цепочку и пару компараторов, чтобы отслеживать 120,60,30 секунд)

    • the_bat
      /#21426466

      Да ну, STM32F031G4 в компэле стоит 71р за штуку) А как же сначала поморгать всеми и потом тоже?)

  2. jakushev
    /#21426502 / +1

    За идею — интересно, реализация (внешний вид) — вроде тоже ничего, но использовать для такой примитивной по функционалу железки 2 микросхемы и 32 разрядный!!! контроллер… Из серии: Мне тут гвоздик забить надо. Беру недорогой электронный микроскоп…
    Раз раскритиковал — предлагаю: недорогой 8 битный 8 ногий PIC, 1 вход — сенсор, реализуем программно, 4 ноги — светики, 1 нога — пищалка, если нужно…

    • balamutang
      /#21426624 / +1

      Ну реализация и плата крутая, чего уж там.
      Битность важна не сама по себе, а по цене. Если контроллер сравним по цене с 8-битным то разницы нет, тем более в штучном производстве.

      • holomen
        /#21437742

        В штучной поделке не важна ни битность ни цена, а наличие на полке и опыт работы. Я недавно в одну поделку вместо мультивибратора (ну не оказалось на той самой полке пищалки с генератором) на транзисторах поставил АЖ целый(!) микроконтроллер(!!). Зато бонусом получил заодно контроль аккумулятора и автоотключение. А по площади на плате получилось сравнимо с двумя транзисторами, двумя конденсаторами и 4 резисторами. Вот сейчас думаю что не стоило жадничать и ставить нувотон, а поставить стм32 и использовать его возможности touch sensor — еще и сенсорная кнопка получилась-бы и автоматически включалось-бы когда беру в руки. Но переделывать не буду уже.

    • remzalp
      /#21428462

      Основываясь на немного завышенных ценах чипдипа:
      Один из недорогих — PIC10F200T-I/OT — 59 рублей, потребление 100 nA
      Использованный в статье STM32F031G4U6 — 72 рубля, потребление 700 nA

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

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

      Немного напоминает анекдот
      Старая курица спрашивает у молодки: хозяин почем твои яйца продает?
      Молодка: 50руб/дес.
      Курица: ты несись крупнее и твои яйца, как и мои хозяин будет по 60руб/продавать. Молодка: ну вот еще, буду я ж*** рвать из за 10 руб.

      • VolodjaT
        /#21430134

        Если уж упариватся по бюджетности то уж типа такого брать:
        "- The 3 Cent Microcontroller!"
        youtu.be/VYhAGnsnO7w

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

    • VolodjaT
      /#21428726

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

      • the_bat
        /#21429254

        И при том, если он (STM32) есть в наличии)

    • EighthMayer
      /#21429400

      Можно и так сделать, только вот зачем? Обменивать хоть сколько-нибудь значительное время своей жизни на выгоду в ошеломительных рублей 50 не очень-то разумно.

    • seri0shka
      /#21433234

      У меня просто напрашивается только один восьминогий (или шестиногий) корпус и светодиоды (и батарейка, как же без неё). Всё остальное- излишество.

      • xztau
        /#21434356

        Ой, да лаадно! NE555. Шевелите мозгами, инженеры!

        • vvzvlad
          /#21436730

          Совсем уже разленились со своей электроникой. Нет бы простой механический таймер взять.

  3. balamutang
    /#21426590

    Делал подобное на ардуине для своего 5летнего, но с пищалкой по окончанию и стандартным диодом для мигания секунд, на 3 минуты.
    Как выяснилось в процессе эксплуатации — нужна еще пауза, чтоб в процессе чистки можно было отлучиться (почему во время чистки зубов его приспичивает в туалет?), сделал паузу по кнопке.
    Ардуина была из отбраковки — она померла через месяц (опять стал греться стабилизатор). Поскольку с корпусом ничего так и не придумал — купил электронный кухонный таймер за 300р, там все готовое было.

  4. CoolCmd
    /#21426704

    я не понимаю, зачем нужен таймер. если условно разделить пасть на 4 зоны, то каждую нужно чистить с трех сторон (внутри, снаружи, сверху). за это время даже больше 2-х минут пролетит. у меня уходит 5.

    • rinat_crone
      /#21426756

      Это не соревнование, если что. Чистить зубы по 5 минут 2 раза в день, да ещё наверняка абразивной пастой — не лучшая идея в долгосрочной перспективе.

      • CoolCmd
        /#21426774

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

    • the_bat
      /#21426886

      Вроде по рекомендации стоматологов нужно чистить 2-3 минуты. Зависит от количества зубов, наличия скоб и т.д. У детей нет 8-ок, а у младшей вообще еще только молочные, поэтому остановился на 2 мин. У детей немного другая логика чистки зубов. Сначала нужно вообще пожевать щетку.
      ЗЫ. Кстати, моя щетка умеет подавать сигнал раз в 30с и раз в 15с, на выбор. Далее идет длинный сигнал через 2 мин.

  5. Mishootk
    /#21426726

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

  6. xztau
    /#21427460

    Не понял, а пошто Вы под пузом МК полигон маской закрыли? Чё, так можно было?
    Ой! Не та модель корпуса…

  7. azudem
    /#21427476

    Я вообще из тех, кто не видит ничего плохого по стрельбе из пушки по воробьям. Особенно когда нужно убить несколько воробьёв здесь и сейчас и только. Но в законченном устройстве, на который вы даже не поленились заказать платы, представляющий собой просто таймер а-ля песочные часы, на батарейном питании, использовать 32-битный ARM-овском контроллер, это слишком.

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

    • the_bat
      /#21429278

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

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

    • balamutang
      /#21430090

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

  8. gleb_l
    /#21427784

    Девайс красиво и лаконично сделан, не-ардуинщина, мощное ядро — в общем, приятно посмотреть, и можно порадоваться за автора. А то, что реализована такая простая функция — это на самом деле неважно. На этом же железе можно сделать какую-нибудь игру типа проверки скорости реакции — жаль, пищалку автор не добавил. И вообще, таймер можно сделать настраиваемым — например, многократным касанием входить в режим программирования, дальше задавать общий интервал, делить его внутри на 4 части — для каждого полуряда зубов. Такое уже на RC-цепочках не сделать :)

  9. Alexzero
    /#21428018

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

  10. Dr_Faksov
    /#21428290

    А насколько она влагоустойчива? Если залить водой с мокрых рук?

    • the_bat
      /#21429290

      Я ее лаком залил. Попозже добавлю итоговое фото. Само контакты батарейки не защищены, но до них и не добраться.

  11. Zuy
    /#21428390 / +1

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

    • the_bat
      /#21429294

      Сенкс! Рад что понравилось)

  12. bellerofonte
    /#21428594

    Поддержу автора. 32-битный контроллер использовать кошерно, хотя бы просто потому что они стоят копейки, но гораздо универсальнее, чем 8-битные. За дизайн с отпечатком отдельный респект, хотя я изначально подумал, что это реальный датчик, который отличает людей по отпечатку (например, чтобы хранить историю кто как долго чистил зубы, не пропускал ли чистку и т.п.)

    • the_bat
      /#21429298

      Спасибо!
      Вызов принят! (где-то валялся сканер отпечатка)

      • bellerofonte
        /#21429458

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

  13. foxairman
    /#21429300

    Корпуса еще не хватает, а то можно залить водой случайно. Можно на 3D принтере сделать что-нибудь прикольное в виде зуба или головы робота

    • the_bat
      /#21429310

      Чтобы дети пихали палец в рот монстра с зубами! Идея)