A staggering 1.3 million people die every year due to road crashes. A major chunk of these accidents involve two wheelers. Two wheelers have become more dangerous than ever before. As of 2015, 28% of all fatalities caused due to road accidents were linked to two wheelers. Drunk driving, distractions, over speeding, red light jumping and road rage are a few of the reasons why roads are becoming a dangerous part of urban life. If action isn’t taken road crashes may become the fifth leading cause of death by 2030.
Using accelerometer and gyroscope sensor powered by Arduino we made a solution for this problem in the form of a helmet accessory. One of the major features of our smart helmet uses a Raspberry Pi camera placed at the back of the helmet to analyse its feed to detect if a vehicle is dangerously close. On detection a buzzer is turned on. Another function of the helmet is to get immediate help to wearers of the helmet in the event of an accident. This includes sending a SOS message to their emergency contacts with the location of the wearer. We have also made an app that interacts with and receives data from the Arduino and processes it to further enhance the functioning of the helmet.
Step 1: Materials
1 Action camera head mount
1 Raspberry Pi 3
1 Arduino Uno
1 R-Pi Camera
1 KY-031 Knock Sensor
1 GY-521 Accelerometer/Gyroscope
1 HC-05 Bluetooth module
1 USB cable
Step 2: Hardware Assembly
Place the action camera head mount around the helmet as shown and attach the pouch to the head mount towards the back of the helmet.
Step 3: Raspberry Pi Setup
Using image analysis and the RPi camera, the Raspberry Pi detects cars that are dangerously close behind the user and warns the user by activating vibration motors. To setup the Raspberry PI and the camera, we first upload our code to the Raspberry Pi and then establish an SSH connection with it. We then run our code on the Raspberry Pi either manually by running the python file from the terminal or by activating a bash script at the run time.
The task of image analysis is accomplished by using the trained OpenCV models on cars. We then calculate the speed of the vehicle, and by using the safe distance chart and the speed calculated of the vehicle, we calculate the safe distance to warn the user. We then calculate the coordinates of the rectangle of the desired vehicle and finally warn the user when a threshold is crossed, which tells us when the vehicle is too close.
To run the proper python script, navigate to the idea folder in your respective directory. Then, run the v2.py file, (written in Python 2) to start the identification process with a pre-feeded video. To start taking the input from the Pi Camera and then process it, run the Python 2 file, v3.py. The whole process is manual at the moment, but can be automated by having a bash script that runs as per the requirements.
Step 4: Arduino Setup
Bluetooth module: Supply 5V to the HC-05 module and set the RX and TX pins as 10 and 11 and made the appropriate connections to the Arduino board.
GY 521 Gyroscope/Accelerometer: Connect SCL to A5 and SDA to A4 and supply 5V and ground the sensor using one of the ground pins.
KY 031 Knock sensor: Supply 5V to the knock sensor’s VCC pin and ground it and attach the output pin to Digital I/O Pin 7 in Arduino.