Creating CAN-BUS Shield V2.0 Tutorial
Summary
This documentation introduces the CAN-BUS Shield V2.0 and all its key facts. It also contains an example implementation, which is able to read and write CAN messages. In another step a real car communication is captured and presented.
CAN-BUS Shield V2.0
The CAN-BUS Shield V2.0 is an add-on shield which can be used with an Arduino Board. It comes with the MCP2515 CAN Bus Controller and the MCP2551 CAN transceiver. When used with an appropriate OBD 2.0 cable and library it can function as a diagnostic tool for a car.
1. Terminal: CAN-H, CAN-L 2. Led Indicator:
PWR: power TX: blink when the data is sending RX: blink when there's data receiving INT: data interrupt
3. V_OBD: Indicates if the power comes from OBD 4. DB9 Interface: to connect to OBD 2.0 via DB9-OBDII-cable 5. Arduino Pinouts 6. I2C Connector 7. Serial Connector 8. ICSP Pins
Implementation
Requirements
- Operating system: Ubuntu 18.04 bionic amd64
- Packages: git emacs
In order to complete these steps, you should have read this(https://wiki.elvis.science/index.php?title=Arduino_Board_Uno_Rev3-Atmega_328:_First_Steps) before.
Description
In order to create a functioning CAN message reader we need to set up a lab, which consits of two CAN-BUS Shield V2.0 and two Arduino UNOs. The Arduinos will be used to simulate two ECUs, where one of them sends the data and the other is receives it. After this works as planned we will take a step further and integrate the CANtext Bundle. This will enable is to take the reading Arduino-ECU and plug it into the cars OBD 2.0 port in order to see what is going on the car CAN-BUS.
Step 1
Enter these commands in the shell
echo foo echo bar
Step 2
Make sure to read
- War and Peace
- Lord of the Rings
- The Baroque Cycle
Used Hardware
Device to be used with this documentation Maybe another device to be used with this documentation
Courses =
- A course where this documentation was used (2017, 2018)
- Another one (2018)