Go Down

Topic: Working on a car distress signal generator using UNO (Read 1 time) previous topic - next topic


Hey guys i recently bought an emulator from the freematics its called obd2 emulator mk2.
I connected it to my Arduino UNO  with wires and it doesn't seem to be working x_x
please help someone.
Here's my code ,

Code: [Select]
#include <Arduino.h>
#include <Wire.h>
#include <OBD.h>

COBDI2C obd;

void setup()
{  Serial.begin(38400);
   Serial.println("ATZ"); //shoud initialize the emulator
   Serial.println("ATE1"); // turn on character echoeing
   //  use the debug LED as output
  pinMode(13, OUTPUT);  
  // start communication with OBD-II UART adapter
  // initiate OBD-II connection until success
  while (!obd.init());  

void loop()
  int value;
  if (obd.read(PID_RPM, value)) {
    // RPM is successfully read and its value stored in variable 'value'
    // light on LED when RPM exceeds 3000
    digitalWrite(13, value > 3000 ? HIGH : LOW);
     delay (2000);

The emulator comes with a GUI , when i increase rpm in it to above 3000 the led should light up but the led doesnt light up. can someone tell me what i am dong wrong?

heres the serial interface commands for the emulator:

Code: [Select]

Serial Control Interface

The serial control interface is implemented as AT command-set containing following commands. The baud rate is 38400bps. All commands and responses are terminated with '\r' (ASCII: 0xd).


    Function: initializing the emulator
    Response: the name and version of the emulator


    Function: turning off/on character echoing
    Response: OK

ATSET BUS [Protocol]

    Function: changing the simulated protocol (default is CAN bus 11-bit/500Kbps)
    Argument: a string that specifies the protocol which can be one of the following:
    Response: OK or Error

ATSET DTC=[OBD-II Trouble Code]

    Function: setting a DTC (up to 6 allowed)
    Argument: a code that identifies a malfunction or failure of a vehicle component (refer to this website)
    Response: OK or Error

ATSET VIN=[Vehicle Identification Number]

    Function: setting the emulated VIN
    Argument: a 17-digit vehicle identification number
    Response: OK or Error

ATSET [PID]=[Value]

    Function: setting the value of an OBD-II PID
        PID: a 4-digit HEX number specifying an OBD-II PID
        Value£º the value of the OBD-II-PID
    Response: OK or Error


    Function: retrieving the current value of an OBD-II PID
    Argument: a 4-digit HEX number specifying an OBD-II PID
    Response: The raw HEX data of the requested OBD-II PID

I have attached the layout of the connections .


If your Arduino circuit works when you plug it into a car then your emulator is probably not working.  If it doesn't work in a car it probably won't work on an emulator.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp
See who has no social life: https://forum.arduino.cc/index.php?action=stats :)


hi alfa wolf , did u get any lead on freematics emulator mk2? i am using same emulator with sparkfun can-bus shield and arduino uno. the can bus intialised ok mesage appears but after  that no reading.

Go Up