Устройства для автосимуляторов на Arduino (каналы и видео) | AlexGyver Community

Compatible hardware

Please see the CAN library’s compatible hardware.

Example ino file with dummy values for sensors

For a quick test, there’s a ino file in examples/DataSimulator directory. This is a running example with some PID’s and some fake data values.

Example: creating a ino file

/*** Start by including GTTurboEcu Library*/
#include<GTTurboEcu.h>/** * Define and configure GTTurboEcu Library * * This values are related to the bluetooth configuration. * library SoftwareSerial.h is use to connect the bluetooth device * by identifying: * 1) baudRate * 2) rxPin * 3) txPin*/
GTTurboEcu gtTurboEcu(9600L, 11, 10);


voidsetup() {

    // init serial communication, is only need if theres a need to read the debug info on serial port of the arduino// Serial.begin(9600);/**     * https://en.wikipedia.org/wiki/OBD-II_PIDs     *     * When the OBD client (ex: torque)     * init's connection, it will ask what sensors the "ecu" supports     *     * Register the PID(sensors) that will be reported to ODBII client app,     * only insert the PID in Hex, do not send the mode01 (see the wikipedia page for more info)     *     * ex PID(010C - Engine RPM) PID(0170 - Boost pressure control)*/
    gtTurboEcu.registerMode01Pid(0x0C);
    gtTurboEcu.registerMode01Pid(0x70);

}

voidloop() {

     /**     * The OBD client App (ex: torque),     * will frequently request values for the PID(sensors),     * that where registered in setup()     *      * use readPidRequest to listen for OBDII client app, pid request's*/
     String pidRequest = gtTurboEcu.readPidRequest();
     
     /**     * Process the pid request 010C - Engine RPM*/if (pidRequest.equalsIgnoreCase("010C")) {
      
            // read RPM value from RPM sensoruint32_t rpmSensorValue = <readYourRpmSensorValue()>;
            
            // CONVERT FORMULAS ON PID (more on wikipage)// find the formula that is used to convert the RPM value on the client side// revert the formula and apply to the value that was readed from the RPM sensor// EX on the client side the RPM value is divide by 4, // this means that the client is expecting an RPM = (rpmSensorValue * 4)uint32_t rpmSensorValueConverted = rpmSensorValue * 4;
            
            // NUMBER OF EXPECTED BYTES// The OBDII client is expecting a response with n number of bytes for a given PID (check the wikipage)// EX the RPM PID (010C), is expecting 2 bytes in the responseuint8_t numberOfBytes = 2;
            
            // finally send the response back/**             * pidRequest - we re-send the pid we received to identify it             * numberOfBytes - the number of bytes this PID value has, see OBDII PID specifications             * rpmSensorValueConverted - the value of the sensor*/
            gtTurboEcu.writePidResponse(pidRequest, numberOfBytes, rpmSensorValueConverted);    
            
            
      } elseif (pidRequest.equalsIgnoreCase("0170")) {
              // read  value from Turbo Boost sensoruint32_t turboBoostSensorValue = <readYourTurboBoostSensorValue()>;
              
              // CONVERT FORMULAS ON PID// no need to convert// NUMBER OF EXPECTED BYTESuint8_t numberOfBytes = 9;
              
              // finally send the response back
              gtTurboEcu.writePidResponse(pidRequest, numberOfBytes, turboBoostSensorValue);    
              
       } else {
      
           /**            * If pid not implemented, report it as not implemented*/
           gtTurboEcu.writePidNotSupported();
       }
       
       
       
     

} // loop end

Examples

See examples folder.

Код ошибки:  Как прошить приору через диагностический разъем

Gtturboecu

Arduino ODBII & ELM327 Emulator – Allows Arduino to act as a ECU and a OBD2 ELM327 device and response to PID requests, from any given ODBII app (ex: android::torque).

This library can be used to read values from real sensor’s with arduino and visualize them in any OBDII client App,
or it can be used as an emulator to help developing OBDII client App’s over ELM327 chip’s.

GTTurboEcu implements the specification’s of the ELM327 chip.

It was only tested with Torque, but in theory it should work OK, with any OBDII client App that can communicate with a ELM327 chip.

License

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Copyright (c) 2021 . All right reserved.

Motivation

Has a fan of classic car’s and owner of some, I need to read some performance values without changing the interior dash by setting gauges or arduino displays.Since I was unable to find an ELM327 arduino implementation, decided to make my own and share it with all classic cars enthusiast.

Using the arduino ide library manager

  1. Choose Sketch -> Include Library -> Manage Libraries...
  2. Type OBD2 into the search box.
  3. Click the row to select the library.
  4. Click the Install button to install the library.

Устройства для автосимуляторов на arduino (каналы и видео)

Warning !
Все видео на English

Ничего не поделать. В русском сегменте почти никто таким не увлекается (кроме одного русского канала который приведен в списке ниже)
Я не затрагиваю тему рулей которые собраны на базе мышки или геймпада, потому что это адовое дерьмо.

Если нужны ссылки на компоненты из видео, то все они есть под самим видео на YouTube. Но в основном все EBAY. Так что проще будет поискать своими руками на родном Али

Подборка видео от канала amstudio

Небольшой дисплей со спидометром, тахометром, показом текущей передачи и текущим кругом
В видео используется Arduino Nano, дисплей TM1638 и программа SimHub

SimHub имеет множество стандартных и пользовательских настроек. Дисплей можно настроить в соответствии с требованиями пользователя. Дисплей также показывает лучшее время круга, предупреждение о низком количестве топлива и давление в шинах. Он будет показывать цифровые часы когда Вы не в игре. Переключатели управляют яркостью дисплея и прокручивают режимы. Их можно легко изменить в соответствии с желаниями пользователя. На данный момент добавлен задний переключатель для управления яркостью.

Для работы дисплея должен работать SimHub.
Контроллер ручного тормоза представляет собой Arduino ProMicro с загруженным в него скетчем ручного тормоза. Скетч можно найти здесь

После загрузки скопируйте папку Joystick в папку с библиотеками Arduino, а затем загрузите скетч в ProMicro. Вы можете изменить ощущение рычага, используя более сильные или слабые пружины.

Дисплей 7 дюймов с возможностью полной кастомизации шаблона

Подсоединение Тахометра к SimHub

Панель с кнопками, энкодерами и тумблерами (32 функции)

Подсоединение Датчика Турбонаддува к SimHub

(Поддерживается только в Asseto Corsa)

RGB (WS2812) Тахометр

Приборная панель из смартфона или планшета

Коробка передач распечатанная на 3D принтере на базе модуля от USB джойстика

3D Модель для печати

Индикатор передачи КПП

Подключение приборной панели от BMW к SimHub

Скетч и протокол для Arduino

Симулятор потоков ветра во время игры

Ссылка на сайт где всегда лежит всегда свежий SimHub. Тут же есть и другие проекты людей
https://www.racedepartment.com/downloads/simhub-diy-s..

И оставлю сразу каналы с людьми которые собирали себе рули, педали, коробки.

Канал AgaYuditra который собрал свой руль вместе с коробкой передач, но так как это процесс у него растянут на множество видосов, то я просто оставлю его плейлист. Думаю по названиями видео не сложно будет разобраться
https://www.o-b-d.ru/playlist?list=PLfmTHLP-fJJQ-k..

Еще один канал BS Simulator который тоже собирал руль. Опять же плейлист.
https://www.o-b-d.ru/playlist?list=PLcwUjKUs6bU6x_..

Русский канал (что удивительно так как годных решений в русском сегменте тытрубы я не нашел)
https://www.o-b-d.ru/playlist?list=PLbZDfYWVxuLvFJ..
Плейлист конечно весь вперемешку, но опять же найдете все видео по названиям.

Так же у него на канале есть видос под переделку дешманского руля на 700-900 градусов
https://youtu.be/upNkGayk43k

А если вам лень творить такое “искусство”, то можете собрать себе такой руль, который составит конкуренцию легендарному G27
https://youtu.be/Y838v1GNteA

Оцените статью
OBD
Добавить комментарий