Умные часы своими руками за 1500 рублей

Умные часы своими руками за 1500 рублей Началась эта история с того, что начитавшись постов с тегом DIY я решил обзавестись набором МК + отладочная плата. Погуглив, узнал что самая дешевая в городе плата это LaunchPad от TI. Не долго думая, отправился за ней в магазин, и понеслась… как и у всех сначала были мигания светодиодами, потом подключение дисплея от Siemens CX75, и т.д.
Вскоре мне надоело делать что-то просто так, без цели, ради того что бы сделать. Так и возникла мысль создать себе гаджет, которым бы я пользовался постоянно.
За подробностями прошу под кат.

Обычно я хожу по улице в наушниках и не слышу звонка телефона, да и связка телефон + чехол + карман + ходьба = вибрации не чувствуется. И я придумал для себя гаджет: информатор об смс и звонках в виде часов/браслета. Опять же идея не нова, и в магазинах куча подобного хлама, но хотелось, во первых, сделать самому, а во вторых, все же дешевле получается. Первый блин, как говорится, комом:
Умные часы своими руками за 1500 рублей
«Не знаю, мои часы время не показывают.» (с)
Состав простой: МК, BT, диоды, стабилизатор напряжения, вибромотор, аккум, корпус от старых часов. Для него было написано приложение для android, и небольшая прога для МК. Чудо зверь, которому уже месяцев 6, который меня выручал и не раз.
Что делает прога на android: коннектимся по BT с часами, отправляем “1” — коннект прошел, запускаем сервис и прослушиваем входящие смс и звонки. При приеме оного, отправляем по BT идентификатор события “2” — смс, “3” — звонок.
Что делает прога на МК: при приеме символа с BT («1»,«2»,«3») включаем определенную последовательность вкл/выкл индикации и вибро.
Ни о каком режиме экономии энергии тогда я и не задумывался, да и о том, что стабилизатор работает на напряжениях 3,6 — 6 В тоже как то забыл выяснить. В итоге одного заряда аккума хватает на рабочие сутки, при условии что «часы» постоянно соединены по BT.
Месяца три назад я решил взяться за эту идею основательно и добавить функционал, которого не хватает: полноценные часы, отображение имени звонящего, текст и отправитель смс, возможность перепрошивки. С последним думал возникнут проблемы, потому как МК перепрошивается по Spy-Bi-Wire интерфейсу, а тянуть 3 пина на выход корпуса не хотелось, но потом вычитал в datasheet что у МК есть режим bootstrap Loader (BSL), позволяющий прошивать его через UART интерфейс.

Внутренности


Что мне понадобилось из деталей, что пришлось купить:

Умные часы своими руками за 1500 рублей
Сначала хотел поставить МК в корпусе QFN, но потом отказался, и взял в корпусе tssop28. Его проще разводить, так как под корпусом еще есть место.
Название детали
Назначение
Стоимость
msp430g2553ipw28
микроконтроллер
60
lir3048-lby2
аккумулятор
77
ds1337u+
часы реального времени
78
ADP3338AKCZ-3.3-RL7
стабилизатор
124
CP2102-GMR
USB-UART
84
MCP73831T_2ACI_OT
зарядка li-ion, li-pol
54
HC-06
bluetooth
120
LCD nokia 1202
экран
33

Итого: 630р.

Все детали покупались в городе, кроме BT – его заказывал из Китая, если покупать в городе, можно найти за 350р.
Остальное: mini usb, кнопки, вибромотор взял от старого коммуникатора; кварц и пассивка нашлись в закромах родины. Если покупать эту мелочевку, выйдет от силы рублей 300.

Детали есть, что дальше? Дальше собирался макет и писалась программа для МК. Отказавшись от Energia, я перешел на CCS 5.3 free версия с ограничением кода в 16kb чего вполне хватает, учитывая объем памяти МК (16kb). В МК задействованы: 2 таймера и WDT+ в режиме интервального таймера, HW I2C, ADC10, BSL, FLASH. Особое внимание уделялось потреблению устройства. В итоге 30 мА при полной нагрузке (BT не соединен, МК в штатном режиме, подсветка на максимум), 8 мА в ждущем (BT подключен, МК в режиме низкого потребления, подсветка отключена) и меньше 1 мА в режиме только часы (BT выключен, МК в режиме низкого потребления, подсветка отключена). Емкость аккума 200мА, так что одного заряда хватает на сутки и более. Одновременно с программированием МК, дорабатывалась программа на android, а именно: при входящем звонке, ищется соответствие номера в телефонной книжке и если соответствие найдено, заменяем номер на имя и отправляем по BT. А при поступлении смс отправляем еще и текст сообщения.
Умные часы своими руками за 1500 рублей

Плата


После написания программы и проверки жизнеспособности собранного макета, я приступил к разводке платы, вытравливанию, лужению и пайке.
  1. Умные часы своими руками за 1500 рублей
  2. Умные часы своими руками за 1500 рублей
  3. Умные часы своими руками за 1500 рублей
  4. Умные часы своими руками за 1500 рублей
  5. Умные часы своими руками за 1500 рублей
  6. Умные часы своими руками за 1500 рублей
  7. Умные часы своими руками за 1500 рублей

На всю плату потребовалось 6 перемычек, 5 конденсаторов, 8 резисторов, 1 светодиод. Включаем… работает!

Корпус


Наверно это было самое сложное. Дремель, оргстекло, дихлорэтан, паста гои: адская смесь… я не буду особо описывать процесс изготовления корпуса (да и фото я забыл сделать). 2 слоя 6мм оргстекла на нижнюю часть корпуса и 2мм оргстекло и защитное стекло экрана от старого фотика на верхнюю. В процессе вытачивания корпуса возник вопрос о креплении часов на руку, обычные ремешки для часов были бы слишком запарными с их механизмами крепления, поэтому я купил вот такой за 350р.:

Умные часы своими руками за 1500 рублей

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

Вот видео работы:


И напоследок распишу весь функционал моих часов:
  • отображение даты и времени как основная функция;
  • обновление даты и времени с телефона;
  • изменение даты и времени вручную;
  • подключение по BT к Android телефону;
  • отключение питания BT при потере связи для экономии заряда аккумулятора;
  • отображение заряда аккумулятора;
  • информирование о входящем смс с выводом текста и именем отправителя на экран;
  • информирование о входящем звонке с выводом имени звонящего на экран;
  • отображение текста, набранного в поле программы на android;
  • изменение настроек экрана (яркость и время выключения подсветки, контрастность экрана);
  • возможность перепрошивки устройства.

ИТОГО: За 1500 деревянных и 3 месяца работы в свободное от работы и учебы время от идеи до воплощения.

Заключение


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

Надеюсь, данный пост вдохновит и вас сделать что-нибудь полезное.

P.S. Жду с нетерпением вопросов и комментариев!
Источник: http://habrahabr.ru/post/218495/