CORONAVIRUS (COVID-19) RESOURCE CENTER Read More
do-it-yourself

DIY Haptic Proximity Module (HPM) for Low Vision users

AbleData does not produce, distribute or sell any of the products listed on this website, but we provide you with information on how to contact manufacturers or distributors of these products. If you are interested in purchasing a product, you can find companies who sell it below.

The Haptic Proximity Module (HPM) is designed to enable people with low vision, or other vision impairments, to engage with their direct surroundings through vibration feedback from a range detector. 

Materials Needed:

  • Strip Board [circuit mounting,JayCar] (approximately $6)
  • McDonald's Straw [perfect diameter as a shroud to suit the vibration motor bellow] (free)
  • Arduino Nano v.3 (compatible) without headers soldered [sourced from ebay, but can be found on Deal Extreme] ($14)
  • Devantech SRF05 Ultrasonic Sonar Range Finder [distance sensing, from Robotgear.com.au] ($26) (Cheaper Options: HC-SR04 $4 from DX.com)
  • Female Header 1x4 pin Straight 0.1 inch [socket for ultrasonic sensor, from Robotgear.com.au] ($0.45)
  • Break Away Headers 40 Pins [Robotgear.com.au] ($1.75)
  • 6 millimeter Tact Switch [Jaycar] ($0.95)
  • 3 Volt DC Vibrating Motor [Jameco part No. 256382] ($4)
  • Sub-Mini Toggle Switch [jaycar] ($2.45)
  • 50k 9mm Square Potentiometer Linear Single Gang (qty. 2) [JayCar] ($2.75 each)
  • Knobs (quantity 2) [JayCar] ($0.95 each) pick something different/recycle old knobs if you have them
  • Economy Breadboard Jumper Kit - 5 Colors [JayCar?] ($3.45)
  • Duracell 6V PX28L (2CR11108) 160mAh battery (qty. 2) [HollyHockBatteries.com.au] ($12.80 each) (Cheaper option from Jaycar $3.25 each)
  • Battery Holders PCB mount 1/2 AA (qty. 2) [RS Australia] ($3.95 each)
  • Approx cost: $99.95 (+$50 for any further costs - generous estimation)
  • Approx with cheaper options: $56.95 (+$50 for any further costs - generous estimation)
  • Heat Shrink
  • Solder
  • Isopropyl Alcohol (pads from Jaycar $4.95)
  • Wire for proximity sensor
  • Masking Tape
  • Electrical Tape
  • Velcro Cable tie (in a small roll - this part is optional see optional step)

Tools:

  • Soldering iron and equipment
  • Third hand
  • Coping saw or band saw
  • Pliers
  • Plastic cutting tool
  • Scissors
  • Permanent marker
  • Mini flathead screw driver
  • 1.15 millimeter drill bit
Technical Specifications: 
  • Step 1: Board Prep, Layout and Cutting. The battery holder has a little plastic nodule that needs to be trimmed off, do this with the plastic trimmers. Layout 2 x 9 millimeters Pots, 1 x Arduino nano, 1 x tact switch, 1 x 1x4 header, 2 x battery holder on the non-copper side of the strip board. When you're happy with this, mark it out using the permanent marker. Also mark-up the cutting outline - leave one or two rows of holes away from where you'd actually want to cut, depending on how you cut the board it may shatter. If you're more confident you can get a precise cut go for it! Use the coping saw to cut up the board. Drill out the holes where the battery holder will go into as they are slightly larger than the strip board holes. Clean up the copper surface with isopropyl alcohol
  • Step 2: Prep the Sensor. Prep the sensor by soldering on the wires and header.
  • Tips: Place heat shrink over every second wire before heat shrinking the whole connection. Depending on how you've connected the Arduino pins to the 1x4 female headers, solder the relevant wires on the sensor to that of the male header. i.e. Trigger on sensor to trigger on Arduino. This will mean you can just plug straight in.
  • Step 3: Solder up the Board!
    • Order of soldering: Arduino Headers on to the board (it is important that the Arduino is NOT attached to the headers), note: it is best to solder the short end of the header through, in case you need extra height between the Arduino and board to clear any jumpers. The pots and tact switch on - note that the position is different from the marked position in the previous step. Battery holder and 1x4 straight headers. Once this is done mark out where the jumper cables will be soldered.
    • Jumper leads: Solder 1x4 straight headers to digital pin 8,9,10, GND (VCC, Echo, Trig, Ground). Battery Holders - in parallel, ground to ground, positive to positive - make sure that this strip is empty and only batter power runs on this.Tact switch ground and digital pin 4. Potentiometers: as they are on a common strip with the tact switch ground this part is done.  Solder one pot to Analog pin 6 (A6) and the other to 7 (A7). Solder the voltage to 5 volts. Solder two wires onto the toggle switch; this will be used to bridge the battery positive strip with the VIN pin on the Arduino. Put some heat shrink on to the switch's terminals.
    • DC Motor: Position it to the rear, directly on to the copper, blue to GND and red to Digital pin 3. Cut McDonald straw to length and then tape it on, making sure you cover the rotating part of the motor with enough straw. To finish the circuit you will need to break up connections on the strip board. There are two ways to do this, the messy way and the clean way. This is the messy way: Once everything is soldered, mark out with a permanent marker where the breaks need to happen.Proceed to cut the breaks in with a pair of plastic trimmers, some areas will be tricky and delicate - carefully use a sharp blade for this.
  • Step 4: Prep & Solder the Arduino. Before you solder the Arduino, be sure to remove the 3x2 row headers, this can be done by de-soldering them or just trimming the headers off - this is to create more clearance between the Arduino and ultrasonic sensor. Cover the Mini-USB port with electrical tape to prevent any accidental short circuiting from touching the back of the ultrasonic sensor or any other exposed wire. This will prevent damage to the Arduino! Flip over the Arduino and place a length of electrical tape over the back to prevent any shorting from the jumpers. Ensure the tape is cut to width so not to impede header pins. Slide on Arduino to header pins and solder them on. Note: to save time, you may solder only the pins that are being used. Once soldered attach Sensor and cover the back of the strip board with electrical tape in order to attach the motor and cover the solder joints.
  • Step 5: Load the Code. Understanding this part of the process will help you understand how to solder it together.  Do not be afraid to try this out in breadboard first! In fact I recommend you have a dry run using a bread board - it will really help you learn about the circuit and how to manipulate its functions. Download Arduino 1.0.1. Download the HPM ZIP package below, it includes the two libraries that have been modified to suit Arduino 1.0.1. Install the Ultrasonic and Button library from the HPM code package into the Arduino environment. Once that is done, open the code in Arduino. Select the type of Arduino and serial port. Connect the Arduino using the micro USB cable, NOTE: ensure that the power from the batteries has been switched off! Verify the code and then transfer on to the Arduino! Check that the code is working properly.  Open the serial monitor to get a range, motor pwm and position of distance/PWM max settings. Have a play and see how the values change!!
  • Step 6: Optional Step. This is an optional step. Get the Velcro ziptie tape and wrap it around the board, this makes it easy to use the Velcro tape as a means of attaching it to the body via a strap or develop your own housing using 3D CAD and Printing.
  • Step 7: Video and Suggested Uses. Suggested uses (images for suggested use to come): Velcro it to your forehead and go for a walk around the house.  Once it is completed, Velcro it to your leg, either above or below the knee.  Walk around to see how you may feel your way around furniture. Try attaching it to your waist, maybe on a belt? Attach it to your back and see what it’s like when people walk up from behind!
  • Step 8: The Next Level: Custom PCB and 3D Printed Housing. Custom PCB to suit components and fit within the 3D printed housing. The PCB has been designed to suit components listed in the beginning of these instructions. This should hopefully make construction a bit quicker and easier. Custom PCB has been included as Gerber files in a .zip and 3D printed housing as STL files. The Gerber files still have some trouble, but they have been tested and printed so please tweak as you see where they need to be!

Author:  ishamsul

Available

Price Check
Price: 
100.00
as of: 
07/07/2015
Additional Pricing Notes: 
Estimated cost for purchasing materials.
Seller(s): 
DIY Haptic Proximity Module (HPM) for Low Vision users