Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!
Sumit Grover
Published © LGPL

Hand gesture based learning and emergency for mute people

I have developed this concept for teaching the mute people about various hand gesture which is connected to the laptop wirelessly.

IntermediateFull instructions provided1,467
Hand gesture based learning and emergency for mute people

Things used in this project

Hardware components

flex sensors
×5
ADC0809 IC
×1
28 PIN IC BASE
×1
40 PIN IC BASE
×1
AT89C51 CONTROLLER IC
×1
33 PF CAPACITOR
×2
Capacitor 10 µF
Capacitor 10 µF
×1
CRYSTAL 11.0
×1
TECTILE SWITCH
×1
RECHARGEABLE BATTERY 4V
×1
10 K RESISTANCE
×11

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Schematics

circuit diagram

Code

code.c

C/C++
#include<reg51.h>

sbit ALE=P1^4;
sbit SOC=P1^0;
sbit OE=P1^2;
sbit EOC=P1^1;
sbit SET0=P1^5;
sbit SET1=P1^6;
sbit SET2=P1^7;
sbit CLOCK=P1^3;

void tx(unsigned char num)
{ 
  SBUF = num;
  while(TI == 0);
  TI = 0;
}

void clock_adc()
{
 unsigned int b;
 for(b=0;b<=5000;b++)
 CLOCK=~CLOCK;
 }

void delay()
{
unsigned int z;
for(z=0;z<8000;z++);
}

 void main()
{ 
unsigned char first_finger,second_finger,third_finger,fourth_finger,thumb;
 SCON=0x50;
  TMOD=0x20;
  TH1=0xfd;
  TR1=1;
  SOC=0;
  OE=0;
  EOC=1;
  
while(1)
{				   	
tx('A');
delay();

SET2=0;SET1=1; SET0=1;      //for the select line
ALE=1;    SOC=1;
clock_adc();
SOC=0;   ALE=0;
clock_adc();
while(EOC==0);
OE=1;
first_finger=P2;
tx(((first_finger/100)%10)+0x30);	 
delay();
tx(((first_finger/10)%10)+0x30);	 
delay();
tx((first_finger%10)+0x30);
delay();


SET2=0;SET1=1; SET0=0;      //for the select line
ALE=1;    SOC=1;
clock_adc();
SOC=0;   ALE=0;
clock_adc();
while(EOC==0);
OE=1;
second_finger=P2;
tx(((second_finger/100)%10)+0x30);
delay();
tx(((second_finger/10)%10)+0x30);	 
delay();
tx((second_finger%10)+0x30);
delay();

SET2=0;SET1=0; SET0=1;      //for the select line
ALE=1;    SOC=1;
clock_adc();
SOC=0;   ALE=0;
clock_adc();
while(EOC==0);
OE=1;
third_finger=P2; 	   
tx(((third_finger/100)%10)+0x30);	
delay();
tx(((third_finger/10)%10)+0x30);
delay();
tx((third_finger%10)+0x30);
delay();
	
SET2=0;SET1=0; SET0=0;      //for the select line
ALE=1;    SOC=1;
clock_adc();
SOC=0;   ALE=0;
clock_adc();
while(EOC==0);
OE=1;
fourth_finger=P2; 			
tx(((fourth_finger/100)%10)+0x30);
delay();
tx(((fourth_finger/10)%10)+0x30);	 
delay();
tx((fourth_finger%10)+0x30);
delay();

SET2=1;SET1=0; SET0=0;      //for the select line
ALE=1;    SOC=1;
clock_adc();
SOC=0;   ALE=0;
clock_adc();
while(EOC==0);
OE=1;
thumb=P2; 	   
tx(((thumb/100)%10)+0x30);	
delay();
tx(((thumb/10)%10)+0x30);
delay();
tx((thumb%10)+0x30);
delay();
}
}

Credits

Sumit Grover

Sumit Grover

8 projects • 31 followers

Comments