Доступные очки дополненной реальности на Arduino для чтения мультиметра
Компоненты и расходные материалы
| SparkFun Arduino Pro Mini 328 — 3.3В/8 МГц | × | 1 |
Необходимые инструменты и станки
- 3D-принтер
О проекте
Видео работающего устройства.
Пытался сделать дешёвые очки данных на Arduino для всех. Просто хотел их иметь.
Устройство работает и даже помогает избегать аварий. От идеи до рабочего прототипа ушло 4 месяца.
Вызов: конструкция из распространённых материалов. Проект больше об оптической системе для HMD. Один момент понятен: нельзя просто поставить экран перед глазами — глаз не сфокусируется.
В логах видно путь от первых тестов к текущему результату.
Оптический дизайн — самая сложная часть, но решение найдено. Стоимость прототипа ~70 евро.
Теперь у меня есть головной дисплей для высокого напряжения.
Шаг 1: Что внутри и как это работает
Принятые по Bluetooth данные выводятся на OLED-дисплей, отражаются от зеркала, проходят через линзу и вы видите изображение в маленьком прозрачном акрилковом стекле.

Шаг 2: Линза — самая сложная часть
Сделал очки работающими, но это был метод проб и ошибок. Прошёл «краш-курс» по оптике.
Сначала понял разницу между реальным и виртуальным изображением линз. Важно: глаз фокусирует объекты не ближе 25 см. Нужен был расчёт по формуле линзы: 1/f = 1/o + 1/i, где f — фокусное расстояние, o — расстояние от объекта до линзы, i — расстояние виртуального изображения.

Использованные значения:
- f = 10 см
- o = 7,3 см
Получаем i = -27,03 см (виртуальное изображение всегда отрицательное) и увеличение M = 3,7.
Калькулятор линз: hyperphysics
Шаг 3: Альтернативные линзы
Линзу сложно найти. Использовал линзу от дешёвого картона (фокус 100 мм, не 45 мм как у Google Cardboard).
Обновление: нашёл хорошее решение — малая френелевская линза (FL ≈ 110 мм). Дешёвая, легко найти, можно резать ножом. Пример: Amazon.
Альтернатива — линза от головного лупы (обычно 3-5 линз, одна с FL 110-120 мм). Чуть тяжелее и сложнее резать.
Шаг 4: Электроника


Все электронные детали для очков. В финальной версии использовал меньшую батарею. Для 280 мАч аккумулятора заменил резистор 3к на 5,6к на зарядном модуле — ток заряда снизился до ~200 мА.
Шаг 5: Корпус

Первые тесты — корпус из картона. Дешево и работало хорошо.
Финальная версия — 3D-печать. Модель в 123D Design. Нужны доработки, но неплохо для первой попытки.

STL-файлы: FLDXAHDIWMQXWRP.stl, FI9NE6GIWMQXWRV.stl, F72OH47IWMQXWRW.stl, FSAHDV3IWMQXWS2.stl, F7DF5AJIWMQXWSA.stl
Шаг 6: Подключение мультиметра Owon B35T к очкам
Мультиметр имеет Bluetooth 4.0 — можно подключить к телефону/планшету. Пришлось реверс-инжинирить последовательный протокол.
Настройка BT-модуля: простой Arduino-скетч для отправки/приёма AT-команд. Сначала перевод модуля в центральный режим:
AT+ROLE1 // модуль = central
AT+RESET // сброс
AT+SHOW1 // показывать имя в ответе
AT+IMME0 // автоподключение
AT+FILT0 // сканировать устройства
AT+DISC? // показать устройства
AT+CONE0 // подключиться к Owon B35T (MAC-адрес)
Софт на GitHub: github.com/awall9999/Arduino-Glass
Шаг 7: Финальные Arduino Data Glasses



Видно, как все детали помещаются в корпус. Пробовал разные держатели для акрилового рефлектора.
Список деталей:
- 1× Arduino Pro Micro 3.3V 8 МГц
- 1× Bluetooth 4.0 BLE модуль HM-11
- 1× LiPo 280 мАч + зарядка 50-500 мА
- 1× Плано-выпуклая линза 30 мм, FL 100 мм (aliexpress)
- 1× Пластиковое зеркало 1 мм
- 1× Micro OLED 0.66″ 64×48 px (SparkFun)
- 1× Короб от CD-диска (для рефлектора)
Софт на GitHub, видео на YouTube.
Шаг 8: Фото и видео первых шагов
Тесты с разными линзами: первое Bluetooth-видео, видео одного из прототипов.
Планы:
- Дописать софт для автоподключения к Owon мультиметру.
- Добавить индикатор батареи на дисплей (BLE-модуль поддерживает).
- Разные рефлекторы с тонировкой и зеркальной фолгой для работы на ярком свете.
- Уменьшить вес, переработать корпус.
- Протестировать с дисплеем 0.49″.
Производственный процесс
- Как визуализация данных повышает эффективность производителей оборудования
- Панель управления полётным симулятором 2020 на Arduino Nano: LCD и CDI-дисплеи
- Панель переключателей и LED для Microsoft Flight Simulator 2020 на Arduino
- Беспроводная передача данных по магнитному полю на Arduino с 3D-сенсором Infineon
- Логгер температуры и влажности на Arduino с DHT11 и Ethernet Shield
- Умная система мониторинга температуры для школ: точно, в реальном времени, безопасно
- Библиотека 8-битного порта ввода-вывода для Arduino — расширение цифрового управления
- Arduino 64-клавишная прототипная клавиатура: матрица на сдвиговых регистрах
- Гальванически разделённый аналоговый вход для Arduino на LM331 и оптопаре 4N25
- Набор для создания робота с умной внутренней навигацией на базе Arduino