НОВОСТИ Таймер чистки зубов

BDFINFO2.0
Оффлайн
Регистрация
14.05.16
Сообщения
11.398
Реакции
501
Репутация
0
Доброго времени суток, Хабр!

kf9-jwevd_sekilnlp_-ervkxgw.jpeg


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



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

ynz0dieaj7n70tdbqwmqspauruu.png

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

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

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

hz0cqmbl3qxqpn2rqakpknmddu8.jpeg

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

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

muuut7av1aj7acl9fly_vypjub8.jpeg

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

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

1ou3irruebs43lawnqmwx4hqc0u.jpeg

Рис.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, и в режиме работы сделать ее минимальной.

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

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