Автомобиль в качестве контроллера для компьютерных игр? Возможно и такое!
Блогер под ником mryeester продемонстрировал оригинальный способ использования симуляторов гонок, применив свой автомобиль Honda CR-V 2012 года в качестве игрового контроллера. Идея заключается в том, чтобы фактические действия водителя – нажатие на педаль газа и поворот руля – управляли виртуальным автомобилем в игре. Для реализации этого проекта mryeester использовал разъем OBD2, стандартный для автомобилей, выпущенных в США после 1996 года. При помощи адаптера OBD2-USB он смог получить доступ к данным бортового компьютера (ECU) машины, в том числе к показаниям датчика положения дроссельной заслонки, который напрямую связан с педалью газа. Обработка данных происходила с использованием библиотеки Python pySerial, что позволяло программе считывать информацию с датчика, определять необходимый Parameter ID (PID) для дроссельной заслонки и конвертировать аналоговый сигнал с педали в цифровой сигнал, который мог быть понятен компьютеру. Обработанные данные фиксировались в JSON-файл, контролируемым отдельным скриптом на AutoHotkey. Этот скрипт имитировал нажатие клавиши пробела, когда достигалось определенное значение параметра trigger_value в JSON-файле. Таким образом, нажатие на газ в реальном автомобиле эмулировало нажатие пробела в игре, который был назначен на управление газом в настройках игры Need for Speed. В своем видео на YouTube mryeester также показал, как он подключил управление рулем к игре. Для этого он использовал старый диагностический инструмент Honda, который предоставляет доступ к скрытым датчикам, включая датчик положения руля. Данные с руля аналогично были сопоставлены с управлением в эмуляторе Dolphin. Остальные технические детали не были оглашены. Тем не менее, этот проект является впечатляющим примером DIY-подхода к созданию игрового контроллера, хоть и достаточно затратного и, по словам автора, «минималистичного». Источник: tomshardware.com