Ultrasonic Blind Stick

Embark on a groundbreaking journey as Robotshapers presents Arduino-based ultrasonic walking sticks, revolutionizing the way visually impaired individuals perceive their surroundings. These innovative sticks are equipped with state-of-the-art technology, combining ultrasonic sensors, GSM800, and NEO GPS modules to create an extraordinary assistive device.

Ultrasonic Blind Stick

Ensuring safety and practicality, our visually impaired-friendly design guarantees ease of use and durability. Through rigorous testing, we prioritize the performance and reliability of the system, instilling confidence in its role as a trusted guide.

Join Robotshapers in empowering the visually impaired community and embrace the transformative potential of Arduino-based ultrasonic walking sticks. Witness the fusion of technology and compassion as we reshape the world for a more inclusive future.

Arduino-based ultrasonic walking sticks equipped with GSM800 and NEO GPS can be designed for the visually impaired to see their surroundings. The stick uses ultrasonic sensors to detect problems early and alert the user with a combination of audible and vibratory feedback. In addition, the GSM800 module allows communication with emergency personnel or remote monitoring, while the NEO GPS module provides location information for tracking and navigation.

Components required:

  1. Ultrasonic Sensor
  2. Neo GPS
  3. GSM 800
  4. Arduino
  5. Buzzer
  6. Resistor - 10K
  7. 9V battery and clip (2 nos each)
  8. Plastic pipe or any stick

Layout of the system:


A high-level overview of components and project creation steps:

  1. Install Arduino IDE on computer and make sure Arduino board is properly connected.
    connects the ultrasonic sensor to the Arduino board. HC-SR04 usually needs pin pin, echo pin, VCC and GND connection. See the sensor datasheet or website for specific block instructions. Connect the GSM800 module to Arduino. This usually involves connecting the TX and RX pins of the module to the corresponding pins on the Arduino (eg TX to Arduino's RX, RX to Arduino's TX). Make sure to connect the VCC and GND pins of the module to the appropriate Arduino power pins.
  2. Connect the NEO GPS module to Arduino. Connection usually involves connecting the TX and RX pins of the module to the RX and TX pins of the Arduino, respectively. Connect the module's VCC and GND pins back to the Arduino power pins.
    Connect audio feedback devices (bell or speaker) and vibration motors to Arduino. The relationship depends on the products you use.
  3. See the component information sheet for connection instructions.
    Write Arduino code to read data from ultrasonic sensors, process data remotely, control voice feedback, and interact with GSM800 and NEO GPS modules. You can use the Arduino IDE or a text editor to write the code. Assign tasks to tasks for easier management and understanding of rules. Test and debug the code by uploading it to the
    Arduino board.
  4. Use serial communication to monitor the output and quality of sensors, input devices and communication modules. Mount the
    Component on a suitable platform such as a walking stick, making sure the ultrasonic sensor is facing forward for obstacle detection. 
  5. Shutter with a suitable power source such as a battery or power bank. The calibrates and fine-tunes the system as needed. Adjust the measuring range, audio input volume, vibration intensity and other parameters to optimize the user experience.
  6. Always consider the safety and practicality of the blind bar design. Encapsulate and secure products appropriately to protect them from external influences. Make sure the equipment is easy to handle and use. It is also important to thoroughly test the system to ensure performance before relying on it for guidance.

Circuit diagram:

Code:

#define B 10
#define S 6
#include <TinyGPS++.h>
#include 
SoftwareSerial mySerial(2,3);
const int trigPin = 4;
const int echoPin = 5;
long duration;
int distanceCm; 
char incomingByte; 
float latt =0;
float logg =0;
static const int RXPin = 8, TXPin = 9;
static const uint32_t GPSBaud = 9600;
TinyGPSPlus gps;

// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
void setup() 
{
  Serial.begin(9600);
  ss.begin(GPSBaud);
  // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(S,INPUT);
  pinMode(B,OUTPUT);
  mySerial.begin(9600);
  mySerial.println("AT");
  updateSerial();
  mySerial.println("AT+CMGF=1"); 
  updateSerial();
  mySerial.println("AT+CMGS=\"+xxxxxxxxxxxx\""); // enter your phone number here (prefix country code)
  updateSerial();
  mySerial.print("SYSTEM READY");
  mySerial.write(26);
}
void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distanceCm = duration * 0.034 / 2;
    
  if(distanceCm>0 && distanceCm<20)
  {
    digitalWrite(B,HIGH);
    delay(50);
    digitalWrite(B,LOW);
    delay(50);
  }
 
  if(distanceCm>20 && distanceCm<40)
  {
    digitalWrite(B,HIGH);
    delay(250);
    digitalWrite(B,LOW);
    delay(250);
  }
if(distanceCm>40 && distanceCm<60)
  {
    digitalWrite(B,HIGH);
    delay(500);
    digitalWrite(B,LOW);
    delay(500);
  }
if(distanceCm>60 && distanceCm<80)
  {
    digitalWrite(B,HIGH);
    delay(750);
    digitalWrite(B,LOW);
    delay(750);
  }
  if(distanceCm>80 && distanceCm<100)
  {
    digitalWrite(B,HIGH);
    delay(750);
    digitalWrite(B,LOW);
    delay(750);
  }
    if(distanceCm>100)
  {
    digitalWrite(B,LOW); 
  }
    if (digitalRead(S)==0 ) 
    {
      while(ss.available() > 0)
      {
      gps.encode(ss.read());
      if (gps.location.isUpdated())
      {
      Serial.print("Latitude= "); 
      Serial.print(gps.location.lat(), 6);
      Serial.print(" Longitude= "); 
      Serial.println(gps.location.lng(), 6);
      mySerial.println("AT");
      updateSerial();
      mySerial.println("AT+CMGF=1"); 
      updateSerial();
      mySerial.println("AT+CMGS=\"+xxxxxxxxxxxx\""); // enter your phone number here (prefix country code)
      updateSerial();
      mySerial.print("NEED HELP");
      mySerial.print(" at ");
      mySerial.print("http://maps.google.com/maps?q=loc:");
      mySerial.print(gps.location.lat(),6);
      mySerial.print(",");
      mySerial.print(gps.location.lng(),6);// enter your message here
      updateSerial();
      mySerial.write(26);  
    }
    }
    }
}
void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
  }
  while(mySerial.available()) 
  {
    Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
  }
}

Applications:

  1. Obstacle Detection: Uses ultrasonic sensors to detect obstacles in the user's path, helping the user navigate safely and independently.
  2. Navigation Assistance: Blind spots help users determine the distance between objects, sidewalks, and stairs, allowing users to walk more safely and efficiently.
  3. Public Transportation: Help identify bus stops, train platforms and boarding points to make it easier for the visually impaired.
  4. Shopping: Users can find products on the shelves, read labels and check product prices, thus supporting shopping freedom.
  5. Outdoor Mobility: Facilitates outdoor activities such as crossing trails, exploring parks, and navigating crowds.
  6. Indoor Navigation: Can improve accessibility by helping users find rooms, elevators, and special places in a building.
  7. Emergency evacuation: In case of an emergency, shutters direct users to a safe place.
  8. Education: Supports visually impaired students' independent access to education and libraries.
  9. Social Participation: A tool to promote social participation through empowerment and self-sufficiency.
  10. Operation: Helps blind or visually impaired people engage more independently in the workplace and work-related activities.

Best projects in Bhilai, Chhattisgarh, India. Contact: 7067150002