GY-85 или как я инерционный трекер для City Car Driving собирал

Опубликовал | 29.09.2015

Валялся у меня руль Logitech G27 Racing Wheel, купленный давно с рук занедорого.
Хорошая штука в гонки поездить, но в City Car Driving (бывший 3D Инструктор) очень неудобно по сторонам смотреть.

Сначала я пытался при помощи камеры отслеживать движения головы, но это дело очень ненадежное. Постоянно координаты терялись.
И почитав это, это и это я принялся за сборку своего трекера.
Купил GY-85, купил самую дешевую Ардуино Nano на CH340. Почему именно Nano? Да потому что она компактная по размеру и имеет на борту выход на 3.3В и 5В(да еще и micro-usb порт в придачу), в отличие от pro mini у которого только есть 5В выход.
Спаиваются Arduino Nano и GY-85 следующими контактами:
GY-85 -> Arduino Nano
VCC_IN -> 3v3
GND -> GND
SCL -> A5
SDA -> A4
Спаял, присоединил mini-usb кабель к Nano.
Далее нужно скачать среду разработки для Arduino версии 1.0.6 — arduino.cc/download.php?f=/arduino-1.0.6-windows.exe. Качать надо именно 1.0.6, потому что 1.6.5 не компилирует скетч и вываливается с ошибкой.
Ссылка на скетч (исходный код для GY-85) — sourceforge.net/projects/gy80facetrack/files/DIY_headtracker_FTR_GY85.zip/download
Устанавливаем Arduino IDE версии 1.0.6, распаковываем куда-нибудь исходник для датчика.
Вместе со средой разработки у Вас установятся драйвера и система будет видеть новый COM-порт. Но это только если Вы купили оригинальную ардуино.
Если же Вы, как и я, купили китайский клон с чипом CH340, то ставьте драйвер — smart-chip.ru/wp-content/uploads/2014/10/DRIVER-CH340G.rar
Но если у Вас Windows 7 x64, то Вас ждет сюрприз с неподписанным драйвером, поэтому качаем драйвер отсюда и устанавливаем — www.winchiphead.com/download/CH341/CH341SER.ZIP (мне сразу помогло).
Запускаем Arduino IDE 1.0.6, в ней выбираем Файл — Открыть. Открываем папку, в которую мы распаковали исходники и выбираем файл DIY_headtracker.ino
Потом нам нужно выбрать тип платы: Сервис — Плата — Arduino Nano w/ATmega 328, а затем и COM-порт, к которому подключена плата: Сервис — Последовательный порт — COM(обычно самый нижний).
Затем нажать круглую кнопку со стрелкой, дождаться, пока исходный код скомпилируется и загрузится в плату.
Всё. Можно закрывать Arduino IDE.

Подготовка FaceTrackNOIR.
Качаем FaceTrackNOIR — sourceforge.net/projects/facetracknoir/files/latest/download и устанавливаем. Затем качаем dll-ки для того, чтобы программа видела наш инерционник — sourceforge.net/projects/hatire/files/FTNoIR_Tracker_HAT_V210.zip/download и распаковываем в ту папку, куда установился FaceTrackNOIR.

Прикручиваем, подключенную к компьютеру, получившуюся конструкцию к наушникам проволокой(можно скотчем, можно веревочкой).
Ориентируем плату так, чтобы микросхемами она смотрела вверх, а стрелкой Y вперед.
Получилось следующее:

Открываем программу, в разделе Tracker Source 1 выбираем «Hatire Arduino», в настройках (кнопка Settings) выбираем COM-порт, на котором находится Arduino, в закладке Command Serial parameters проверяем чтобы было 115200/8/none/1/CTS-RTS, устанавливаем Delay init 1000, delay start 1000 и нажимаем Start.
Головой не дергаем. Через пару секунд начнут приходить данные (зелёные и серые цифры начнут меняться), а лицо с желтым прицелом придёт в движение.
Запускаем City Car Driving, видим, что трекер вращает камерой.
Теперь можно настроить чувствительность и максимальное вращение камерой. В FaceTrackNOIR заходим в закладку Curves и настраиваем оси.
Я сделал примерно так:

но если Вы хотите оборачиваться назад, то придется оставить оси как есть.
Вобщем получилось вот такая конструкция:

(c) 2015 Источник материала.

Рекламные ссылки