Software apps and online services
The two leading causes of traffic accidents in the United States are distracted driving and speeding. The Vehicle Enhancement Suite seeks to cut down on both of those. A hardware/software combination project, the VES Android App seeks to make both roads and parking lots safer by providing the driver with all the information they need to have a safe trip from backing up to driving on the highways.
The VES uses 3 Arrela Ultrasonic sensors to determine the distance from the rear of the car to any object it may come in contact with. These distance measurements, along with temperature and humidity information, are sent to an android phone through Bluetooth using the Sunkee HC-05 Bluetooth Transceiver. The VES App will then process this information and provide both visual and audio warnings to the driver when they approach another car or object. Once the rear of the car is within 10cm of an object, the phone will provide a continuous tone, signaling the driver to stop. While this feature exists in many newer cars, it does not exist in most low-end cars, especially those older than a few years. In addition, while this feature may be added through the use of 3rd party packages, these require the installation of a separate dashboard module. This project allows the user to simply use their phone, which many use for navigation anyways.
While on the road, the VES will provide the user with several features, which are selectable on the home screen below:
- Map with route tracking and traffic info
- Rearview ultrasonic sensor data using Bluetooth
- Gps data- speed limits, traffic speeds, and current address
- Text message handling
Instantaneous speed, acceleration, distance traveled, altitude, and trip duration is automatically included with each trip. When using the Rearview function, car temperature and humidity is also displayed, detected by sensors and transmitted via Bluetooth.
If the driver's speed exceeds the Speed Limit by more than 15mph, the driver will be alerted with a beeping tone and warned to slow down to a more acceptable speed. The navigation layout will also adapt to the settings selected on the front page, as shown below:
A final feature that the VES supplies is an SMS handling system. When selected, this system will capture all SMS's received while the user is in motion and will automatically launch the received messages screen, listed by phone contact when the vehicle comes to a complete stop. This will therefore discourage the user from texting on the phone while the vehicle is in motion. Once the vehicle has begun moving again, the SMS handling screen will disappear.
The user can then select each message to view the body of the message or call the sender of the message. The sender of the message will also receive a text from the VES app stating that the person they are trying to contact is currently driving, along with their location coordinates.
A flowchart displaying the process of operations within the VES Application can be viewed below (use ctrl + to zoom).
The hardware component of the VES will require an MSP432 launchpad to collect all of the information of the sensors as well as send this information to the phone via Bluetooth. In order to connect the sensors to the MSP432, you will need a total of 6 digital pins, 3 5V pins, and 3 Ground pins. Since the MSP432 only has 2 5V pins, we recommend investing in a breadboard and some jumper wire in order to extend the 5V supply to the breadboard power bus. After connecting the sensors, edit the provided Energia file (see the picture below) to provide the correct trigger and echo pins for each ultrasonic sensor (or use the pins we defined). Pin definitions can be found here: http://energia.nu/wordpress/wp-content/uploads/2015/03/MSP432-LaunchPad-%E2%80%94-Pins-Maps.jpg. In addition, plug the Grove temperature and humidity sensor into the Grove Boosterpack, ensuring not to use a pin that was already used for the ultrasonic sensors. We originally had 4 sensors (thus the 4 defined below), however 2 of the 5 sensors we had broke or were defective, so we had to cut it down to 3.
Next, connect the 3.3V pin and GND pin on the Bluetooth transceiver to the MSP432. In addition, connect the RX pin on the transceiver to the UART TX pin on the MSP432 (pin 3) and the TX pin on the transceiver to the UART RX pin on the MSP432 (pin 4). The 5V and KEY pins do not need to be connected to anything. After loading the program onto the microcontroller from Energia, the MSP432 is ready to send information to the android phone!
The software installation simply requires the installation of the application .apk file on an Android 4.2+ (Jellybean or higher) device. Once installed, the user options should be presented and the Bluetooth will automatically be started. If the device is not paired with the HC-05 Bluetooth module, the Bluetooth menu will be launched. Simply select the HC-05 device to pair with it (the password will be 1234 if you have not changed it). If the speed limits or traffic speeds are not updating, you will need to get an API key from the TomTom Mapkit API and replace the API key in the gitbucket code (LocationActivity.java) in order to access these features. Following this, the app should be ready to go! We have provided bitbucket links below rather than uploading the files to hackster. This will allow you to easily clone the repository and make your own modifications!
After hooking everything up, this is what ours looked like (sorry for the wire mess!):
Once we mounted the sensors on the car (we used temporary mounting putty) this is what it looked like:
Word of warning: Since you may be doing a lot of work in your trunk during installation, try to keep your keys in your pocket and not in the trunk. Once it was all set up, we slammed the trunk closed and locked the keys inside :( it was not fun.
We have attached a video to show off some of the features of the VES. The first part of the video will show the backup assistant while the second part will show the VES app in action when the car is moving! (Time is fast-forwarded for your convenience) Thanks for reading!