EDTracker – DIY head tracker своими руками

edtracker-1Это один из самых удачных проектов head tracker’ов, который я только встречал. Используются самые передовые технологии – акселерометр, гироскоп и компас, такие же, как и в гарнитурах виртуальной реальности Gear VR, Playstation VR, Oculus Rift и прочих. А для создания достаточно лишь минимального умения паять и более чем скромной суммы денег. А теперь по порядку.

Варианты

Официальный сайт предлагает несколько:

  1. Собранная PRO-версия за £45 (~4500 руб. на момент написания статьи)
  2. Сборка на основе фирменной платы за £5.00 (соответственно 500 руб.)
  3. Сборка на основе платы для прототипирования, комплект за £17 (1700 руб.)
  4. Что-то, что Вы придумаете сами)

Конечно же я выбрал последний вариант.

Необходимые материалы

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

Нам понадобится:

  1. Arduino Pro Micro, а точнее ее китайский клон за $4.42 (300 руб. с доставкой, на момент покупки). Важно купить плату именно с ATmega32U4.
  2. MPU-9250 за $5.10 (350 рублей с доставкой, на момент покупки)
  3. Кабель Micro USB, скорее всего у Вас найдется такой дома, я купил плоский 3-метровый за $1.65 (90 рублей)
  4. Любая миниатюрная тактовая кнопка для поверхностного монтажа (без торчащих ножек) – стоит около 10 рублей в Российских магазинах

Еще нам понадобятся несколько сантиметров тонкого монтажного провода (я предпочитаю МГТФ), двухсторонний скотч (рекомендую 3M для уличного применения), широкая термоусадка (не обязательно), капля суперклея и, совсем уж не обязательно, корпус разъема на 2 контакта (2P Dupont 2.54mm).

Итоговая стоимость: 750 рублей.

Сборка

Есть очень простая и подробная официальная инструкция. Нам же из нее нужна только таблица соединений.

edtracker-connections

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

edtracker-1

Тут я бы дал две рекомендации. Первая: плата датчиков уже платы Arduino, а большинство подключений приходится на одну сторону (2,3,7,GNDx2), так что ее оставляем открытой (плату датчиков сдвигаем к другой стороне), а оставшиеся два провода (VCC и GND) лучше припаять до того, как склеим платы вместе, так как после этого будет уже сложнее. Вторая: сначала паять длинные провода (GND и INT), а потом уже короткие (SCL, SDA,AD0). Я, как видно на фотографии, ошибся с INT. И самое главное: не жалейте флюса! И если он нейтральный (например канифоль), то его можно не отмывать.

Кнопка просто припаивается одним концом к Arduino (10), а другим концом через провод к ближайшей земле (GND). В принципе, кнопка и так зафиксирована, но я дополнительно подклеил ее цианакрилатом.

И это все, можно пользоваться!

EDTracker DIY head tracker Arduino Pro Micro MPU-9250 MPU-9150 GY 521MPU-6050EDTracker DIY head tracker Arduino Pro Micro MPU-9250 MPU-9150 GY 521MPU-6050EDTracker DIY head tracker Arduino Pro Micro MPU-9250 MPU-9150 GY 521MPU-6050

 

 

Улучшения

Помните, я упоминал о разъеме на два контакта в самом начале? Он нужен для упора. Клеится на суперклей прямо под кнопкой. Достаточно двух маленьких капель.

EDTracker DIY head tracker Arduino Pro Micro MPU-9250 MPU-9150 GY 521MPU-6050

В принципе, мне нравится внешний вид устройства, да и испортить его довольно сложно. Но, для пущей надежности, все же спрятал его в термоусадку.

EDTracker DIY head tracker Arduino Pro Micro MPU-9250 MPU-9150 GY 521MPU-6050

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

Прошивка, калибровка и настройка

Тут все более, чем просто. Скачиваем официальное приложение EDTracker GUI, распаковываем и запускаем.

DIY EDTracker UI

Выбираем версию (EDTraket2_9250) и соответствующий порт. Если нужного порта нет, можно обновить список кнопкой “Scan Ports”. Когда выбрали соответствующий порт, запускаем прошивку кнопкой Flash. По окончании прошивки начнется стандартная 20-ти секундная калибровка гироскопа, при которой необходимо держать трекер неподвижно. Такая же калибровка проводится при каждом включении устройства.

EDTracker UI

Дальше калибровка компаса:

  1. Справа открываем кладку Magnetometr
  2. Выставляем Sensevity примерно на 75% (3/4 шкалы)
  3. Жмем Restart и начинаем вращать наше устройство во всех возможных плоскостях
  4. Делать это нужно до тех пор, пока коэффициенты матрицы перестанут меняться, но должно накопиться не меньше 500 Points, больше – лучше

На картинке отображаются точки. Красные – сырые измерения с датчика, зеленые – пересчитанные. Все эта трехмерная картинка вращается вокруг нуля, т.е. середины сферы из зеленых точек.

Если не откалибровать компас, то отслеживание поворота головы корректно работать не будет.

Настроек тут не много:

  • Выбор режима осей (Экспоненциальный/Линейный)
  • Чувствительность по каждой оси
  • Сглаживание

Я не люблю косить глаза на монитор, поэтому использую экспоненциальный режим, чувствительность выше 100, сглаживание 75-90%. Мне так удобно.

Осталось только прикрепить к вашей любимой гарнитуре и можно вступать в бой! Единственная кнопка служит для центровки.

Впечатления

Впечатления крайне положительные. У меня уже был трекер на камере и метке (GTX vTrack MkI) и мне есть с чем сравнивать.

Плюсы:

  • низкая стоимость
  • компактность
  • отсутствие камеры (для параноиков)
  • и самое главное – вам не нужно фиксировать свое положение перед компьютером, я люблю в процессе игры спускаться ниже и подниматься, а с камерой приходилось держать себя всегда в центре кадра

Минусы

  • дребезжание в крайних положениях – расплата за высокую чувствительность и экспоненциальный режим
  • уплывает калибровка гироскопа, если гарнитура некоторое время лежит на столе, приходится перед использованием заново 20 секунд калибровать уже на голове
  • высокие значения чувствительности не сохраняются после отключения, перед каждым использованием приходится заново выставлять чувствительность – это, скорее всего, ошибка в прошивке
  • программа EDTracker UI падает с ошибкой после некоторого времени работы
  • на горячую клавишу нельзя назначить комбинацию кнопок, да и то, что программа падает периодически, делает использование HotKey невозможным. Хорошо, что достаточно кнопки на самом устройстве

Как по мне, минусы совсем незначительные. А так как ПО с открытым исходным кодом – всегда можно что-то исправить. Мне нравится устройство и я буду его использовать. Может профессиональные устройства типа TrackIR могут оказаться чем-то лучше, я не готов отказаться от тех плюсов, что дает это устройство.

Оставите комментарий ?

24 Комментарии。

  1. Валерий

    я в прошлом году собирал на MPU-9150.
    Чем новая платка MPU-9250 отличается от моей?

    • Основное различие: у 9250 более точный компас.
      Помимо этого корпуса различны, у 9250 – меньше.
      Так же 9250 обзавелся высокоскоростным SPI интерфейсом (в EDTracker не используется).

  2. Ардуино надо прошивать?

    • Если речь про бутлоадер – то нет, используется заводской. Если про скетч – да, и об этом в статье написано.

  3. В ардуино что шить? Ed tracker программу?это приложение в таблице1?потом всегда запускать или опентрек только?

    • Просто прочитайте ещё раз внимательно, в статье все написано. Потом программу запускать не обязательно.

  4. Реализовано только 3-Axis? 🙁

  5. Почему Arduino Pro Micro, а не Arduino Nano? В чем их отличие? И почему MPU-9250, а не GY-85? На форуме вартандера советуют именно его, правда статья та написана была уже давно.

    • GY-85 – примерно то-же самое, но компас отдельной микросхемой (соответственно и программа чтения будет немного отличаться).
      В Arduino Nano используется другой МК, который не поддерживает работу в качестве USB-устройства.

  6. Сколько % есть ЦП при использовании? Я так понимаю это должен быть самый мало-прожорливый вариант трекера, по сравнению с фритраками и пр.?

  7. Повторил, но в таком “бутерброде” настроить нормально не получилось, плата с мегой влияет на магнетометр. Пришлось плату датчика вынести на проводах длиной сантиметров пять.

  8. Здравствуйте.
    Хочу сделать по той же схеме, что и вы, только без кнопки. Только не пойму как подключать “землю”. По этой схеме “земля” идет одним проводом, замыкая все контакты “gnd” на ардуине и mpu.
    http://www.edtracker.org.uk/images/edtracker/edtracker_circuit_diagram.jpg
    Делать так как на схеме, за исключением кнопки? Или можно просто два провода:
    GND(Arduino) – GND(MPU)
    GND(Arduino) – AD0(MPU)
    не замыкая “землю” между собой на ардуине и GND – AD0 на MPU?

    • Эта схема только лишь наглядное изображение таблицы
      https://delfer.ru/wp-content/uploads/2016/06/edtracker-connections.png
      Все GND на одной плате и так соединены между собой. Нет смысла соединять их еще раз.
      Достаточно будет соединить три точки:
      GND одной платы + GND другой платы + AD0
      Я сделал именно так как вы и написали:
      GND(Arduino) – GND(MPU)
      GND(Arduino) – AD0(MPU)

  9. Последнее время в Pro Micro китайцы шьют кривые загрузчики. Описание проблемы http://arduino.ru/forum/programmirovanie/arduino-pro-micro-glyuk-pervogo-zapuska , решение там же. Инструментарий https://github.com/imaSoft/Arduino_Pro_Micro-ATmega32u4_16MHz_5V- (под видео ссылка битая)

  10. Ребята помогите собрал трекер на pro micro (mega 32u4) + mpu 9250/6500 установил программу edtracker выбираю порт, потом свою версию 9250 4.0.5 делаю флеш прошла загрузка потом на арудинке тухнут диоды и все. Если в этот usb порту заново вставляю при флеш ошибку выдает сом порта. Помогите пожалуйста на почту отпишитесь я фото и видео могу выслать вам

  11. ВладимирS

    Есть UNO и GY-85. Хочется из этого сделать джой. Uno вроде в USB переводится. Может кто поделиться скетчем? Или без вариантов надо заказывать 9250?

    (Обзор уже сделан из nano+85+opentrack).
    Заранее спасибо.

  12. Прочитал несколько раз ,не понял назачение кнопкт

  13. Нужна помощь! Сделал все как описано в статье. ЕДтрекер работает, движения отслеживает, но опентрек не видит ардуино. (pro micro (mega 32u4) + mpu 9250)

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

* Copy This Password *

* Type Or Paste Password Here *

22,517 Spam Comments Blocked so far by Spam Free Wordpress