View Sidebar
“Virtual Cane” for the Blind, Powered by Arduino and Android

“Virtual Cane” for the Blind, Powered by Arduino and Android

January 28, 2014 12:58 am112 comments

View Gallery

The Abstract

When used by a blind individual, this device will replace the traditional White Cane. Furthermore, the device acts as a personal assistant, responding to many commands said by the user, such as, “call my brother”, “what is my current location”, “take me to <address>”, along with others. Despite the large feature set, the device will only cost slightly more than a white cane, about $80. When the user speaks a address the device will provide audible directions. I named the device VAVI: Virtual Aid for the Visually Impaired.

The Hardware

Although a smartphone does most of the processing, to reduce the cost, the device still requires hardware components, each playing an essential role in the overall functionality.

A custom PCB that I designed in Eagle CAD acts as the “brain”. It integrates the bluetooth module, AtMega328 processor and other essential electronic components. A MaxBotix ultrasonic sensor takes care of object detection, preventing the user from bumping into stuff in their path. This device is cheap, small and very accurate. A vibration motor along with a piezo buzzer provide the user with audible and physical feedback. A 850mAh rechargeable LiPo battery acts as the power source. Finally an induction coil is used to wirelessly charge VAVI.

Roman Kozak - Virtual Cane

Roman Kozak - Virtual Cane

The App

I designed and programmed an Android app in Java. Since the app will be used by a visually impaired person a graphic UI is nonexistent. Instead, a user interacts with the app by the means of voice prompts and commands. Below are screenshots of V1 of the application, V2 is in the works and will be completed in about 3 weeks.

The Commands

When the personal assistant is launched the user can say the following commands with the bellow outcomes.

“go to <address>”

The application will load the directions using the Google Maps API, then give the user audible directions until they reach their destination. Objects in front of the user, blocking their path, will be detected by the ultrasonic sensor and the user will be given a audible warning “object detected”.

“call <contact name>”

The application will call the specified person.

“send <contact name> my current”

The application will send the specified person your current location in the bellow format.

“what is my current location”

The application tell you your location.

“help”

The application will say a list of commands available to the user.

“find my device”

The vibration motor and the piezo buzzer on the device both switch on. A user would use this command if they dropped, lost or misplaced VAVI.

The Outcome

Regional Science Fair

In March of 2014 I competed at the Niagara Regional Science and Engineering Fair and won a Gold medal and the following sponsored awards:

  • Consulting Engineers of Ontario
  • Niagara Electrical Association
  • Hatch Engineering

Roman Kozak

Canada Wide Science Fair

In May of 2014 (10th – 17th) I competed  at the Canada Wide Science and Engineering Fair in Windsor, Ontario and won a silver medal and the following awards:

  • Western University Scholarship $2000

IMG_3436

Google Science Fair

I have entered my innovation in the Google Science Fair.

RESULT PENDING

 

 

VAVI In the News

2014-04-12  Hack a Day | A Virtual Cane for the Visually Impaired

2014-04-13 technabob | Virtual Cane Helps Blind People Move Around with Voice Prompts

 

112 Comments

  • I think this article is quite interesting 5/5

    • Hi,I already bhogut the device based on first post. When you start with Ethernet functionality I am interested how you are going implement it. The libary is far more complex than the arduino one

  • I do believe that Arduino’s are made of GYPSY MAGIC for more on magic visit my website!!!

    • Hi Mark,Yeah, I saw the >250 pages of documentation of the uIP TCP/IP stack and tguhoht to myself: lets not immediately start with too complex stuff It would be very nice if I could get a messaging client running on the simplecortex though; but that will probably take some time to accomplish.

  • This is an amazing invention Roman

  • Joanne Battersby

    Wonderful Roman.
    Wishing you all the VERY BEST at the next competition.
    So very proud of you always.
    Hugs The Battersby Bunch

  • Jacob

    This is some great work! I saw the link from Hackaday.com and would love to see a youtube demonstration!

  • Kathleen Guevremont

    That is a great “invention” you have made this time, Roman. Very proud of you! Take care of yourself…keep me in the loop.

  • Very cool project! One thing you may want to consider is that the white cane serves not only to help find obstacles, but also to let others know that the user can’t see. With so many people walking around with their heads down looking at gadgets, maybe this is less important now. Still, every little bit of visibility helps. My cane has helped me avoid being run over a number of times. Keep going, and good luck!

    • Alleen

      Unfortunately, most of the public that can see the white and red cane have no idea what it means and run right into the visually handicapped anyway.

  • schenn

    As a person with developing glaucoma, this makes me happy. However, this device is lacking some specific features of the ‘white cane’. Such as the ability to detect curbs when approaching an intersection as well as informing the people around you that you can’t see them and to please be aware of your passage.

  • Steve Jacobsen

    We did a similar project at our institute. We finally decided not to use voice output in case the person was also deaf as well as blind, so we used electric shocks to inform the subject of danger. An 8×8 shock matrix at the back of the neck provides 64 distinguishable points of reference. You can make the shock points move by shifting the point in the matrix.

  • Bill Gates

    Hey Roman, my name is Bill.

  • Joonseo Chang

    Hi! My name is Joonseo Chang, I am 14 years old, and I am also entering the Google Science Fair. I have made various new diagnostic measures, software, apps, formulas, therapy-method, and research for the interaction of Alzheimer’s. I think your idea will win, but I was wondering if you could give me any tips or help of any type. Thank you. I have worked with Oxford Graduates, my local university, and people from various countries, mostly india. So, please contact me! I’ve got many ideas for you, and i was wondering if you had any ideas for me…thanks!

  • Joonseo Chang

    Hi! My name is Joonseo Chang, I am 14 years old, and I am also entering the Google Science Fair. I have made various new diagnostic measures, software, apps, formulas, therapy-method, and research for the interaction of Alzheimer’s. I think your idea will win, but I was wondering if you could give me any tips or help of any type. Thank you. I have worked with Oxford Graduates, my local university, and people from various countries, mostly india. So, please contact me! I’ve got many ideas for you, and i was wondering if you had any ideas for me…thanks!

  • Great, check-out my project. It is for people with Developmental Disabilities.

    https://www.youtube.com/watch?v=kwJ3uTXDpnU

  • Hi Roman Kozak,

    It was a nice invention you made. It is easy to see that you have the future in your hand.
    What you have done is very good and I know what I am talking about I have been inventor for many years, mostly in aircraft industry.

    The best advice I can give you is that you are very careful when you select collaboration partner.

    I heard in the video that you used SketchUp as Cad and design software, I recommend bonzai3D, the program also has very large development opportunities you can make animations and much much more if you go on to formZ is bonzai3D big brother. See more at http://www.formz.com/products/bonzai3d.html good luck with all your projects.
    Benny Brogan

  • Well I got tcp running (sending and rveeicing) and udp partially. But for me as a beginner it looks like allot of complex code for something which look so easy on a arduino.I’ll keep watching the blog for your experiences!

Leave a reply