Our team was inspired to help the hearing-impaired community. Currently, the hearing-impaired community uses a vibrating wristband as alarms, which is both intrusive and uncomfortable for sleep. We found that blue light helps wake people up, which is why we chose blue LEDs for this project. We also want it to be foolproof, so we implemented Clarifai's computer vision API to confirm that the user is awake.
What it does
When the alarm goes off, blue lights turn on that mimic the color of the sky, telling light receptors in the user's eyes that it is time to wake up. The clock also uses computer vision to allow a user to dismiss the alarm with a thumbs-up gesture in front of their computer.
How we built it
We built it with Java, C++ and Python. On the hardware side, we drive the LEDs with an Arduino, and used a Raspberry Pi as server to run our algorithms. We used the built-in cameras on our laptop to implement computer vision since we do not have a discrete camera module.
Challenges we ran into
We found communications between the computer, Raspberry Pi and Arduino to be challenging since they are connected over Wifi and Serial. We also had to train the Clarifai API to recognize a human face with thumbs up. On the hardware side, we had to solver wires and LEDs, while also designing a 3d-printed case for the LED module.
Accomplishments that we're proud of
We used 3 languages-- Java, C++ and Python. We also implemented a machine learning algorithm using Clarifai's API. We also have TCP over Wifi using the Socket library, and serial connection to the Arduino working, which was challenging. While software projects are cool, getting software and hardware to work together is a step above for us.
What we learned
Coming into this, we were only proficient in Java, but now we also know Python and C++. It is also our first time implementing an API. We learned that some problems are easier to solve when consulting people with different backgrounds. Last but definitely not least, we learned to be inclusive for people who are different from us.
What's next for Blu Vision
Since the algorithms are run on the Raspberry Pi and not our individual computers, the whole project is independent and could be easily transferred to another user. Because of that, we could also easily implement other UIs such as iOS, Android or Web instead of Java.