VIA (Visual Impairment Aid)

51,874

304

79

Posted

Introduction: VIA (Visual Impairment Aid)

This project was my take on a DIY visual impairment aid that uses haptic and sound feedback. Basically it uses a distance sensor to measure how far objects are from it and then it beeps/vibrates accordingly (far away is slow vibrate/long beep delay and close up is fast vibrate/quick beeps). Real quick I'd like to acknowledge that I'm not the first to do something like this, but I have added many things to it that are different from designs I have seen. This isn't being used for commercial purposes but just as a guide for others to make them for people who would actually benefit from having them. The difference between this project and others is this project uses one distance sensor (as opposed to many) to make feedback more specific and simpler to interpret, use of both haptic and sound feedback, the mounting of the device under the arm and not attached to the hand (keeps it free to feel where you're going and use for daily tasks), and a few simple control buttons on the case (I also put the word for each button in braille next to them). What I really like about the design is how compact and sturdy it is. I wore it around for a few hours to get used to it and found it didn't hinder too many of my daily activities (I found it fit in sleeves too!). See it in action!



This project uses a 'kit' of electronics that can be purchased at any electronics store (like radioshack) and is a good beginner project into arduino/electronics. No programming skills are needed to do this project, as I have included my code! The case is 3D printed and I have included the files on thingiverse, but I have also uploaded it to Shapeways so anyone can order and have the custom enclosure to make this project.

Step 1: Parts

The electronics for this project are all a 'kit' that can be bought at an electronics store, such as Radioshack. I've also added links to show the exact part used.

Electronics:
1x Arduino Micro
1x Buzzer speaker
1x Slide switch (for on and off)
2x Pushbuttons (I used large 12mm ones)
2x Resistors (I used 2k Ohm ones)
1x Quarter size proto board
2x Vibrating motors (this isn't completely required if you have a buzzer, but is highly recommended)
1x Distance sensor
9V Battery
Wire

Housing:
This can be made out of whatever surplus material you have, but I'll go into more detail about building this later.
No matter what your housing is, you will most likely need:
1inch wide straps
velcro patches

Step 2: The Basic Circuit

Now it's time to make a mock-up of the circuit. I bread boarded mine at first to make sure it all worked and test the program and so I really recommend doing something similar before you solder everything. You can see the basic circuit for my components below. Feel free to use whatever parts you have and modify it accordingly. Note that the vibrating motors MUST be attached to PWM pins to be controlled correctly. Once you've got it set up, you are ready to download the program and try it out for real!

Step 3: The Program

You can download a TXT file on this step for my program! Just copy paste it into an arduino sketch and upload it to your Micro. This program was written for use with my exact circuit, so if you're only using one button or have a different distance sensor feel free to modify it as needed. Make sure when uploading that under 'Tools' you select Arduino Micro, it will pick Arduino Uno as a default which could cause some problems.

For this program I use two buttons. One toggles between having the device give sound, haptic, or both types of feedback. The other button switches between long and short distance mode. That just means that in short distance mode the beeping/vibrating is scaled so it's easier to tell differences between things close up (<3 feet) and long distance mode makes it easier to tell things far away (~10 feet max).

Step 4: Soldering

Since you are all capable DIYers and will probably modify the circuit to fit your needs, I'm not going to walk you through the soldering wire by wire. For those new to soldering check out this instructable HERE. Make sure to refer back to the pictures of my circuit. Once done with soldering you will have a jumble of wires and components, make sure to use some electrical tape or the sort to cover all the solder joints and prevent inadvertent circuit connections.

Recommendations:
Clip the six leads on the back of your arduino micro, this makes it fit much better in the case.
Place your buttons and switch into the breadboard and press it into the lid so that the components are held in their place while soldering.

Step 5: Making the Enclosure

When building my enclosure, I was lucky enough to be able to 3D print a custom casing. For those who have the capability I have included the STL files on Thingiverse HERE, but for those who don't I have also uploaded the case to Shapeways HERE so it can be ordered! I cut a grill pattern into the design on Shapeways because it brought the cost down a lot. Obviously this can be made out of any materials though, so if you want to try and design it out of wood, cardboard, etc go for it! My rough dimensions for the inside of the box were 130mm x 46mm x 28mm. The lid has holes for the two buttons and the power switch and also has small braille writing that tells what each button does. It has cutouts in the front and back for the distance sensor and speaker as well as little walls to keep the battery and arduino in place. Lastly it has cutouts in the bottom for vibrating motors. To assemble this lid you will need:

4x M3 bolts (~16mm in length)
2x M3 hex nuts

Step 6: Adding Straps

In my pictures you can see I folded over one part of the strap and sewed it around one notch on the case. Then on the other side of the strap I pulled it through the opposite notch and sewed velcro patches on opposite sides of the strap. Repeat this process for the other strap.

Step 7: Assembly

Assembly goes in the same order as pictures, so check there if confused. Also to get a nice tight fit some components may need to be wrapped in a layer of electrical tape or thin foam.

1. Take the buzzer speaker and pop into its place on the back wall of the case.
2. Take your arduino and slide it between the outer wall on the right side and its place holding walls.
3. Take the vibrating motor and line it up with one of the cutouts in the bottom, push it through flat against the table you are working on. Next take some electrical tape and cover the hole so it can't pop back inside during use. You may need something a bit stiffer like a layer of cardboard to help too.
4. Take your 9V and slide it into the opposite side as the arduino.
5. Take your lid and screw in two bolts on the left and right side. Now take your breadboard with the two buttons and switch, line up the components so the bolts fit through the mounting holes of the breadboard and the components are able to stick through there designated holes in the lid. Take two hex nuts for your bolts and tighten them so the breadboard is firmly secured.
6. Carefully fold wires into empty openings in the box and slowly try to move the lid to its place on top of the lower part of the case. Once everything is packed, take your two remaining bolts and screw them into the top and bottom holes of the case. You're assembled!

Step 8: Final Thoughts

This project, although simple, has the ability to make a positive impact. It's pretty basic right now, but with some higher-end sensors this could be an extremely effective tool. I hope you like it, and let me know if you do anything cool with it! Feel free to post constructive criticism or ideas for improvement!

Share

    Recommendations

    • Microcontroller Contest

      Microcontroller Contest
    • Spotless Contest

      Spotless Contest
    • Science of Cooking

      Science of Cooking
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    79 Comments

    Hello! This is my first project and astonishingly I succeeded in doing it. But there is a problem with my project. The buzzer is not working ..which is connected to the pin 11 and ground ....but when i placed the buzzer in pin 9 and 10 it buzzes.....so i googled for problem and found that the 11th pin in arduino nano is not a pwm pin, instead the 12th pin is pwm ...so i changed the code accordingly but it didn't work at all..kindly help me to use both haptics and sound ....or else i have to use only sound........I really loved this project...Had a great start because of you ....kudos young man...hope to see some interesting and useful projects from you in the future

    What would change if I have the HC-SR04 instead of ping?

    Love it, a really nice and useful instructable

    patrick if i ll use another companies distancce sensor does it effeccts coding and what is that 5v on circuit diagram on arduino micre

    can i use arduino nano instead of micro in this project???? reply fast plz need it science exibition

    I really love ur project.

    I m going to make this project for my final year diploma in computer engineering

    my question is why u have used push buttons

    Read :

    For this program I use two buttons. One toggles between having the device give sound, haptic, or both types of feedback. The other button switches between long and short distance mode. That just means that in short distance mode the beeping/vibrating is scaled so it's easier to tell differences between things close up (<3 feet) and long distance mode makes it easier to tell things far away (~10 feet max).

    Hi .. this is an amazing instructable and i thank you for sharing it ! :)

    I have a doubt. Arduino micro is unavailable where i live and Online purchases are expensive ...

    Can this project work with Arduino Pro mini ? :)

    Thanks.

    Nice project!

    I made same one. But mine is telling the distance when a block appears in front of the ultrasonic sensor. You can check my project. :)

    https://www.instructables.com/id/Arduino-wtv020-Sd-16P-Talking-Distance-Meter/