smart-hand-glove

Smart Talk for Sign language Translation is a work that aims to present an easy way of communication for speech impaired and hearing impaired people. Work consists of a glove equipped with sensors which senses different sign language gestures. This data is fed to ESP32 which is then transferred to an smartphone/laptop via Bluetooth/Wifi,and the data is further processed.


Block Diagram



Circuit Diagram



Explanation



The gestures made by the user is converted to analog voltage signal using the flex sensor and the accelerometer.Using Analog to Digital Converter (ADC) from the microcontroller board, the analog signal received is converted to digital signals which may then be processed by the microcontroller.The microcontroller processes the digital signal, detects respective characters and transmits the data to a smartphone or a laptop via Bluetooth/Wifi. The data received via Bluetooth/Wifi on the smartphone or the laptop is displayed on the screen.If setup, the data may be converted to voice using Text-to-Speech API.



Program

Intialization

We need to include following libraries given below

#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiAP.h>

Full Program

below is the complete program

#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiAP.h>




const char *ssid = "SmartTalk";
const char *password = "smarttalk";

WiFiServer server(80);

int sensorValue1 ;
int sensorValue2 ;
int sensorValue3 ;
void setup() {
 
  

  
  WiFi.softAP(ssid, password);
  IPAddress myIP = WiFi.softAPIP();
  server.begin();

  
}

void loop() {
  sensorValue1 = analogRead(34);
  sensorValue2 = analogRead(33);
  sensorValue3 = analogRead(32);
  WiFiClient client = server.available();   

  if (client) {                             
               
    String currentLine = "";                
    while (client.connected()) {            
     if (client.available()) {             
       char c = client.read();            
       Serial.write(c);                    
       if (c == '\n') {                    
          
        if (currentLine.length() == 0) {
         client.print("<HEAD>");
         client.print("<meta http-equiv=\"refresh\" content=\"0.5\">"); 
            
            
            
        

       
         if ((sensorValue1 >=100) and (sensorValue1 <=500)and(sensorValue3 >=600) and (sensorValue3 <=900)) {
           client.println("<title>VICTORY</title>");
          client.print("VICTORY");
          client.println();
          break;
         }
         else if ((sensorValue1 >= 100 ) and (sensorValue1 <=500 ) and (sensorValue3 >= 100) and (sensorValue3 <=500 )) {
           client.println("<title>HELLO</title>");
          client.print("HELLO");
          
          client.println();
          break;
         }
         
         else if ((sensorValue3 >= 100) and (sensorValue3 <=500)) {
           client.println("<title>BYE</title>");
          client.print("BYE");
          client.println();
          break;
         }
         
         else if ((sensorValue2 >= 100) and (sensorValue2 <=300)) {
           client.println("<title>HELP</title>");
          client.print("HELP");
          client.println();
          break;
         }
         
        
         else     {
           client.println("<title></title>");
          client.println();
          
          break;
          
        
           
          } 
        } else if (c != '\r') {  
          currentLine += c;     
           
        }
        }
     }
    }
     client.stop();
  
  }
}



Output

Here the shown below images are the screenshots from smarttalk app and it’s corresponding sign