Introduction: Arduino Based Simple Blind Navigation Bracelet (AIDA1)

About: Engineer, Indie Game Dev & Film Maker

This is a very brief and simple instructable on how to make a small wrist navigation device to help blind people walk.
I named it AIDA1 after my mother and 1 since I plan to expand its features later since I found some limitations in it that I plan to fix later in future versions. If you found this instructable useful or if you found any other limitations to it please let me know. If you can improve it that would be great too :)

The idea is somewhat similar to Tacit except that it avoids its limitations as explained by its maker (I was actually surprised no one thought of it).
The idea is when a blind person puts this device on their wrist and points it to any obstacle within approximately 35 cm it will produce a sound, otherwise it will be silent with an optional LED indicator so that if the blind person suspects its not working they might ask someone if they see it light or not (in case the battery runs out as well)

What you will need for this is :
- Arduino board (I tested it on Arduino Mega, Uno but eventually decided to use Nano to solder on the PCB but anyone is fine)

- Ultrasonic Sensor Module for Arduino

- LED (optional) - 390 Ohm resistor (for the LED)

- Small Buzzer - connecting wires

- 9v battery box with a switch (that's what I used but you can use a battery clip or anything else that does the same job)

- 9v battery

- Breadboard (for testing)

- Small PCB (in case you want to solder it which means you also might need a soldering iron and solder wire)

- Access to a 3D printer (in case you want to make a bracelet/small cast on the arm out of plastic)

- A Glue Tube (for sticking the plastic bracelet/cast to the PCB)

Step 1: Connecting the Device

use the wires to connect the parts as follows :
for the ultrasonic sensor :

Echo pin to pin 12 on the Arduino, Trig pin to pin 11 on the Arduino, Vcc to Vin, GND to GND

Connect the buzzer to pin 8 on the Arduino board and connect the LED to pin 9v, off course both shorter pins of the LED and the buzzer are to be connected to the GND pin of the Arduino board

After you're done with programming you should connect the 9v battery box's (or clip's) wires to Vin (the red wire) and GND pins (the black wire) respectively.

Here's a picture showing the schematic, I've used Proteus software and strangely enough pin Vin in Arduino Nano isn't active so I hooked it to 5v pin but in reality I used Vin (same thing for the LED pins in reality one connected to GND pin the other to pin 9 on the Arduino which is different than the schematic, sorry for any confusion)

Here's also a picture showing the actual connections on the breadboard

Step 2: The Arduino Code

make sure to adjust your IDE before connecting the board to your PC depending on the type of Arduino board you're using, then connect it and write down the following code.
I tried to explain as much of the code as possible in the comments, I even added some options in case you want to test the sensor first on the serial monitor (as I did) in case something isn't clear please leave a comment and I will try to answer.

/*
HC-SR04 Ping distance sensor:

VCC to Arduino

Vin GND to Arduino GND

Echo to Arduino pin 12

Trig to Arduino pin 11 */

#include <NewPing.h> //downloaded from the internet & unzipped in libraries folder in Arduino Directory

#define TRIGGER_PIN 11 // Arduino pin tied to trigger pin on the ultrasonic sensor.

#define ECHO_PIN 12 // Arduino pin tied to echo pin on the ultrasonic sensor.

#define LEDPin 9 // Onboard LED "GREEN" to indicate clear

int Buzzer = 8; // Buzzer to make a sound if the blind person is facing an obstruction

int maximumRange = 70; // Maximum range needed

int minimumRange = 35; // Minimum range needed

long duration, distance; // Duration used to calculate distance

void setup() {

//Serial.begin (9600);

pinMode(TRIGGER_PIN, OUTPUT);

pinMode(ECHO_PIN, INPUT);

pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)

pinMode(Buzzer, OUTPUT);

}

void loop() {

/* The following trigPin/echoPin cycle is used to determine the distance of the nearest object through reflecting soundwaves off of it (like a Bat!)*/

digitalWrite(TRIGGER_PIN, LOW);

delayMicroseconds(2);

digitalWrite(TRIGGER_PIN, HIGH);

delayMicroseconds(10);

digitalWrite(TRIGGER_PIN, LOW);

duration = pulseIn(ECHO_PIN, HIGH);

distance = (duration/2) / 29.1; //formula to convert the value measured by the ultrasonic sensor into centimeters

if (distance >= maximumRange || distance <= minimumRange)

{

//Serial.println("Clear Path");

digitalWrite(LEDPin, HIGH); //Turn LED (Green) ON to indicate "clear path"

digitalWrite(Buzzer, LOW);

}

else {

//Serial.println("Obstruction Ahead!");

digitalWrite(Buzzer, HIGH);

digitalWrite(LEDPin, LOW);

}

delay(50); //Delay 50ms before next reading.

}

Here's a video showing a test drive of the circuit using Arduino Uno board.

Step 3: Soldering and Making the Bracelet (totally Optional and You Can Tweak It As You Like)

In case you want to solder to make the connections permanent and don't know how. I recommend taking a look at Soldering Is Easy Comic Book

Here's a video showing the Circuit working after soldering the Arduino Nano to a small PCB.

I have used Openscad to design the bracelet. It's a little faulty but I'm still novice in using it. Here's the file in case you want to look at it.

And here is the STL file for 3D printing

Here is the final image for the PCB with the circuit, I've used glue to paste it to the 3D printed bracelet

And this is a video showing a final test of the circuit after pasting the plastic bracelet to the PCB.

clearly there are some limitations that should be fixed, again feel free to modify it. Hope I can improve it and make it much more sophisticated soon. And If I made any mistake I apologize in advance. Hope this was useful and worthy of your time.