Найти тему
AndrewDIY

SmartGlass своими руками на Arduino

Оглавление

Всем привет! На сегодняшний день умные очки являются известным, но очень дорогим и весьма громоздким гаджетом. Представляю мою собственную и ,как я считаю, достойную попытку по созданию полезных, удобных и практичных умных очков на плате ESP32 wroom 32 (Arduino), выполняющих функцию "второго экрана" вашего телефона.

>Внешний вид

Корпус, распечатанный на 3D принтере, легко одевается на любые очки. В большинстве случаев стекла таких очков очень плохо отражают свет, поэтому, для лучшего качества изображения, я рекомендую использовать глянцевую защитную пленку для телефона, вырезанную по форме стекла очков и зафиксированную клеем по контуру в нескольких местах.

Модуль легко снимается. Для лучшего сцепления с дужкой очков можно приклеить двухсторонний скотч на внутреннюю часть держателей.
Модуль легко снимается. Для лучшего сцепления с дужкой очков можно приклеить двухсторонний скотч на внутреннюю часть держателей.

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

Из-за преломления света в линзе, которая располагается между дисплеем и стеклом, картинку на дисплее приходится выводить в зеркальном виде!

>Функции и управление

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

>Последующие изображения (кроме мобильного приложения) были созданы в программе из-за неспособности камеры передать качество дисплея. В действительности, все представленные функции совпадают и по функционалу, и по дизайну<

Загрузка идет примерно секунду и сделана только для красоты (ее можно отключить програмно).
Загрузка идет примерно секунду и сделана только для красоты (ее можно отключить програмно).

Для того, чтобы использовать очки, необходимо установить небольшое мобильное приложение, разработанное под них в Android Studio. Оно находится в на страничке проекта на GitHub.

Главный экран мобильного приложения.
Главный экран мобильного приложения.

Чтобы подключить очки к нашему телефону, необходимо записать MAC-адрес, который уже выведен на экран гаджета. Сделать это нужно всего 1 раз, т.к. приложение его запомнит и будет автоматически вводить его в нужную строчку, даже если перезагрузить телефон. MAC-адрес выводится через некоторое время после включения очков

Когда вы ввели адрес и нажали кнопку "подключить устройство", на экране очков покажется текущее время и дата. Этот экран считается "домашним".

Домашний экран.
Домашний экран.

Чтобы не светить постоянно в глаз, очки отключают экран после 8 секунд бездействия (это значение можно поменять в коде, ссылка на которые оставлена ниже)

Управление очками осуществляется одной сенсорной кнопкой, расположенной на корпусе. Если в данный момент дисплей выключен, то одно нажатие на кнопку выводит на него последний используемый экран (если с очками не взаимодействуют более 30 секунд, то текущим экраном становится "домашний").

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

Символ паузы изменяется в зависимости от того, играет ли музыка, или нет.
Символ паузы изменяется в зависимости от того, играет ли музыка, или нет.

При открытом музыкальном плеере одно нажатие ставит музыку на паузу или наоборот. Двойное нажатие запускает следующий трек.

Следующим пунктом идут напоминания. Вы можете записать неограниченное количество напоминаний через мобильное приложение. Они тоже сохраняются и остаются после закрытия приложения.

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

Записанные напоминания сохраняются после закрытия приложения.
Записанные напоминания сохраняются после закрытия приложения.

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

Чтобы обновить данные о текущей погоде, нажмите на кнопку один раз.

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

Символ - это медалька).
Символ - это медалька).

Последним пунктом в списке идет показ уровня заряда аккумулятора телефона.

-12

Самые полезные функции очков, это вывод входящих уведомлений и звонков. В отличии от остальных пунктов, их нельзя открыть, т.к. они показываются сами.

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

Вместо отправителя, на экран может вывестись название приложения, отправившего уведомление.
Вместо отправителя, на экран может вывестись название приложения, отправившего уведомление.

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

-14

>Технические подробности

В схеме использовано 2 аккумулятора на 180 и 150 mah. Очки заряжаются с помощью кабеля usb micro примерно 20 - 30 минут. Время работы в активном режиме около 4 часов, но т.к. они использовались мной только при выходе на улицу, то без подзарядки они проработали 2 дня.

Чтобы повторить проект, вам понадобятся:

Схема подключения модулей
Схема подключения модулей

Примерная себестоимость очков составила около 1500 рублей, из которых 550 - сами очки.

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

Модули можно закрепить на двухсторонний скотч.
Модули можно закрепить на двухсторонний скотч.

Дисплей расположен под таким углом для лучшего отражения на стекле. Между дисплеем и стеклом нужно прикрепить линцу от очков виртуальной реальности google Cardboard в специальный выступ на корпусе. Нужно подобрать положение линзы так, чтобы отражение на стекле было максимально четкое и зафиксировать ее клеем.

>Загрузка программы и настройка

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

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

Для возможности загрузки скетча в собранном состоянии рекомендуется припаять к проводам 4-х пиновый разъем (gnd, tx, rx, кнопка boot (припаяна к программатору для компактности)).

Перед прошивкой очков необходимо подготовить Arduino IDE. Для этого следуйте инструкциям под скриншотами программы.

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

Теперь нужно установить мобильное приложение. В папке проекта находится готовый APK файл, он проверен на нескольких устройствах и прекрасно работает, но если вдруг что-то пошло не так, или вы захотели изучить код, то рядом с APK лежит проект для работы в Android Studio.

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

И в Arduino IDE, и в Android Studio, основные моменты кода закомментированы.

В папке находится и 3D модель корпуса в формате F3D (Fusion 360). Т.к. очки, скорее всего, у вас будут другие, то вам придется редактировать модель.

Корпус состоит из нескольких частей
Корпус состоит из нескольких частей

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

>Ссылка на проект на GitHub<

>Поддержать автора на Яндекс Деньги - 410014542304370<

#arduino #android #handmade #diy #smartGlasS #project #c++ #java