Bluetooth часы своими руками

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

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

Обычно я хожу по улице в наушниках и не слышу звонка телефона, да и связка телефон + чехол + карман + ходьба = вибрации не чувствуется. И я придумал для себя гаджет: информатор об смс и звонках в виде часов/браслета. Опять же идея не нова, и в магазинах куча подобного хлама, но хотелось, во первых, сделать самому, а во вторых, все же дешевле получается. Первый блин, как говорится, комом:

«Не знаю, мои часы время не показывают.» (с)
Состав простой: МК, 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 интерфейс.

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

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


Сначала хотел поставить МК в корпусе 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. А при поступлении смс отправляем еще и текст сообщения.

Читайте также:  Как делать сундуки своими руками

Плата

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

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

Корпус

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

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

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

И напоследок распишу весь функционал моих часов:

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

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

Заключение

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

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

Источник

Умная техника своими руками: поэтапное создание смарт-часов на ESP8266

Ещё в 1972 году компания Hamilton Watch разработала первые умные часы под маркой Pulsar. Изначально у таких часов было довольно мало вычислительной мощности. Её хватало только на калькуляторы, игровые устройства и тому подобные незамысловатые гаджеты. Но с развитием технологий мощность начала стремительно увеличиваться. Современные смарт-часы — это полноценные компьютеры. Некоторые могут работать автономно, а другие функционируют только в сопряжении со смартфоном.

В этой статье будет описан принцип создания собственных смарт-часов на базе популярного микроконтроллера ESP8266.

Определение функциональности часов

В этой статье мырассмотрим часы, которые смогут выводить текущее время и дату, отображать погоду в вашем городе и позволят удалённо управлять Wi-Fi реле. Это означает, что прямо с часов вы сможете управлять любым прибором, подключённым к розетке, будь то музыкальный центр или электрочайник.

Чтобы получать текущее время, необязательно использовать модуль реального времени. Если смарт-часы будут иметь доступ к интернету, то понадобится ближайший NTP-сервер. С его помощью можно достаточно точно узнать текущее время. Чтобы контролировать Wi-Fi реле в часах, будет использоваться Blynk.

Читайте также:  Гидроизоляция крыши дома под профнастил своими руками

Blynk — это облачный сервис, позволяющий с помощью приложения для Android или iOS контролировать устройства на Arduino, Raspberry Pi или же, в данном случае, ESP8266.

Подбор элементов

В часах элементами управления будут 3 тактовые кнопки. Экран тут используется доступный — двухцветный OLED 0’96. Для питания нужен аккумулятор, а для зарядки — специальный контроллер. В этих часах используется литий-ионный аккумулятор и соответствующий для него контроллер TP4056.

Не стоит забывать, что ESP8266 работает на 3-вольтовой логике. Для получения необходимого напряжения питания можно использовать любой доступный стабилизатор напряжения на 3,3 В. Остаётся лишь немного деталей: разъём для зарядки, переключатель, несколько светодиодов, набор резисторов и пара конденсаторов.

Необходимые для сборки часов элементы

Создание и распайка печатной платы

Если хотите, чтобы итоговый вариант часов был надёжным и компактным, лучше всего распаять часы на печатной плате. Для создания рисунка печатной платы подойдут, к примеру, Sprint Layout или же EasyEDA.

Вы можете создать печатную плату в домашних условиях либо заказать её у специализирующихся сервисов — те же EasyEDA или JLCPCB. К этим смарт-часам в свободном доступе уже есть Gerber PCB файлы печатной платы.

После получения/создания платы стоит распаять на ней все компоненты. Монтаж SMD компонентов удобнее делать паяльной пастой и паяльным феном. Но такую работу можно будет выполнить и обычным паяльником с тонким жалом.

Подготовка прошивки часов

После того, как все компоненты будут распаяны, можно приступить к программной части. Вначале следует разобраться с API для получения погоды. К примеру, можно использовать Weather API Yahoo.

Примечание С января 2019 года процесс работы с Weather API Yahoo немного изменился. Однако API всё ещё в бесплатном доступе. О том, как получить доступ, детально расписано на их странице.

После получения ссылки с API можно приступить к прошивке микроконтроллера. Сам скетч для Arduino можно взять здесь.

В первую очередь подставьте ваш код аутентификации Blynk в char auth[] . Этот код будет выслан вам на почту сразу после создания нового приложения в Blynk.

Затем введите SSID и пароль от вашей точки доступа Wi-Fi в char* ssid и char* password соответственно.

Скопированную из Weather API ссылку необходимо вставить в const String url .

В BLYNK_CONNECTED() можно вставить код аутентификации Blynk другого ESP модуля, управляющего электрическим прибором (если такой имеется). Этот процесс можно увидеть в видео о создании Wi-Fi реле. И под конец не забудьте в TimeChangeRule указать параметры вашего часового пояса (в методе tellTime() ).

Прошивка микроконтроллера

Теперь в Arduino IDE нужно установить все необходимые библиотеки:

Чтобы прошить ESP8266, нужно подключить его к мосту USB-UART. Все необходимые контакты уже выведены на торец печатной платы. Обратите внимание, что RX контакт одного подключается к TX контакту другого и наоборот. Более подробно о прошивке микроконтроллеров серии ESP8266 можно почитать тут:

Потом в Arduino IDE нужно будет выбрать текущую плату и COM-порт. Зажав кнопку flash на микроконтроллере, начните прошивку. После удачной прошивки остаётся лишь присоединить аккумулятор и ремешок.

Включите часы. Должна высветиться надпись «Connected to Wi-Fi». Если это так, то микроконтроллер прошит, а значит, ваши смарт-часы готовы.

При нажатии на среднюю кнопку на часах будет отображаться текущая дата, время и температура. Две боковые кнопки управляют двумя подключёнными к Wi-Fi реле электрическими приборами.

Источник

Умные часы на Arduino, поддерживающие Bluetooth

Автор статьи, перевод которой мы сегодня публикуем, рассказывает о том, как собрать умные часы, основанные на Arduino и поддерживающие связь с мобильным телефоном по Bluetooth. Часы оснащены аккумулятором. От одной зарядки они работают около шести часов.

Читайте также:  Ведро под мусор своими руками

Компоненты

Вот перечень аппаратных и программных компонентов проекта.

  • Плата Arduino Nano R3.
  • Модуль OLED-дисплея: ElectroPeak 0.96» OLED 64×128 Display Module.
  • Bluetooth-модуль: HC-05 Bluetooth Module.
  • Вибромотор на 5В.
  • Кнопка SparkFun Pushbutton switch 12mm.
  • Переключатель 636NH/2.
  • Зарядный модуль.
  • Перезаряжаемая батарея на 3,7 В.

Программы:

  • Arduino IDE.
  • MIT App Inventor 2.

Инструменты и расходные материалы

  • Паяльник.
  • Бессвинцовый припой.
  • Клеевой пистолет.

Обзор проекта

Я сделал Arduino-часы с поддержкой Bluetooth, которым посвящён этот материал, после того, как проработал много материалов, посвящённых подобным проектам. Я оснастил мои часы некоторыми дополнительными возможностями. Среди них — работа с заметками, калькулятор, и возможности, основанные на взаимодействии часов с телефоном: получение SMS, сведений о звонках, поиск телефона. Часы оснащены аккумуляторной литий-полимерной батареей (3,7 В, 500 мАч), которую можно перезаряжать. Зарядка длится около 30 минут, её хватает примерно на 6 часов. Это я считаю максимальным временем работы от одной зарядки. Часы запрограммированы так, чтобы их дисплей выключался бы через 15 секунд бездействия.

Демонстрация работы часов

Сборка проекта

▍Шаг 1: подготовка кода для Arduino

Сначала нужно открыть код проекта в Arduino IDE и проверить его работоспособность на Arduino Nano. Код приведён ниже. Вы можете модифицировать его так, как вам нужно.

▍Шаг 2. Создание Android-приложения с использованием MIT App Inventor 2

Откройте сайт MIT App Inventor, создайте бесплатную учётную запись и нажмите на кнопку Create Apps! . Далее — нажмите на кнопку Start new project .

Ниже показан внешний вид созданного мной приложения. Справа можно видеть список компонентов, использованных в приложении.

Приложение, созданное в MIT App Inventor

После того, как сформирован интерфейс приложения, нужно щёлкнуть по кнопке Blocks , которая находится в правой верхней части экрана. Добавьте в проект, на Screen1 , блоки, показанные на следующем рисунке. Используйте Bluetooth-адрес телефона везде, где найдёте закрашенные строки.

Общий вид раздела Blocks для Screen1

Левая часть раздела Blocks для Screen1 (оригинал)

Правая часть раздела Blocks для Screen1 (оригинал)

Теперь создайте ещё пару экранов приложения и дайте им имена OnScreen и OffScreen . Ниже показаны разделы Blocks для этих двух экранов.

Раздел Blocks для OnScreen

Раздел Blocks для OffScreen

Эти экраны используются в системе домашней автоматизации. Если у вас есть URL, к которому вы можете обратиться, вызывающий некую функцию в каком-то устройстве — вставьте этот URL туда, где на рисунках находятся закрашенные строки.

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

▍Шаг 3. Сборка аппаратных компонентов проекта

Вот некоторые замечания по поводу сборки аппаратных компонентов проекта.

  • Пины Arduino D2 и D3 подключаются к TXD и RXD Bluetooth-модуля HC-05.
  • Пины D4, D5, D7 подключаются к кнопкам Menu (Меню), Next (Следующий) и Prev (Предыдущий).
  • Пин D9 подключается к вибромотору.
  • Пины A4 и A5 подключаются к SDA и SCL OLED-диспля с разрешением 128×64.
  • + батареи подключается к B+ зарядного модуля.
  • — батареи подключается к B- зарядного модуля.
  • Выход зарядного модуля + подключается к Vin Arduino (между ними надо поставить переключатель чтобы иметь возможность включать и отключать питание).
  • Линии 5V и GND подключаются к компонентам в соответствии со схемой.

После того, как компоненты часов собраны и проверена работоспособность проекта — можете напечатать на 3D-принтере корпус для них.

Работа с часами

Одновременное нажатие кнопок Next и Prev позволяет открыть меню. Для выбора пункта меню используется кнопка Menu. Для переключения пунктов меню используются кнопки Next и Prev.

Планируете ли вы создать какое-нибудь носимое устройство, пользуясь идеями и технологиями, представленными в этом материале?

Источник

Оцените статью