Many drunk driving accidents occur because drivers are not taught the safe practices of driving. We wanted to play a role in a cause to help prevent car accidents, and potentially save the lives of many drivers.
What it does
The SmartWheel utilizes a hand-crafted steering wheel with LED lights to indicate whether a driver has correct or poor driving habits based on how they handle the wheel. It also detects if a driver is drunk through the use of Microsoft Azure's Machine Learning service which calculates with a 90% accuracy if a driver is drunk. SmartWheel also uses a driving simulator to display how well a driver is doing on the road and also engage the driver in a realistic experience so they are prepared for the real world! The purpose is to correct the bad habits a driver may have through a safe simulation and prevent accidents from happening through practice.
How (WE) built it
We used a lot of cardboard (soylent boxes <3) to create the physical steering wheel. The wheel itself was hand crafted and cut with precision to replicate that of an actual car steering wheel. It was duct taped for comfortability and we taped LED lights on the rim to help give driver feedback. This wheel was attached to another soylent box and put on a tilted level for ease of steering wheel use. The steering wheel was attached to a servo which was attached to an Arduino, which we use to find the changes in the steering wheel angles.
Next we used the Unity Game Engine platform to make a simulation. We first created a normal car game that moves with arrow keys. Then we used Serialimport to link the Arduino output to the Unity game input which allowed for steering wheel to game interaction.
Challenges I ran into
Unity bugs were absurd. Many documentations and bugs were not heavily recorded so a lot of it was just brute force debugging. The angle calculations made use of an intricate algorithm to get the most accurate turning for the car simulation.
Accomplishments that (WE'RE) proud of
It works! The steering wheel was beautifully made, and we take pride in the craft it took to make it. The interaction to Unity and the realisticness of the steering wheel input to unity was very well made.
What I learned
Debugging with Unity is awful! Serialimport only takes in COM values from 0-9. Node.js needs some work with serialimport module, it is very buggy! Made us pivot with the simulation engines.
What's next for SmartWheel
SCALABILITY FOR THE FUTURE OF SAFE DRIVING! Let's save lives by preparing the world's drivers for the real thing.