Blind Belt with audio facility
Component list
Important:
Click on blue links to download Data sheets
1) Ultrasonic sensor:
http://www.ebay.in/itm/like/hc-sr04-ultrasonic-distance-sensor-arduino-/151432878830?pt=lh_defaultdomain_203
2) ATmega 8
3) 10K
4) 10uf/ 16V or higher voltage electrolytic capacitor
5) IC 7805
6) 16 MHz crystal
7) Copper clad [PCB] 10*15 cm
8) 1mm drill bit
9) 6 volts battery lead acid 1.3 Ahr
10) 28 pin IC base
11) FeCl3
12) IR sensor (Quantity 3)
13) ULN 2003
14) 16 pin IC base
15) 5 volt DC relay (Quantity 4)
16) Voice recorder kit APR9301 (Quantity 5)
17) ZIF socket for APR 9301 (Quantity 4)
18) Headphone
19) Belt
20) Audio jack female
21) 1 wire jumpers male to female
22) Male female bug strips
Intelligent belt for the blind report
PPt 1
ppt 2
Technical Papers
Circuit diagram:-
#define trigPin 13
#define echoPin 12
int sensorValue = 0;
int sensorValue1 = 0;
int sensorValue2 = 0;
int d = 0;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(2, OUTPUT); //front
pinMode(3, OUTPUT); //left
pinMode(4, OUTPUT); // right
pinMode(8, OUTPUT); //back
pinMode(echoPin, INPUT);
pinMode(14, INPUT); //left
pinMode(15, INPUT); //right
pinMode(16, INPUT); //back
Serial.println("Welcome to blindbelt");
}
void loop() {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(8, LOW);
long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin, HIGH);
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
Serial.println(distance);
if (distance < 15 )
{
Serial.println("Obstacle in front");
digitalWrite(2, HIGH);
delay(5000);
digitalWrite(2, LOW);
delay(2000);
}
sensorValue = digitalRead(14);
sensorValue1 = digitalRead(15);
sensorValue2 = digitalRead(16);
if(sensorValue == LOW)
{
Serial.println("Obstacle on left");
digitalWrite(3, HIGH);
delay(5000);
digitalWrite(3, LOW);
delay(2000);
}
if(sensorValue1 == LOW)
{
Serial.println("Obstacle on right");
digitalWrite(4, HIGH);
delay(5000);
digitalWrite(4, LOW);
delay(2000);
}
if(sensorValue2 == LOW)
{
Serial.println("Obstacle in back");
digitalWrite(8, HIGH);
delay(5000);
digitalWrite(8, LOW);
delay(2000);
}
}
#define echoPin 12
int sensorValue = 0;
int sensorValue1 = 0;
int sensorValue2 = 0;
int d = 0;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(2, OUTPUT); //front
pinMode(3, OUTPUT); //left
pinMode(4, OUTPUT); // right
pinMode(8, OUTPUT); //back
pinMode(echoPin, INPUT);
pinMode(14, INPUT); //left
pinMode(15, INPUT); //right
pinMode(16, INPUT); //back
Serial.println("Welcome to blindbelt");
}
void loop() {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(8, LOW);
long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin, HIGH);
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
Serial.println(distance);
if (distance < 15 )
{
Serial.println("Obstacle in front");
digitalWrite(2, HIGH);
delay(5000);
digitalWrite(2, LOW);
delay(2000);
}
sensorValue = digitalRead(14);
sensorValue1 = digitalRead(15);
sensorValue2 = digitalRead(16);
if(sensorValue == LOW)
{
Serial.println("Obstacle on left");
digitalWrite(3, HIGH);
delay(5000);
digitalWrite(3, LOW);
delay(2000);
}
if(sensorValue1 == LOW)
{
Serial.println("Obstacle on right");
digitalWrite(4, HIGH);
delay(5000);
digitalWrite(4, LOW);
delay(2000);
}
if(sensorValue2 == LOW)
{
Serial.println("Obstacle in back");
digitalWrite(8, HIGH);
delay(5000);
digitalWrite(8, LOW);
delay(2000);
}
}