Как подключить приборную панель к компьютеру
Таки отпуск кончился и нашел время для написания министатьи про одну мою поделку. Для начала хотелось бы извинится перед теми, кто читает мой ЖЖ, что давно не выкладывал материал по компьютерам. Материала хватает, так что в скором времени планирую все это дело возобновить. Ну да ладно, лирическое отступление сделал, теперь к сути.
Началось все это два года назад, после того как один мой знакомый сказал: ". было бы здорово иметь что-то вроде usb спидометра для компьютера". Тут то я и решил попробовать сделать что-то путнее, тем более как-раз только начал изучать USB HID для AVR'ов. Первым из моих проектор стал "USB-7SEG LED" (Позже переименованный в "Спидометр-мини").
Суть сего девайса такова: к микроконтроллеру ATmega8, который программно общается с компьютером через USB, подключается трехразрядный семисегментный индикатор с общим анодом. Программа на компьютере пересылает информацию микроконтроллеру, а МК уже отображает ее на индикаторе. Все просто. Самое сложное было сделать так, чтобы программа "вытаскивала" значения скорости из игры. Решение нашлось пока одно-действовать как в ArtMoney. Т.е. сначала мы находим адрес переменной, а потом считываем из нее значения. Алгоритм нахождения адреса такой: (вот тут нам и приходит на помощь ARTmoney) Запускаем игру. Даем "машинке" набрать некоторую скорость, запоминаем ее и выходим в паузу. Сворачиваем игру. Запускаем ARTmoney. В графе «выбери процесс» выбираем название игры. Нажимаем кнопку «Искать», вводим значение скорости и ОК. Выводится целый список адресов. Теперь переключаемся обратно в игру и меняем скорость, опять в паузу, переключаемся в ARTmoney, нажимаем кнопку «Отсеять», вводим число, ОК. И так делаем, пока количество адресов не уменьшится до единиц. Теперь, когда у нас есть адрес, можно модифицировать и программу для вывода данных на индикатор. Единственное, в чем может быть загвоздка - не все переменные игр в памяти имеют фиксированный адрес. К примеру, в той же GTA адрес переменной передачи постоянно меняется после запуска игры (динамический адрес), а адрес переменной скорости-нет. Вот собственно и вся фича.
Поздней я все-же понял, что цифры несколько сложны для восприятия в игре и решил сделать что-то такое-же, но со стрелками. Так появился "Спидометр-мини v2". Смысл остался тем-же, но показания отображаются на микроамперметрах:
Сего удалось добиться благодаря ШИМ (широкоимпульсному модулятору). Также изменения коснулись управляющей программы. Теперь принимаются значения не только скорости, но и оборотов двигателя в минуту (спидометр и тахометр). Не вижу смысла описывать принцип работы, т.к. он особо не отличается от первой версии.
Шкалу перерисовал заново (правда криво), чтобы можно было сделать разметку под спидометр и тахометр:
Не так давно решил помучатся с приборной панелью от реального авто. Пока проект еще не до конца доделан, так что пока только демо-видео:
Здесь выложил прошивки, исходные коды, программы и более подробное описание принципа работы индикаторов.
Дошли наконец руки написать статью о своей виртуальной панели приборов ! Тут будет подробно описан процесс установки такой панели приборов на почти любую машину . Вдохновлялся такой приборкой мерса :
Выглядит моя вот так :
. Начнем с общего описания . Что нам понадобится ? Планшет на андроиде или ios(можно ноутбук или планшет на винде, софт этой программы есть на все системы почти ) . Адаптер обд 2 блютуз или вай фай . (Предпочтительно блютуз, меньше жрет аккума ) . У меня был выбор между двумя
После примерки понял что влезает по высоте только правый который меньше . У вас же надо смотреть по месту, чем больше планшет сунете тем будет красивее) не придется думаю как облагораживать пустые места по краям.
ВАЖНО : БЕРИТЕ ПЛАНШЕТ С ХОРОШИМ ЭКРАНОМ ЧТОБЫ НА СОЛНЦЕ БЫЛО ЧИТАЕМО !
Дальше нам понадобиться сама программа :
Покупайте сразу платную стоит 300р и там нет рекламы .
Вот примеры приборок которые мог быть, красота :
Суть работы в следуйщем : программа через адаптер общается с мозгами машины берет оттуда инфу и передает ее в планшет на красивую приборку :) чем умнее мозги тем больше можно вывести информации с мозгов . Так же есть вариант через ардуино вывести туда инфу которой в мозгах нет, например поворотники, дальний свел И.т.д . Но мне это не очень нужно . У меня на машина 099 с мозгов январь 5.1 берется : скорость (можно и по gps с планшета), тахометр, вольтметр, температура ож, чек .Пробег программа считает сама . На мозгах иномарок так же как правило есть инфа о остатке топлива в баке, давлении масла, давлении топлива, это все можно вывести на приборку ! Любую инфу с мозгов можно вывести на эту приборку, возможности кастомизации интерфейса очень широкие . Я же остаток топлива смотрю с борт компа, лампу резерва топлива я оставил на приборке (лампочка, давление масла тоже оставил на приборке ) так то если говорить о вазе то можно любые лампочки из приборки оставить какие нужны, зависит только от ваших прямых рук, как это красиво организуете !Как сделал я, в картинках :
_________________
Вы получаете от людей больше, если им противоречите
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!
а еще и показания датчиков температуры,и бензинатак же лампочки включения поворота,дального света,габаритов,парковки,и так далее
Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет
Была помнится такая софа, ArtMoney называлась. С ее помощью можно было из игр, да и не только, выцеплять адреса переменных. Так вот, с ее помощью, находишь адреса интересующих тебя параметров, выписываешь их себе, далее идешь на сайты по программированию и ищешь, как читать память чужих процессов. Пишешь софтинку и из нее передаешь полученные данные на свою панель приборов.Приглашаем 30 ноября всех желающих посетить вебинар о литиевых источниках тока Fanso (EVE). Вы узнаете об особенностях использования литиевых источников питания и о том, как на них влияют режим работы и условия эксплуатации. Мы расскажем, какие параметры важно учитывать при выборе литиевого ХИТ, рассмотрим «подводные камни», с которыми можно столкнуться при неправильном выборе, разберем, как правильно проводить тесты, чтобы убедиться в надежности конечного решения. Вы сможете задать вопросы представителям производителя, которые будут участвовать в вебинаре.
Anderer, очень интересно! Вообще, любая информация мне будет полезна! На данный момент можно управлять (ну, пока ) тахометром, спидометром, лампами: дальний свет, двигатель, ручник, масло, бензин, стоп-сигнал. В дальнейшем планирую все использовать._________________
Вы получаете от людей больше, если им противоречите
Приглашаем всех желающих 25/11/2021 г. принять участие в вебинаре, посвященном антеннам Molex. Готовые к использованию антенны Molex являются компактными, высокопроизводительными и доступны в различных форм-факторах для всех стандартных антенных протоколов и частот. На вебинаре будет проведен обзор готовых решений и перспектив развития продуктовой линейки. Разработчики смогут получить рекомендации по выбору антенны, работе с документацией и поддержкой, заказу образцов.
Сегодня я закончил создание устройства, которое предназначено для вывода информации из автосимуляторов на панель со светодиодными индикаторами.
С момента начала моего увлечения автомобильными симуляторами, такими как GTR 1 & 2, Race, GT Legends и т.п., мне всегда не давала покоя мысль об улучшении своего игрового железа. Я дорабатывал свои рули, делал USB джойстики, делал свои педали, но все это казалось мелочью, по сравнению, с тем что я видел на зарубежных симрейсерских сайтах. Там народ собирал дома кокпиты, подключал приборы от настоящих автомобилей, создавал всякие мелкие аппаратные приблуды для игр. Но все разработки, что я видел были закрытыми и платными. Поэтому я решил сделать свой вариант приборной панели…
В качестве мозга девайса я выбрал ATmega 8535, при небольшой цене (
5$) он имеет 4 порта ввода-вывода и может работать с протоколом RS 232.
Для отображения информации выбрал семисегментные индикаторы, с LCD не хотелось заморачиваться, и, к тому же они не так интересно смотрятся: )
Переднюю панель заказал в фирме, которая занимается наружной рекламой. Конечно это не то, что я хотел изначально, но пока я доволен.
Теперь о софтовой части.
Так как, я не знаю ни одного языка программирования (кроме Си для микроконтроллеров, на котором и написана прошивка для девайса), то решил использовать конструктор программ HiAsm. За несколько вечеров изучения среды, я сделал свое первое приложение. Оно читает Memory Mapped File созданный игрой, преобразовывает нужные данные и через ком-порт отправляет их на устройство.
Девайс имеет два режима работы: игровой и служебный. В служебном режиме отображается загрузка процессора, памяти, время и дата. В игровом — скорость, обороты двигателя и т.д…
Рабочий режим:
Игровой режим:
Видео работы:
Устройство совместимо с играми от Simbin (GTR, Race07, RaceON, GTR Evolution, GT Legends) и Ultimate Mortal Kombat 3: )
В будущем планирую расширить список поддерживаемых игр и перевести плату на планарный монтаж. На этом пока все.
Спасибо за внимание.
Оговорюсь, статья не моя, ее попросил опубликовать мой брат, в песочницу ее не взяли. В комментариях к статье отвечает тоже он.
Update: автор получил инвайт на хабр. Теперь все вопросы к нему.
Также доступен архив, в котором лежит схема, прошивка и софт.
Такую приборную панель можно собрать на любой автомобиль, это универсальное устройство. Мы собирали приборную панель на базе уже существующей под названием Venator.
Для ее создания потребуются следующие комплектующие:
- Контроллер Arduino MEGA
- Планшет с операционной систем Androir
- Модуль Wi-Fi esp8266
- Преобразователь питания с 12 до 5 вольт (можно использовать любое автомобильное зарядное устройство для мобильных телефонов).
К контроллеру Arduino подключаются все датчики автомобиля. В нашем случае потребовалось еще установить датчик скорости в коробку передач вместо тросика привода спидометра. А так же завести провод в салон автомобиля от коммутатора зажигания, чтобы контроллер смог отображать обороты двигателя (это нужно было сделать, так как в ОКЕ не был установлен тахометр).
Схема
Датчики к контроллеру подключить необходимо по следующей схеме:
Скетч (прошивка) для контроллера Arduino Mega
Настройка ESP-8266
Перед тем как подключать Модуль ESP8266 к схеме его нужно прошить и настроить в режиме прозрачного моста Tcp2uart (tcp to uart), чтобы полученные данные с ком-порта он передавал планшету по Wi-Fi.
Прошивать лучше через USB-UART преобразователь, который должен иметь выход источника 3.3V для питания ESP8266. Так же этот источник должен обеспечить необходимый ток не менее 200мА.
Готово! Теперь при подключении модуля ESP-8266 к ардуино он работает в режиме прозрачного моста и по Wi-Fi передает необходимые данные.
Приложение можете скачать по ссылке.
Благодарим пользователя Frud портала Drive2 за опубликованную версию приложения и описание метода установки приложения:
После установки приложение уже будет работать. Для того чтобы включить его автозагрузку необходимо сделать следующее:
ПРИМЕЧАНИЕ! Перед установкой автозагрузки желательно настроить и отладить работу приложения.
После запуска приложения нужно зайти в настройки (нажать на значок шестеренки справа вверху). Тут надо указать ip-адрес и порт (В нашем примере этими значениями являются: адрес 192.168.4.1 и порт 3333).
А вот как выглядит приборная панель, установленная в ОКУ:
Желаем успеха в реализации данного проекта
Читайте также: