Saiyam Agrawal
Published © GPL3+

Vision: A Torch For The Visually Impaired

Vision is a torch shaped device to help blind people navigate with greater comfort, speed and confidence.

IntermediateFull instructions provided5 hours4,256
Vision: A Torch For The Visually Impaired

Things used in this project

Hardware components

Arduino UNO & Genuino UNO
Arduino UNO & Genuino UNO
×1
Ultrasonic Sensor
×1
Li-Ion Battery 1000mAh
Li-Ion Battery 1000mAh
×1
Buzzer
Buzzer
×1
Vibrating Motor
×1
General Purpose Transistor NPN
General Purpose Transistor NPN
×2
LED (generic)
LED (generic)
×1
Slide Switch
Slide Switch
×1
Pushbutton switch 12mm
SparkFun Pushbutton switch 12mm
×2
Resistor 330 ohm
Resistor 330 ohm
×1
Male/Male Jumper Wires
×10
Female/Female Jumper Wires
Female/Female Jumper Wires
×10

Hand tools and fabrication machines

Multipurpose Rotatory Tool
Hacksaw

Story

Read more

Schematics

Complete Schematic for Project: Vision

Code

Code for the project: Vision

C/C++
const int pingPin = A0;

void setup() 
{
  Serial.begin(9600);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
}

void loop()
{
  long duration, inches, cm;
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  

  while(digitalRead(A1) == HIGH)
  {
  if(cm<=100 && cm>0)
  {
  int d= map(cm, 1, 100, 20, 2000);
  digitalWrite(10, HIGH);
  delay(100);
  digitalWrite(10, LOW);
  delay(d);
  }
  }
  
  while(digitalRead(A2) == HIGH)
  {
   if(cm<=50 && cm>0)
  {
  int r= map(cm, 50, 1, 100, 255);
  analogWrite(11, r);
  }
  }

digitalWrite(11, LOW);
}

long microsecondsToInches(long microseconds)
{
 return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
 return microseconds / 29 / 2;
}

Credits

Saiyam Agrawal

Saiyam Agrawal

1 project • 3 followers
Currently a student (11th std.), I like to make random DIY projects when free. It's more fun when you learn rather than study things.

Comments