Ultrasonic Blind Walking Stick
According to the WHO, about 30 million people are estimated to be permanently blind worldwide. These people are totally dependent on others. They even cannot walk on their own. We have created designed and built an “Ultrasonic Blind Walking Stick” device which will help blind people to walk with ease independently. As a simpler version, we have used only one ultrasonic sensor in this project. For better accuracy and assistance two or three sensors can be used.
The main objective of this project is to help blind people to walk with ease and to be warned whenever their walking path is obstructed with other objects, people or other similar odds. As a warning signal, a buzzer is connected in the circuit, whose frequency of beep changes according to the distance of object. The closer the distance of obstruction, the more will be the buzzer beep frequency. We can say that the beep frequency is inversely proportional to the distance.
The main component used for this device is the ultrasonic sensor. The ultrasonic sensor transmits a high frequency sound pulse and then calculates the time to receive the signal of the sound echo to reflect back. The sensor has 2 circles. One of them acts as the transmitter and transmits the ultrasonic waves. The other one acts as a receiver (mostly a small microphone) and receives the echoed sound signal. The sensor is calibrated according to the speed of the sound in air. With this calibrated input, the time difference between the transmission and reception of sound pulse is determined to calculate the distance of the object. This circuit is powered by a 9-volt battery through a switch.
In the circuit an Arduino Nano is used as the platform. Ultrasonic sensor is connected to Arduino. The ultrasonic sensor has 4 pins –
- Vcc or 5 volt which is connected to 5 volt pin of Arduino
- Trigger which is connected to D12 pin of Arduino
- Echo pin is connected to D11 pin of Arduino
- Ground which is connected to GND pin of Arduino.
Positive terminal of 9-volt battery is connected to Vin pin of Arduino through a DPDT switch and the negative terminal is connected to GND pin of Arduino. A buzzer is connected between D9 pin of Arduino and GND pin.
The whole project has been designed on Eagle. The same circuit prototype can be made using a breadboard or zero PCB. The circuit diagram and PCB design are given below.
As shown in diagrams there are two openings in Ultrasonic sensor first is transmitter (or Trigger) and second is receiver (or Echo).
Ultrasonic sensor sends high frequency pulses, these pulses reflects from object and takes as Echo, time between echo and Trig is measured by the microcontroller or Arduino which is directly proportional to distance.
The speed of sound is 341 meter per second in the air, and the distance between sensor and object is equal to time multiplied by speed of sound divided by two.
Distance = (Time * Speed Of Sound) ÷ 2
After the distance measurement, Arduino makes a beep format using buzzer, when distance is high, frequency of beep is decreased and beep frequency is increased when distance is low
The range of HC-05 Ultrasonic sensor is not high, it can only measure 50cm in open space, for more distance many other powerful sensors are available in the market.
Code file is given in the link, just download this file and upload to Arduino. In the code, a library is used by the name Ultrasonic.h, this library is not added in Arduino by default. For adding this library to Arduino download the zip file from the link https://github.com/JRodrigoTech/Ultrasonic-HC-SR04. Extract the file and copy the folder inside the extracted folder and paste in library folder whose location is This PC > Document > Arduino > libraries.
In the first line of code, ultrasonic library is declared by “#include <Ultrasonic.h>. In the second line pins of ultrasonic sensor is declared by line “Ultrasonic ultrasonic (12, 11)” in which 11 is “Echo” pin of Arduino and 12 is “Trig”.
Next an integer is declared by the name “buzzer = 9” here 9 is the D9 pin of Arduino.
In the “void setup()” buzzer is the pin declared as Output pin by function pinMode (buzzer, OUTPUT)
In the void loop section an integer is declared by the name distance ,which is equal to distance measured by ultrasonic sensor, for the distance measurement a function “ultrasonic.Ranging(CM)”is used. This function measures the distance in Centimeter.
Now we want to make a beep signal, when distance is less than 50 cm so if any condition is used “if (distance<50). When this condition become true Arduino measures the “dil” which is equal to 2*diatance. This “dil” is an integer and defined in the same line.
Now buzzer is switched on by using “digitalWrite(buzzer,HIGH” and a delay of dil time is given after that buzzer is switched off by using same function. digitalWrite(buzzer,LOW)” after all delay of dil is also dicen by function “delay(dil)”