This project is good for cars with OBD2 protocol ISO 15765 11 bits 500 Kb/s, most European car has this protocol. The application reads data of the ECU using CAN. the MCP2515 module drives the CAN BUS.
The circuit supply is from the car 12V and a 78L05 regulator that supply the Arduino and the CAN module. It is preferred to take the 12V from a connection that switches off when the engine is off, you can take 12V from the plug and add a switch. You need also a ground connection to the car ground.
For compiling the code you need to install a lib from GitHub. I left the debugging in the code for help in adding features. The code requests the data twice every second. The request is an address 7DF, number of bytes, service #, PID and padding 5 bytes of 0x55. The reply from the ECU is address 7E8, number of bytes, 0x41, PID, 2 bytes of data. The data is calculated byte1*256+byte2/4.
|
This project is good for cars with OBD2 protocol ISO 15765 11 bits 500 Kb/s, most European car has this protocol. The application reads data of the ECU using CAN. the MCP2515 module drives the CAN BUS.
The circuit supply is from the car 12V and a 78L05 regulator that supply the Arduino and the CAN module. It is preferred to take the 12V from a connection that switches off when the engine is off, you can take 12V from the plug and add a switch. You need also a ground connection to the car ground.
For compiling the code you need to install a lib from GitHub. I left the debugging in the code for help in adding features. The code requests the data twice every second. The request is an address 7DF, number of bytes, service #, PID and padding 5 bytes of 0x55. The reply from the ECU is address 7E8, number of bytes, 0x41, PID, 2 bytes of data. The data is calculated byte1*256+byte2/4.