Introduction: Obstacle Detecting White Cane

In my school, my teacher was talking about assistive technology and how we can make tools to help other people. I was intrigued by this idea, so I decided to create a warning system for unpredictable obstacles for those who are visually impaired. For this project, I used Tinkercad, Microbits, an Arduino nano, a sensor, a buzzer, and many other tools. I had to tweak my project along the way, but it has come out to work very effectively and efficiently.

Supplies

-1 Arduino nano

-1 optical distance sensor

-2 switches

-2 Microbits

-2 battery packs

-4 batteries

-soldering iron

-solder

-3d printer

-3d printing filament

-wires

-heat shrink tubing

-heat gun

Step 1: Soldering All the Components Together

Distance Sensing Component:

You will need to solder the optical distance sensor to an Arduino nano and the Arduino nano will need to be soldered to the Microbit. A battery pack will have to be soldered to the Microbit to provide the whole configuration with more power. To control the power, solder a switch between the Microbit and the battery pack. Attach heat shrink tubing when connecting wires to the switch.

Sound Making Component:

You will need to solder a buzzer and a battery pack to the Microbit. To control the power, solder a switch between the Microbit and the battery pack. The buzzer should be soldered to pin 0 for the code to work. Attach heat shrink tubing when connecting wires to the switch.

For my exact wiring, refer to the diagram above.

Step 2: Coding

To code the Microbits, I used the website https://makecode.microbit.org/. I have provided you with the code for each of the components.

Distance Detecting Component Code:

https://makecode.microbit.org/_ao5hUgM8Af8e

Because the Arduino nano is soldered to pin 1, the code will get the values from pin 1 and send those values using Bluetooth to the Microbit in the sound making component. To understand the code better, you will need to know what Serial lines are. Serial communication is where data is sent and received using serial lines. in the code, you will see the word serial being used a lot. It is being used because the Microbit receives data along a serial line from the Arduino and it needs to be able to send this data to the other Microbit in the sound making component using Bluetooth.

Sound Making Component Code:

https://makecode.microbit.org/_coEDmhcz6iTP

In this code, the Microbit will receive the data that the Microbit from the distance detecting component sent and it will then make the buzzer make a sound with a certain frequency. Many if and else if statements are used to create a certain frequency based on the number received. A greater number means that the distance sensor is farther away so there will be a lower pitch, and a smaller number means that the distance sensor is close to an object so a higher pitch will be created. The user will be able to identify if there is an object in the way based on the pitches created by the buzzer.

Step 3: 3D Printing the Cases

You will then need to print two cases. One for the sound component which will go around the user's neck and one for the distance sensing component that will attach to the cane.

Step 4: Putting All the Parts Together

You will then need to put the sound making components in one of the cases and use tape or glue to close the case securely. Do the same thing for the distance detecting component. Make sure the distance sensor is placed at one of the open holes, so it can take measurements. Also, make sure that the buzzer is placed at one of the open holes, so the user can clearly hear the sounds being made.

Step 5: Final Touchups

Attach a lanyard to the sound making component so that it will fit over the user's head, and glue the distance making component to a pvc pipe or a cane.

Assistive Tech Contest

Participated in the
Assistive Tech Contest