1. Description of the project
There are lots of information which characterise a car: the revolution of the engine per minute, the velocity, its position and other general information. It could be interesting to recover that data from a car. That is the goal of our project. There are multiple applications. These applications are for a personal or a professional use:
For example, the position can be used to catch thieves.
The acquisition of the velocity can be used in a race.
The assembly can also be used for preventive maintenance. General information about the state of the motor can be recuperated with the help of the canbus module.
It can also send you a SMS to help you to find your car or to inform you when there is a problem (broken glass by example)
All of the data are then stored in a SQL database
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Bill of Materials
- Arduino MEGA: https://store.arduino.cc/arduino-mega-2560-rev3
- Module SIM 808: https://www.elecrow.com/sim808-gprsgsmgps-shield-...
- CanBus Shield: https://www.elecrow.com/canbus-shield-p-1133.html...
- OBD-II to DB9 Cable: https://www.cooking-hacks.com/obd-ii-to-db9-cable...
- DC-DC Step Down adjustable Module: http://www.befr.ebay.be/itm/LM2596S-DC-DC-Step-Do...
- Cigarette lighter plug (12 V): http://www.befr.ebay.be/itm/12V-DC-2-1x-5-5mm-Car...
- SIM Card
- Micro SD card: http://www.befr.ebay.be/itm/Carte-Memoire-Micro-S...
Total cost: 113 €
- Soldering Iron: http://www.ebay.com/itm/New-5pc-100W-Soldering-Gu..
The Arduino MEGA is the main component of our project. It receives the data and converts it.
The SIM module communicates with the user. It can communicate by the GPRS/GSM network or by Bluetooth. It receives the data from the Arduino MEGA and sends it to the user. It determines the position with a GPS antenna.
The can bus shield collects the data from the car by the OBD-II to DB9 cable and transmits it to the Arduino MEGA.
The DC-DC step down adjustable module converts the 12 V of the car battery to 5 V. It absorbs the peak of voltage from the battery of the car. It protects the electronic circuit.
The OBD-II to DB9 cable is used to connect the project to the car.
Step 2: Assembly of the Power Supply
1. Cut the end of Cigarette lighter plug
2. Solder the 4 wires on the DC-DC Step Down adjustable Module
Step 3: Assembly of the Arduino MEGA 2560 and the CAN-BUS Shield With the Micro SD Card Step 1
Put the micro SD card into the CAN-BUS shield and connect the OBD-II to DB9 Cable
Step 4: Assembly of the Arduino MEGA 2560 and the CAN-BUS Shield With the Micro SD Card Step 2
Plug the CAN-BUS shield on the Arduino MEGA
Step 5: The Assembly of SIM Module 808
- Connect the four antennas (Bluetooth, GSM and GPS). You get also one spare antenna.
- Insert the SIM card into the SIM module 808
Plug the SIM module 808 on the CAN-BUS shield
Step 6: Power Supply of the Assembly and Connection on the Car
- Power the assembly, plug in the cigarette lighter plug and connect the other part to the assembly.
- Connect the assembly on the car with the OBD-II to DB9 Cable
Step 7: The Software
If you're new to Arduino it will help to first familiarise yourself with using it by reading: Arduino -Getting Started
As we said it in the « Material » chapter, we used an Arduino Mega in this project. The storage capacity in the Arduino UNO is not sufficient so you cannot use it. To program these microcontrollers, you need to download the Arduino integrated development environment.
Make sure you have the latest version of the Arduino IDE installed (version 1.6.5 as of the time of this guide writing).
You can follow the steps in the following link to install it easily (Windows).
“The Arduino Integrated Development Environment contains a text editor for writing code, a message area, a text console, a toolbar with buttons for common functions and a series of menus. It connects to the Arduino and Genuino hardware to upload programs and communicate with them.” If you never used it before, you can go to this website to learn the basics.
For the SIM808 shield load these libraries:
For the CANBUS shield, use the Canbuss library you will find as an attachment below but also:
- SPI library
- SD library
At the top of the sketch are #define values which configure how the code will behave. There are a few values you will need to change:
- FONA_APN : Set this to the APN that your cellular network provider requires for accessing their data network. With a Ting SIM card in the US the value "wholesale" is what you want, but for other providers you might need to contact their support to get the value.
- FONA_USERNAME & FONA_PASSWORD : If your cellular network provider requires a username and password to access their data network then put those values here. If they aren't required then just leave the default blank values.
- AIO_USERNAME : This needs to be set to your Adafruit account username, which you can find at https://accounts.adafruit.com/ under the Username field.
- AIO_KEY : This needs to be set to your Adafruit IO key, which you can find from the Adafruit IO settings page for your account at https://io.adafruit.com/settings by clicking View AIO Keys.
The other configuration values don't necessarily need to be changed, but it's a good idea to skim them to see what they do.