You are on page 1of 5

Sign Gloves

Introduction: It is a Glove that can be used by those who cannot speak to communicate with others in
verbal language.
Purpose: This glove can be worn by people who cannot speak and it can help them to communicate by translating
their gestures from sign language to verbal language and then pronouncing them with help of a mobile application.
Working:
 It works by recognizing the gestures made by hand with help of flex sensors placed on fingers, flex sensor
varies its resistance based on how much a finger is bent and that resistance is sensed by the Arduino and
based on the amount of resistance of each sensor.
 It prints the letter of the gesture on a serial monitor.
 The mobile application reads the serial monitor, prints it on the screen and pronounces it.

Material Required:
 Arduino UNO
 A glove
 Bread board (generic)
 SparkFun Flex sensor
 Jumper wires (generic)
 Resistor 10k ohm
 USB Connector, OTG
 Necessary Tools and Machines
 Hot glue gun (generic)
CODE

The following code specifies which variables to use for input of each finger and on which port, you can alter it if
you connect flex sensors of different fingers on different ports.
a = analogRead(A0);//thumb
c = analogRead(A1);//index
d = analogRead(A2);//middle
b = analogRead(A3);//ring
e = analogRead(A4);//little
The following code is for letter "a" and after defining input of all fingers as variables, it gives command to
Arduino to print letter "a" on serial monitor if all fingers except thumb are bent.
if (a < 900 && b > 900 && c > 900 && d > 900 && e > 900 && a > 800 ) {
Serial.println("a");
}
All the other letters are printed by similar code with different values for a, b, c, d and e.

The Code C/C++


It is the code of the application. It can be altered according to the placement of the flex sensors on the fingers.
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
void setup()
{
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
Serial.begin(9600);
}
void loop()
{
a = analogRead(A0); //thumb
c = analogRead(A1); //index
d = analogRead(A2); //middle
b = analogRead(A3); //ring
e = analogRead(A4); //little
{
if (a < 900 && b > 900 && c > 900 && d > 900 && e > 900 && a > 800 ) {
Serial.println("a");
}
{
if (a > 900 && b < 900 && c < 900 && e < 900 ) {
Serial.println("b");
}
if (a > 900 && b < 900 && c > 900 && d > 800 && e > 900 ) {
Serial.println("d");
}
}
if (a > 900 && b > 900 && c > 900 && d > 900 && e > 900 ) {
Serial.println("e");
}
if (a > 900 && b > 900 && c < 890 && e < 890 ) {
Serial.println("f");
}
if (a < 900 && b < 900 && c > 890 && d > 890 && e > 890 && a > 800 ) {
Serial.println("g");
}
if (a < 900 && b < 900 && c < 900 && d > 870 && e > 900 ) {
Serial.println("h");
}
if (a > 900 && b > 900 && c > 900 && d > 900 && e < 900 ) {
Serial.println("i");
}
if (a < 900 && b > 900 && c > 900 && d > 900 && e < 900 && a > 800 ) {
Serial.println("j");
}
if (a > 900 && b < 900 && c < 900 && d > 900 && e > 900 ) {
Serial.println("k");
}
if (a < 800 && b < 900 && c > 900 && d > 900 && e > 900 ) {
Serial.println("l");
}
if (a < 800 && b > 900 && c > 900 && d > 900 && e < 900 ) {
Serial.println("m");
}
if (a < 820 && b > 900 && c > 900 && d < 900 && e < 900 ) {
Serial.println("n");
}
if (a > 820 && b < 900 && c < 900 && d < 900 && e > 900 ) {
Serial.println("o");
}
if (a < 880 && b < 910 && c > 900 && d > 900 && e < 890 ) {
Serial.println("p");
}
if (a < 850 && b < 900 && c > 900 && d < 920 && e < 890 ) {
Serial.println("q");
}
if (a < 790 && b < 900 && c < 900 && d > 920 && e > 890 ) {
Serial.println("r");
}
if (a < 960 && b > 900 && c > 900 && d > 920 && e > 890 && a > 940 ) {
Serial.println("s");
}
if (a < 800 && b > 900 && d < 920 && e < 890 ) {
Serial.println("t");
}
if (a > 900 && b < 900 && d > 900 && e < 900 ) {
Serial.println("u");
}
if (a > 900 && b < 900 && d < 900 && e < 900 && c > 900 ) {
Serial.println("v");
}
if (a < 900 && b < 900 && d < 900 && e < 900 && c > 900 ) {
Serial.println("w");
}
if (a > 900 && b > 900 && d < 900 && e < 900 && c > 900 ) {
Serial.println("x");
}
if (a > 800 && b > 900 && d < 900 && e > 900 && c > 900 ) {
Serial.println("y");
}
if (a > 900 && b > 900 && d < 900 && e < 900 && c > 900 ) {
Serial.println("z");
}
delay(2500);
}}

Circuit Diagrams and 3D Models:


Demonstration link of Sign Glove:
https://www.youtube.com/watch?v=cMsWMmBk4rY&list=PPSV

You might also like