Individuals who are blind or have vision impairments often navigate by avoiding obstacles with the help of a walking cane. However, using a walking stick often isn’t feasible for those who also have mobility issues and rely on a walker or gait trainer.
Attaching a pair of proximity sensors to the walker or gait trainer may be valuable for these individuals. As the individual approaches an obstacle, the proximity sensors can alert the user by sounding a tone or vibrating a motor. This page describes a DIY, inexpensive system (less than $70) for this functionality. The parts are all available off-the-shelf and can be assembled with a screwdriver.
Note that this system should NOT be used to alert the user to a downward change in elevation, such as at the top of stairs or a curb from the sidewalk to the street. The walker or gait trainer should only be used on level ground when equipped with these proximity sensors.
Also, note that these ultrasonic sensors will not work well or at all in environments with “soft” obstacles. For example, the sensors will probably not trigger when they come close to curtains or bedding.
Finally, note that the sensor sends out signals in the shape of a cone. If the cone doesn’t spread far enough laterally to encounter an object, the sensor will not be triggered. Experiment with different positioning and angling of the sensors so that they trigger when an obstacle will be a problem and don’t trigger when an obstacle will not.
Using the Proximity Sensor System
This video shows the Proximity Sensor System in use:
Parts List (Bill of Materials)
Hardware
The following electronic components and other hardware are necessary to assemble the system.
* You may want to experiment with the placement of the control unit, buzzers, and sensors before choosing particular phone cord lengths.
In addition, you’ll need a micro USB data cable to load the proximity sensor software onto the Raspberry Pi Pico. Unfortunately, many of these cables are for “charging,” not for exchanging “data.” If you have the wrong cable, it will become apparent during the assembly process. Don’t worry; try a different cable or purchase a data cable.
Additionally, you will need a USB charging cable for the 18650 rechargeable batteries. The specific style of USB connector (micro or Type-C) will depend on the particular DIYmore battery holder you purchase. We prefer to use general-purpose, magnetic charging cables like these. They will come with inserts for both USB micro and USB Type-C connectors. The ability to connect your charging cable magnetically is very convenient.
3D-Printed Enclosures and Mounting Options
The proximity sensors, buzzers, along with the Raspberry Pi and rechargeable batteries, are contained in 3D-printed boxes or enclosures. Additionally, you’ll need a number of clips to mount the enclosures and three small “clamps” to aid in the management of the jumper wires.
This page lists all of the available 3D-printable parts to help you enclose and mount the various devices. The page also provides instructions on how many parts of each type you’ll need and how to use them during the assembly process.
Software
You will use the free Thonny program to put the proximity sensor software on the Raspberry Pi Pico.
Download and install the latest version of Thonny on your computer. It’s available for Windows, Mac, and Linux.
Download a copy of the MicroPython Firmware for the Raspberry Pi Pico.
Download a copy of the Walker Proximity Sensor System software.
Connect the USB data cable to your computer. Now, hold down the white button on the top of the Pico and insert the other end of the USB data cable into the USB jack on the Pico. Release the white button. This will cause the Pico to appear as an external drive connected to your computer.
Copy the MicroPython Firmware file to this new drive. The Pico will reboot, and the external disk will disappear from the computer display.
Launch Thonny and configure it to talk to the Pico using MicroPython.
First, open the “Configure interpreter” dialog:
Specify that you’ll be speaking MicroPython directly to a Raspberry Pi Pico:
Next, select the Pico “board” from the list of ports on your computer (there’s no board connected on this computer, so refer to the video below to see what this step actually looks like):
Now, open the downloaded Walker Proximity Sensor System software file.
Perform a File > Save as… and save the program to the Raspberry Pi Pico with the name “main.py”.
You can now test the software on your parts assembly. Refer to the video and replicate it with your assembly.
This process step is described in the following video:
Lastly, download a copy of the “assembly test.py” and “main.py” Python programs. Right-click on each of these links and choose “Save link as…” (or the equivalent for your browser) to save each item as a file.
Put the two files in a place where you’ll be able to find them during the assembly process.
Assembly Process
Create all 3D-printed parts while waiting for your hardware purchases to arrive. Use the control unit and component enclosures to determine the best mounting option for your walker or gait trainer. This video shows what that process will look like:
You will need a USB A to Micro-USB cable to charge the batteries and load software onto the Raspberry Pi Pico, a scissors to cut wires, super glue to hold the wires inside the small 3D-printed clamps, pliers to crimp the wire connectors, a ruler to measure the wires, and a pen to record the wire color used for each purpose.
I also can’t adequately recommend purchasing a set of magnetic charging cables. They will make it much easier to connect to the control unit for charging. The magnetic charging tips can be inserted and left in place, eliminating the need to repeatedly insert a small micro-USB plug into the fragile jack on the battery shield, which will eventually break unless you’re unreasonably careful.
Continue with the assembly process here.
Needed Improvements
The system, as currently designed, has some clear shortcomings. The buzzers need to be louder, and it would be wonderful to add haptic feedback along with the buzzers or in place of the buzzers. If you have any ideas on how to do this using off-the-shelf components that can be included in the assembly using only a scissors, a screwdriver, and pliers, we’re all ears!
Do you have any ideas about how to improve this design? Provide some information below:
Your message has been sent