Project Blog : Binaural Sensor Glasses for the blind (SonicScape)
Now as I have promised regarding my previous blog about the HC-SR04 Ultrasonic Sensor( by the way, if you want to check that out, click here) , I will now be giving you an insight into an ongoing project of mine that I have been working on for around 5-6 months. I have coined the name of 'SonicScape' for this project.
The aim of the project is actually pretty simple : to design a wearable device in the form of convenient glasses for blind people that can sense the environment around them and give them feedback in terms of binaural sound. The term binaural sound basically means that audio feedback is feeding through both of the user's ears and that they are independent of each other. An example of this would be ASMR, which could check out on YouTube (its pretty cool).
The urban environment is a very difficult place to navigate and orientate yourself through, especially if you are a visually impaired person trying to live your life. That is why I have tried to come up with a technological solution that will help blind people know of their surrounding obstacles in an unknown environment without the help of a walking stick or a guide dog. Further from having a basic alert system through the help of a pair of ultrasonic sensors connected through bluetooth, I wish to also add some sort of GPS or RFID tagging system to the portable device which will allow the blind user to track themselves of where they are currently through a voice-activated agent. It will also allow for family, relatives or caretakers of the blind user to also track them of where they are through an app on their smartphone. That is what I am trying to achieve by the end of this project.
Anyway, for this post, I will be only documenting the first stages of my project. I originally played around with the idea of two ultrasonic sensors acting as a pair of 'eyes' for the user when they wear the glasses which is connected to 2 Arduino UNO boards both equipped with an MP3 Shield. The MP3 shield is just there because I want to trigger interesting and helpful sound samples as feedback from a microSD card instead of just a boring 'beep' that comes with the default tone library in Arduino IDE. The Arduino's then send the signal to a pair of normal headphones in which the user also wears. I wanted to combine the sensors to a single Arduino board but the audio streaming limitations of the Arduino meant that I couldn't send out audio information from the two sensors at the same time through independent channels.
First of all, I would like to say that this project is not completely original since lots of companies and startups have taken on this problem of blind self-navigation before, which means I am just making a DIY version of a complex version. I would also give a shout-out to Suneth Attygalle for his work on his 'Ultrasonic Batgoggles' project on Instructables since I have taken inspiration from his range-finder code in order to make my device work (however, my final code tweaks this a bit). If you guys want to go check his work out, here is the link to his Instructables project right here : Ultrasonic Batgoggles , as well as his personal website : www.suneth.com
Let's start by going over the first stages of this ongoing project.
Part One: Experimenting with the HC-SR04 and MP3 shield
When I first bought the HC-SR04 and the MP3 shield to stack on top on my Arduino Uno boards, I was trying to come up with some sort of audio language in order for the users to understand their environment through sound. What I came up was almost like a parking sensor that you would find in cars. The user would hear a series of constant beeps, in which the pause between beeps would correspond to the relative motion of the user to obstacles. For example, when a user is approaching the obstacle, the beep delay would become shorter and when the user goes farther away, the beep delay would be longer.
I then coded up a basic prototype for one sensor and filmed to see how it turned out. Here it is below:
I then coded up a duplicate for the other sensor. The final progress for this stage turned out to be like this:
Finally, a colleague of mine managed to 3D print out some prototype glasses in order for me to do some beta user testing. The sensors were fitted on the lens of the glasses and the Arduino boards were connected to a pair of basic headphones through a basic AUX chord. The ideal situation would be for the sensors to be connected wirelessly to the Arduino which would then connect to a pair of wireless headphones. However, for the time being this was the only substitute that I could come up with. Here is a video of my colleague wearing the prototype glasses and navigating himself through a room of chairs.
Here is also the code that I have uploaded to each Arduino board in order to achieve the binaural goal.
Stay tuned for the next post of my project blog in order to stay updated on the progress. I will be making a part 2 soon.