chitritapant
Published © GPL3+

Haptic Shoes

Smart Shoes: revolutionise and reinvent the lives of visually impaired people and make them move parallelly along with technology.

AdvancedFull instructions provided157
Haptic Shoes

Things used in this project

Hardware components

Piezo Sensor
ControlEverything.com Piezo Sensor
×15
1N4007 – High Voltage, High Current Rated Diode
1N4007 – High Voltage, High Current Rated Diode
×4
DC/DC Charge Pump Adjustable Voltage Regulator, 2.5V to 4V in
DC/DC Charge Pump Adjustable Voltage Regulator, 2.5V to 4V in
×1
Arduino Mega 2560
Arduino Mega 2560
×1
Analog Accelerometer: ADXL335
Adafruit Analog Accelerometer: ADXL335
×1
HC-05 Bluetooth Module
HC-05 Bluetooth Module
×1
Ultrasonic Sensor - HC-SR04 (Generic)
Ultrasonic Sensor - HC-SR04 (Generic)
×1
Buzzer, Piezo
Buzzer, Piezo
×2
GPS Module NEO-6M
×1
Ceramic Capacitive Rain Sensor
Telecontrolli Ceramic Capacitive Rain Sensor
×1
GSM Module SIM900
×1
Alphanumeric LCD, 16 x 2
Alphanumeric LCD, 16 x 2
×1
Rotary potentiometer (generic)
Rotary potentiometer (generic)
×1
Resistor 1k ohm
Resistor 1k ohm
×8
Electrolytic Capacitor, 0.1 µF
Electrolytic Capacitor, 0.1 µF
×2
Development Kit Accessory, Solar Cell
Development Kit Accessory, Solar Cell
×1
Rechargeable Battery, Lithium Ion
Rechargeable Battery, Lithium Ion
×1
Vibration Sensor, MiniSense 100
Vibration Sensor, MiniSense 100
×1
Speaker, Piezo
Speaker, Piezo
×1
Jumper wires (generic)
Jumper wires (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE
MIT App Inventor
MIT App Inventor

Hand tools and fabrication machines

Wire Stripper & Cutter, 32-20 AWG / 0.05-0.5mm² Solid & Stranded Wires
Wire Stripper & Cutter, 32-20 AWG / 0.05-0.5mm² Solid & Stranded Wires
Soldering iron (generic)
Soldering iron (generic)
Mastech MS8217 Autorange Digital Multimeter
Digilent Mastech MS8217 Autorange Digital Multimeter

Story

Read more

Schematics

Shoe Layer 1

ARDUINO PIN GPS
Tx(D-5) Rx
Rx(D-4) Tx
GND GND

ARDUINO PIN GSM

Tx(Digital Pin 3) Rx
Rx(Digital Pin 2) Tx
GND GND
PIN 9 PUSH BUTTON

Shoe Layer 2

Shoe Layer 3

ARDUINO PIN OTHER SENSORS
Pin 10 Trig(Ultrasonic Sensor)
Pin 11 Echo(Ultrasonic Sensor)
Pin A0 Spin(Solar Panel)
Pin 13 LED
Pin 11 Dout Pin(Vibration Sensor)
Pin 0 (RX) TX(Bluetooth)
Pin 1(TX) RX(Bluetooth)
Pin A5 S Pin(Water Sensor)
Pin 2,3,4,5 D4,D5,D6,D7(LCD)

Code

PROGRAM (PART 1 i.e. Layer 3)

C Header File
// PROGRAM	(PART 1 i.e. Layer 3)
//PROJECT NAME: HAPTIC SHOES

/*CODE FOR ****SHOE LAYER 3***** OF PROJECT WHICH INCLUDES SOME DATA SENT TO SELF BUILD APP AND OTHER DATA TO BE DISPLAYED ON LCD SCREEN.*/

/*SENSORS	INCLUDED	ARE:	BLUETOOTH	MODULE,ULTRASONIC	SENSOR,SOLAR PANEL,VIBRATION SENSOR,ACCELEROMETER,WATER SENSOR,LCD DISPLAY. */

#include <LiquidCrystal.h>
LiquidCrystal lcd(1,2,4,5,6,7);


int resval = 0; //WATER SENSOR 
int respin = A5;
int buzzPin = 13;


const int trigPin = 9;//ULTRASONIC SENSOR 
const int echoPin = 10;
long duration; int distance;

int led = 12;// vibration sensor
int vs =11;

void setup()
{ lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Haptic Shoes");
lcd.setCursor(0, 1);
lcd.print("B.tech 3rd yr EC ");
 
delay(9000);
lcd.clear();

pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT); 
pinMode(led, OUTPUT);
pinMode(vs, INPUT);
Serial.begin(9600);
}


void loop() {

//********** WATER SENSOR *************//
lcd.clear();
lcd.setCursor(0, 0);
resval = analogRead(respin);


lcd.print("WATER LEVEL:");
if (resval<=100)
{ lcd.println("Empty ");
}
else if (resval>100 && resval<=300)
{ lcd.println("Low ");
}
else if (resval>300 && resval<=330)
{ lcd.println("Medium ");
}
else if (resval>600)
{
lcd.println("High"); 
digitalWrite(buzzPin, HIGH); 
delay(1000);
digitalWrite(buzzPin, LOW);
}
 
lcd.clear();


//********** ULTRASONIC *********// 

digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); 
delayMicroseconds(10); 
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); 
distance= duration*0.034/2;


//********** SOLAR PANEL ***********// 
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);


//******** VIBRATION SENSOR *******// 
long measurement =vibration();
if (measurement > 50)
{ digitalWrite(led, HIGH);
}
else{
digitalWrite(led, LOW);
}


//********** SENDING DATA TO THE APP *****************//
Serial.print(distance); //from ultasonic
Serial.print("|");
Serial.print(voltage); //from solar pannel 
Serial.print("|"); 
Serial.println(measurement); 
Serial.print("|"); //from vibration sensor
delay(2000);
 
}

long vibration(){
long measurement=pulseIn (vs, HIGH);
return measurement;
}

//***************end of code*********************//

PART 2 i.e. ( SHOE LAYER 1)

C Header File
//PART 2 i.e. (LAYER 1)

/*CODE FOR ****SHOE LAYER 1***** OFPROJECT WHICH INCLUDES SENDING OF HELP MESSAGE ON THE PRESS OF PANIC BUTTON.
SENSORS USED ARE: GSM,GPS,ARDUINO UNO,PUSH BUTTON. */


#include <SoftwareSerial.h> 
#include <TinyGPS.h>

int state = 0; 
const int pin = 9;
float gpslat, gpslon;


TinyGPS gps; 
SoftwareSerial sgps(4, 5);
SoftwareSerial sgsm(2, 3);


void setup()
{
sgsm.begin(9600); 
sgps.begin(9600);
}

void loop()
{
while (sgps.available())
{
int c = sgps.read();
 
if (gps.encode(c))
{
gps.f_get_position(&gpslat, &gpslon);
}
}

if (digitalRead(pin) == HIGH && state == 0)
{ sgsm.print("\r");
delay(1000); 
sgsm.print("AT+CMGF=1\r"); 
delay(1000);
sgsm.print("AT+CMGS=\"+919718612856\"\r"); 
delay(1000);

sgsm.print("Latitude :"); 
sgsm.println(gpslat, 6); 
sgsm.print("Longitude:"); 
sgsm.println(gpslon, 6);

sgsm.print("http://maps.google.com/maps?q=loc:");
sgsm.print(gpslat, 6);
sgsm.print(",");
sgsm.print(gpslon, 6); 
delay(1000); 
sgsm.write(0x1A); 
delay(1000);
state = 1;
}

if (digitalRead(pin) == LOW)
{ state = 0;
}

}

//************************* END OF CODE *********************\\

Credits

chitritapant

chitritapant

3 projects • 1 follower

Comments

Add projectSign up / Login