No edit summary
No edit summary
Line 19: Line 19:
<!-- [[Image:Blnd_asst_1_apetsiuk.jpg|400px|right]] -->
<!-- [[Image:Blnd_asst_1_apetsiuk.jpg|400px|right]] -->


<gallery caption="Ultrasonic-based visually impaired person's sssistant">
<gallery caption="Ultrasonic-based visually impaired person's assistant">
File:Blnd_asst_01_apetsiuk.jpg|Prototyping stage
File:Blnd_asst_01_apetsiuk.jpg|Prototyping stage
File:Blnd_asst_02_apetsiuk.jpg|Printed parts and soldered electronic components
File:Blnd_asst_02_apetsiuk.jpg|Printed parts and soldered electronic components
Line 99: Line 99:
  #define trig 7
  #define trig 7
  #define laser 4
  #define laser 4
long duration,distance;
   
   
  // constants won't change. They're used here to set pin numbers:
  long duration, distance;
  const int buttonPin = 2;    // the number of the pushbutton pin
  const int buttonPin = 2;    // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin
// variables will change:
  int buttonState = 0;        // variable for reading the pushbutton status
  int buttonState = 0;        // variable for reading the pushbutton status
   
   
Line 113: Line 111:
   pinMode(echo,INPUT);
   pinMode(echo,INPUT);
   pinMode(trig,OUTPUT);
   pinMode(trig,OUTPUT);
   pinMode(5,OUTPUT);
   pinMode(buzz,OUTPUT);
   pinMode(laser,OUTPUT);
   pinMode(laser,OUTPUT);
  //button
   // initialize the LED pin as an output:
   // initialize the LED pin as an output:
   pinMode(ledPin, OUTPUT);
   pinMode(ledPin, OUTPUT);
Line 139: Line 137:
     // turn LED on:
     // turn LED on:
     digitalWrite(ledPin, HIGH);
     digitalWrite(ledPin, HIGH);
     digitalWrite(4,HIGH);
     digitalWrite(laser,HIGH);
   } else {
   } else {
     // turn LED off:
     // turn LED off:
     digitalWrite(ledPin, LOW);
     digitalWrite(ledPin, LOW);
     digitalWrite(4,LOW);
     digitalWrite(laser,LOW);
   }
   }
   
   
Line 154: Line 152:
     Serial.print(distance);
     Serial.print(distance);
     Serial.println("cm.");
     Serial.println("cm.");
     digitalWrite(5,LOW);
     digitalWrite(buzz,LOW);
   }
   }
   if(distance<=45 && distance>=1){
   if(distance<=45 && distance>=1){
     // distance in which the bracelet vibrates, you can edit according to your need
     // distance in which the bracelet makes sound, you can edit according to your need
     digitalWrite(5,HIGH);
     digitalWrite(buzz,HIGH);
     digitalWrite(4,HIGH);
     digitalWrite(laser,HIGH);
     Serial.println("Alarm!!!");
     Serial.println("Alarm!!!");
   }
   }
Line 186: Line 184:


== Technical Specifications and Assembly Instructions==
== Technical Specifications and Assembly Instructions==
# Provide directions for print/assembly - be detailed enough in your “how to” to ensure that someone could construct the device from your description. Consider the elegance of IKEA like instructions.
# First step is to 3D print all the necessary components (estimated printing time: 2.5 hours).
# Include print time estimate
# Second step is to put all the electronic components together in the way they illustrated on Figure below (Assembling instruction on he left side).
# Include assembly time estimate
# Third step - solder all the electronics according to the schematic provided on Figure below (Electrical schematic on the right side, estimated soldering time: 3 hours).
# Including drawings or pictures of the device at stage of assembly at minimum. (http://www.appropedia.org/Special:Upload)
# Place soldered electronic components into the case as it shown on Figure below (left).
# Connect arduino board to a computer. Run the installed Arduino IDE with the code provided above.
# Upload the code to arduino and make sure it works properly.
# Now we can assemble the cover and screw it to the case.
# Finish assembling by attaching the bracelet to the case.
 
[[Image:Blnd_asst_assembly_apetsiuk.jpg|550px|Fig 1: Assembling instruction]]
[[Image:Blnd_asst_schematic_apetsiuk.jpg|650px|Fig 2: Electrical schematic]]
 
<!--
{{gallery
|width=400
|height=400
|lines=1
|Image:Blnd_asst_assembly_apetsiuk.jpg|Fig. 1: Assembling instruction
|Image:Blnd_asst_schematic_apetsiuk.jpg|Fig. 2: Electrical schematic
}} -->


=== Common Problems and Solutions===
=== Common Problems and Solutions===
* Solder all the wires with the components being in the place of the approximate final position. It may be complicated to bend soldered wires.  
* Solder all the wires with the components being in the place of the approximate final position. It may be complicated to bend soldered wires.
* Test your arduino wired and soldered with all the electronic components before assembling and screwing the cover or bracelet. It would be much easier to arrange all soldered wires or to debugging the arduino in case of any failure.


== Cost savings==
* If your solution is not a low cost one then it is not really appropriate.
# Estimate your costs
# Find a commercial equivalent
# Calculate $ savings and % savings


== Benefited Internet Communities ==
== Benefited Internet Communities ==

Revision as of 01:29, 7 December 2018


Blind Person's Assistant

THIS PAGE IS UNDER CONSTRUCTION. But it will be ready very soon.

Project developed by Aliaksei_Petsiuk

Template:Statusboxtop Template:Status-design Template:Status-prototype You can help Appropedia by contributing to the next step in this OSAT's status. Template:Boxbottom

Abstract

The given project is a part of Open Source Appropriate Technologies assignment, and it is designed to support visually-impaired people.

As per World Health Organization, there are about 300 million visually-impaired people in the world, 40 millions of them are totally blind. Scientists and engineers are working on systems which would be able to improve the quality of lives of people with the lost vision. A number of modern projects and achievements in this field has been listed in the Reference section.


Bill of Materials

The full list of materials used for the project is provided in the table below.

Component Bracelet Case Cover Arduino Nano Sensor Buzzed Laser 3V Button Battery M3x20 Screws M3x6 Screws Wires
Image Blnd asst bracelet apetsiuk.jpg Blnd asst case apetsiuk.jpg Blnd asst cover apetsiuk.jpg Blnd asst arduino2.jpg Blnd asst usound sensor.jpg Blnd asst buzzer.jpg Blnd asst laser.jpg Blnd asst button.jpg Blnd asst battery.jpg Blnd asst m3x20 screw.jpg Blnd asst m3x6 screw.jpg Blnd asst wires.jpg
Quantity 1 1 1 1 1 1 1 1 2 4 4 10
Cost/item $ 0.20 $ 0.20 $ 0.20 $ 3.00 $ 1.50 $ 0.30 $ 0.40 $ 0.10 $ 0.50 $ 0.02 $ 0.02 $ 0.01

Total cost is $ 5.00.

Code for Arduino Board

#define echo 8
#define trig 7
#define laser 4

long duration, distance;

const int buttonPin = 2;     // the number of the pushbutton pin
int buttonState = 0;         // variable for reading the pushbutton status


void setup() {
 
  Serial.begin(9600);
  pinMode(echo,INPUT);
  pinMode(trig,OUTPUT);
  pinMode(buzz,OUTPUT);
  pinMode(laser,OUTPUT);

  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}


void loop() {

  digitalWrite(trig,LOW);
  delayMicroseconds(2);
  digitalWrite(trig,HIGH);
  delayMicroseconds(10);
  digitalWrite(trig,LOW);
  digitalWrite(laser,LOW);

  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
    digitalWrite(laser,HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
    digitalWrite(laser,LOW);
  }

  duration=pulseIn(echo,HIGH);
  distance=(duration/(2*29));

  if(distance>=500 || distance<=0){
    Serial.println("____");
  } else {
    Serial.print(distance);
    Serial.println("cm.");
    digitalWrite(buzz,LOW);
  }
  if(distance<=45 && distance>=1){
    // distance in which the bracelet makes sound, you can edit according to your need
    digitalWrite(buzz,HIGH);
    digitalWrite(laser,HIGH);
    Serial.println("Alarm!!!");
  }

  delay(400);
}

Tools needed for fabrication of the OSAT

  1. MOST Delta RepRap or similar RepRap 3-D printer
  2. Plastic Filament
  3. Soldering Iron
  4. Solder
  5. Screwdriver
  6. Hexagon Key
  7. Breadboard
  8. Paper Knife
  9. Tweezers
  10. Wires Stripper

Skills and Knowledge Necessary to Make the OSAT

All skills you need are at the basic level:

  • 3D printing
  • 3D Design
  • Electronics
  • Programming

Technical Specifications and Assembly Instructions

  1. First step is to 3D print all the necessary components (estimated printing time: 2.5 hours).
  2. Second step is to put all the electronic components together in the way they illustrated on Figure below (Assembling instruction on he left side).
  3. Third step - solder all the electronics according to the schematic provided on Figure below (Electrical schematic on the right side, estimated soldering time: 3 hours).
  4. Place soldered electronic components into the case as it shown on Figure below (left).
  5. Connect arduino board to a computer. Run the installed Arduino IDE with the code provided above.
  6. Upload the code to arduino and make sure it works properly.
  7. Now we can assemble the cover and screw it to the case.
  8. Finish assembling by attaching the bracelet to the case.

Fig 1: Assembling instruction Fig 2: Electrical schematic


Common Problems and Solutions

  • Solder all the wires with the components being in the place of the approximate final position. It may be complicated to bend soldered wires.
  • Test your arduino wired and soldered with all the electronic components before assembling and screwing the cover or bracelet. It would be much easier to arrange all soldered wires or to debugging the arduino in case of any failure.


Benefited Internet Communities

  • Name and add links to at least 5 using single brackets around [url name]

References

[1] [2] [3]

  1. Wafa Elmannai and Khaled Elleithy. Sensor-Based Assistive Devices for Visually-Impaired People: Current Status, Challenges, and Future Directions. US National Library of Medicine, National Institutes of Health, Sensors (Basel). 2017 March 2017. Available: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5375851/
  2. Antonio Pereira, et al. Blind Guide: An Ultrasound Sensor-based Body Area Network for Guiding Blind People. Procedia Computer Science, v. 67, 2015, pp. 403-408. Available: https://www.sciencedirect.com/science/article/pii/S1877050915031312
  3. Rohit Agarwal, et al. Low cost ultrasonic smart glasses for blind. 2017 8th IEEE Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON). Available: https://ieeexplore.ieee.org/document/8117194
Cookies help us deliver our services. By using our services, you agree to our use of cookies.