Smart Blind Stick Using Arduino and Ultrasonic Sensors

Share This

Hello friends! Welcome back to ElectroDuino. This blog is base on Smart Blind Stick Using Arduino and Two Ultrasonic Sensors. Here we will discuss Introduction to Smart Blind Stick Using Arduino, Project Concept, Block Diagram, Components Required, Circuit Diagram, Working Principle, and Arduino code.

Introduction

We all have seen blind people? Their life is full of risk, even they can’t walk on their own. That’s why these people are always dependent on other persons or use a walking stick. The main aim of this project is to help a disabled person to live a normal life using advanced technology. Here we will build a “ Smart Blind Stick Using Arduino and Two Ultrasonic Sensors” device which will help blind people to walk with ease independently. This Device will warn blind people whenever any obstructed comes on their walking path.

Project Concept

This project is build based on a simple concept. Five key components are needed to build this project, these are two ultrasonic Sensors, an Arduino board, Buzzer, and a Vibration motor. Two ultrasonic sensors are used to detects obstacles at different hight. Then these sensors send data to the Arduino board. Now the Arduino calculates the distance between the sensor and the obstacle. Whenever an obstacle comes near these sensors, then the Arduino sends operating voltage to the Buzzer and Vibration motor. Then the Buzzer and Vibration motor turn on, these are used as indicators.

Block Diagram of Smart Blind Stick Using Arduino

Smart Blind Stick Using Arduino and 2 Ultrasonic Sensors Block Diagram

Components Required

Components NameQuantity
Arduino Nano with a USB cable1
Ultrasonic Sensor HC-SR043
5v Buzzer1
Small Vibrating motor1
Toggle switch1
9-volt battery1
9-volt battery connector1

Required other Parts and Tools

Tools NameQuantity
PVC pipe diameter 3/4 inch2 meter
PVC elbow connector diameter 3/4 inch1
Plastic board1
Soldering Iron1
Soldering wire1
Soldering flux1
Soldering stand1
Multimeter1
Desoldering pump1
Wirecutter1
Screwdriver1

Circuit Diagram/ Schematics of Smart Blind Stick Using Arduino and 2 Ultrasonic Sensors 

"<yoastmark

Circuit Wiring

We will show you how all components are connected with Arduino using the following Table.

Components PinArduino Pin
9-v battery positive(+) terminalArduino VIN Pin through the Toggle switch
9-v battery negative(-) terminalGround (GND) Pin
Ultrasonic Sensor 1 and 2 Vcc Pin5v pin
Ultrasonic Sensor 1 and 2 Gnd PinGround (GND) Pin
Ultrasonic Sensor 1 and 2 Trig PinArduino Digital Pin “D8″ andD10″ respectively
Ultrasonic Sensor 1 and 2  Echo PinArduino Digital Pin “D7″ andD9″ respectively
Buzzer positive terminalDigital Pin “D3″
Vibrating motor terminal 1Digital Pin “D2″
Buzzer Negative terminal and Vibrating motor terminal 2Ground (GND) Pin

 

Ultrasonic Sensor Module-HC-SR04 | How it’s Works

Working Principle of Smart Blind Stick Using Arduino

First of all, we should have understood why we are using two Ultrasonic sensors for this project. Here we placed Sensor 1 at the lower part of the walking stick and Sensor 2 at the middle part of the walking stick. Sensor 1 is used to detect objects which are attached to the ground. We have seen some objects which are standing on their legs (like a chair), but there is a gap between the legs of these types of objects. Sensor 2 is used to detect this type of object which are not attached to the ground. 

Ultrasonic Sensors Position on Smart Blind Walking Stick
Ultrasonic Sensors Position on Smart Blind Walking Stick

When we turn on the circuit power supply, at the same time the Ultrasonic sensors are transmitting ultrasonic sound waves from the transmitter parts. when any objects come in front of these sensors, then the ultrasonic sound waves reflect back from the object surface to the sensor receiver part, then the sensor receives this wave and generates Output. This output data goes to the Arduino nano. Then the Arduino calculates the distance between the sensor and the objects.

If one of the sensors detects the distance is less than 80 cm. Then the Arduino sends operating voltage to the Buzzer and the Vibrating motor. Now the buzzer generates sound and the motor start Vibrating.

If one of the sensors detects the distance is less than 60 cm. Again the Arduino sends operating voltage to the Buzzer and the Vibrating motor. But this time buzzer generates sound and the motor start Vibrating faster.

When the sensors do not detect an object. In this condition, the buzzer and the motor are stopped.

Interfacing Ultrasonic Sensor with Arduino | Ultrasonic Sensor Arduino Code

Arduino Code

/*
 * Program for Smart Blind Walking Stick Using Arduino and two Ultrasonic Sensors.
 * Code by ELECTRODUINO
 * Website: www.electroduino.com
 */

int trigpin1 = 8; // Defines Tirg pins of the Ultrasonic Sensor 1
int echopin1 = 7; // Defines Echo pins of the Ultrasonic Sensor 1

int trigpin2 = 10; // Defines Tirg pins of the Ultrasonic Sensor 2
int echopin2 = 9; // Defines Echo pins of the Ultrasonic Sensor 2

int BUZZpin = 3; // Defines BUZZER pins
int Vmotor = 2; // Defines Vibrating motor pins

void setup()
 {
  Serial.begin (9600);
  pinMode(trigpin1,OUTPUT); // Sets the trigPin1 as an Output
  pinMode(echopin1,INPUT);  // Sets the echoPin1 as an Input
  
  pinMode(trigpin2,OUTPUT); // Sets the trigPin1 as an Output
  pinMode(echopin2,INPUT);  // Sets the echoPin1 as an Input
     
  pinMode(BUZZpin,OUTPUT); // Sets the BUZZER as an Output
  pinMode(Vmotor,OUTPUT); // Sets the BUZZER as an Output
  
  }

  void loop()
  {
    // measure distane using ultrasonic sensor 1 and Print sensor deta in serial monitor
    long duration1, distance1;
    digitalWrite(trigpin1,LOW);
    delayMicroseconds(2);
    digitalWrite(trigpin1,HIGH);
    delayMicroseconds(10);
    digitalWrite(trigpin1,LOW);
    duration1 = pulseIn(echopin1,HIGH);
    distance1 = (duration1/2) / 29.1;
    Serial.print("distance1:");
    Serial.println(distance1); // TO Print sensor deta in serial monitor
   // delay(500); // delay for clearly shown in serial monitor

    // measure distane using ultrasonic sensor 2 and Print sensor deta in serial monitor
    long duration2, distance2;
    digitalWrite(trigpin2,LOW);
    delayMicroseconds(2);
    digitalWrite(trigpin2,HIGH);
    delayMicroseconds(10);
    digitalWrite(trigpin2,LOW);
    duration2 = pulseIn(echopin2,HIGH);
    distance2 = (duration2/2) / 29.1;
    Serial.print("distance2:");
    Serial.println(distance2); // TO Print sensor deta in serial monitor
   // delay(500); // delay for clearly shown in serial monitor



    //if any sensor senses distance less than 80 cm then the buzzer generates sound and the motor starts vibrating.
    if(distance1 <= 80 || distance2 <= 80 ) 
    {
      digitalWrite(BUZZpin,HIGH);
      delay(100);
      digitalWrite(BUZZpin,LOW);
      delay(100);
      digitalWrite(Vmotor,HIGH);
      delay(100);
      digitalWrite(Vmotor,LOW);
      delay(100);
     }

 //if any sensor senses distance less than 40 cm then the buzzer generates sound and the motor starts vibrating faster
    if(distance1 <= 40 || distance2 <= 40 ) 
    {
      digitalWrite(BUZZpin,HIGH);
      delay(50);
      digitalWrite(BUZZpin,LOW);
      delay(50);
      digitalWrite(Vmotor,HIGH);
      delay(50);
      digitalWrite(Vmotor,LOW);
      delay(50);
     }
   // else the buzzer generates sound after every 3 seconds for indicating the device is on         
    else 
     {
      digitalWrite(BUZZpin,LOW);
      digitalWrite(Vmotor,LOW);
      }
   } 

 

Share This

Leave a Reply

Your email address will not be published. Required fields are marked *