saurabhrobotic
Published

Smart cane

My project helps visually challenged people to walk without crashing into walls and obstacles. This help them to live freely

AdvancedProtip5 hours6,274
Smart cane

Things used in this project

Hardware components

Arduino UNO & Genuino UNO
Arduino UNO & Genuino UNO
×1
Breadboard (generic)
Breadboard (generic)
×1
Jumper wires (generic)
Jumper wires (generic)
×1
Buzzer
Buzzer
×1
Ultrasonic Sensor - HC-SR04 (Generic)
Ultrasonic Sensor - HC-SR04 (Generic)
×1
Solar Cockroach Vibrating Disc Motor
Brown Dog Gadgets Solar Cockroach Vibrating Disc Motor
in place of this I used a normal DC motor.
×1
Pushbutton switch 12mm
SparkFun Pushbutton switch 12mm
×1
9V Battery Clip
9V Battery Clip
×1
9V battery (generic)
9V battery (generic)
×1
Wire Cable - By the Foot
OpenBuilds Wire Cable - By the Foot
To connect buzzer at handle to the module at bottom
×1

Software apps and online services

Arduino IDE
Arduino IDE
tinkercad

Hand tools and fabrication machines

Mastech MS8217 Autorange Digital Multimeter
Digilent Mastech MS8217 Autorange Digital Multimeter
Soldering iron (generic)
Soldering iron (generic)
Multitool, Screwdriver
Multitool, Screwdriver
Wire Stripper & Cutter, 18-10 AWG / 0.75-4mm² Capacity Wires
Wire Stripper & Cutter, 18-10 AWG / 0.75-4mm² Capacity Wires
Soldering iron (generic)
Soldering iron (generic)
PCB Holder, Soldering Iron
PCB Holder, Soldering Iron
Solder Wire, Lead Free
Solder Wire, Lead Free
Tape Measure, Manual
Tape Measure, Manual
to test the distance of sensor range

Story

Read more

Custom parts and enclosures

blog_w25NgsnSMa.docx

Schematics

blind's eye

This circuit diagram is made with the help of tinkercad

Code

code

C/C++
#define trigPin 13
#define echoPin 12
#define motor 7
#define buzzer 6

void setup()
{ pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motor, OUTPUT);
pinMode(buzzer,OUTPUT);
}

void loop()
{ long duration, distance;
digitalWrite(trigPin, LOW); 
delayMicroseconds(2); 
digitalWrite(trigPin, HIGH);
delayMicroseconds(10); 
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;

if (distance < 70) // Checking the distance, you can change the value
{ 
digitalWrite(motor,HIGH); // When the the distance below 100cm
digitalWrite(buzzer,HIGH);
} else
{
digitalWrite(motor,LOW);// when greater than 100cm
digitalWrite(buzzer,LOW); 
} delay(500);
}

Credits

saurabhrobotic

saurabhrobotic

1 project • 10 followers

Comments

Add projectSign up / Login