Hello, I am working on the famous sign language translator glove, I have already managed to get my code to recognize me from letter A to letter E using only flexible resistances, but all this is reflected only in the program and on the LCD screen.
My big question is the following, it is possible to transfer all this to audio.
for example, if with the glove I write the letter A, this one besides to appear in screen, also it sounds in some device ?.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int flexPin1 = A0; // sensor de flexion 1 conectado en PULGAR
int value1;
int flexPin2= A1; // sensor de flexion 2 conectado en INDICE
int value2;
int flexPin3 =A2; // sensor de flexion 3 conectado en MEDIO
int value3;
int flexPin4 = A3; // sensor de flexion 4 conectado en dedo ANULAR
int value4;
int flexPin5 = A5; // sensor de flexion 5 conectado en dedo MEÑIQUE
int value5;
void setup() {
// put your setup code here, to run once:
lcd.begin(16, 2);
lcd.setCursor(0, 1);
lcd.print("");
Serial.begin(9600);
delay(200);
}
void loop() {
// put your main code here, to run repeatedly:
value1 = analogRead(flexPin1);
value2 = analogRead(flexPin2);
value3 = analogRead(flexPin3);
value4 = analogRead(flexPin4);
value5 = analogRead(flexPin5);
Serial.print(value1);
Serial.print(value2);
Serial.print(value3);
Serial.print(value4);
Serial.print(value5);
if (value1 < 740 && value2 < 580 && value3 <750 && value4 < 650 && value5 < 550 )
{
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print("A");
digitalWrite(6, HIGH);
Serial.println(" A");
delay(500);
}
else {
value1 = analogRead(flexPin1);
value2 = analogRead(flexPin2);
value3 = analogRead(flexPin3);
value4 = analogRead(flexPin4);
value5 = analogRead(flexPin5);
Serial.print(value1);
Serial.print(value2);
Serial.print(value3);
Serial.print(value4);
Serial.print(value5);
if (value1 < 600 && value2 < 800 && value3 <830 && value4 < 820 && value5 < 790 )
{
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print(" B");
digitalWrite(6, HIGH);
Serial.println(" B");
delay(500);
}
else {
value1 = analogRead(flexPin1);
value2 = analogRead(flexPin2);
value3 = analogRead(flexPin3);
value4 = analogRead(flexPin4);
value5 = analogRead(flexPin5);
Serial.print(value1);
Serial.print(value2);
Serial.print(value3);
Serial.print(value4);
Serial.print(value5);
if (value1 < 670 && value2 < 700 && value3 <770 && value4 < 770 && value5 < 700 )
{
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print(" C");
digitalWrite(6, HIGH);
Serial.println(" C");
delay(500);
}
else {
value1 = analogRead(flexPin1);
value2 = analogRead(flexPin2);
value3 = analogRead(flexPin3);
value4 = analogRead(flexPin4);
value5 = analogRead(flexPin5);
Serial.print(value1);
Serial.print(value2);
Serial.print(value3);
Serial.print(value4);
Serial.print(value5);
if (value1 < 720 && value2 < 800 && value3 <690 && value4 < 600 && value5 < 530 )
{
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print(" D");
digitalWrite(6, HIGH);
Serial.println(" D");
delay(500);
}
else {
value1 = analogRead(flexPin1);
value2 = analogRead(flexPin2);
value3 = analogRead(flexPin3);
value4 = analogRead(flexPin4);
value5 = analogRead(flexPin5);
Serial.print(value1);
Serial.print(value2);
Serial.print(value3);
Serial.print(value4);
Serial.print(value5);
if (value1 < 620 && value2 < 570 && value3 <680 && value4 < 630 && value5 < 630 )
{
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print(" E");
digitalWrite(6, HIGH);
Serial.println(" E");
delay(500);
}
}
}
}
}
}[/ code]