Inspiration

Before deciding on an idea, we asked other teams about their plan. Many team members had fun, innovative ideas like building a mousecar or a Minecraft sheep. We decided to research prevalent issues to differentiate ourselves from these awesome projects. The opening ceremony gave us insight into how small our devices can be. After hearing about other teams' plans to build cars and the news about Tesla, we decided to do something related to driving.

What it does

Our device detects if the driver's eyes are closed, and if they are, it alerts them with a high-pitched buzzing sound. Because it only takes less than a second to get into an accident, the threshold for how long the driver can close their eyes is relatively short.

How we built it

The device is simple: it consists of a Raspberry Pi Zero W, a buzzer, a Raspberry Pi camera module, and a power bank to power the Raspberry Pi. We wired up the buzzer to the Raspberry Pi, connected the camera module to the Raspberry Pi, and connected the power bank to the Raspberry Pi.

Challenges we ran into

Processing images would be very difficult on the Raspberry Pi Zero W because of its limited computing power (only 512 MB of RAM). This is not enough to detect the face, extract the eyes, and determine whether the eyes are open or closed. That is why we decided to offload the work to an external server. Using AWS, we built a server that uses OpenCV to process these images. The processed images then get sent back to the Raspberry Pi, where it decides to play the buzzer if the image shows the eyes as closed.

Accomplishments that we're proud of

We're honestly proud of our unique idea. Our combination of ingenuity and practicality makes this project worth our time. Combined with the fact that we didn't give up when this project looked impossible halfway through, we're proud that our product works and could potentially be the framework of a device that saves lives in the future.

What we learned

We learned many things about embedded software and development. We learned to work with hardware constraints (the provided parts rather than using our own). We learned a lot of new Linux commands when setting up the Raspberry Pi with the Raspberry Pi camera module. We learned about computer vision with OpenCV. We learned about GPIO pins, how to use the buzzer, and how SSH into different devices works.

What's next for Drive Wide Awake

As more powerful computers become available in smaller sizes, we hope to keep our device small while increasing capabilities. These include faster image processing, and we also want to add an accelerometer to play the appropriate sounds while the driver is drowsy. In the future, we also want to detect distractions like being on their cell phones. Later, we might want to display a chart with the statistics after the drive to show how distracted they were.

Share this project:

Updates