Introduction: SIMPLE GESTURE LANGUAGE VOICE DEVICE MODEL

Creativity idea:

Gesture language is the main method for the deaf-mute, but not many people understand gesture language. How to help them and let more people understand their meaning? So we made this gesture language voice device model, expecting to improve the efficiency of communication between the deaf-mute and ordinary people to some extent. With the help of the voice device, the deaf-mute can convert the gesture language expression to language understandable to our normal people, to reach the purpose of communicating with the normal people.

Click to see video

Step 1:

As shown in Figure 2, this type of voice device includes Arduino main controller, identifies the finger gesture with 5 flex4.5'' one-way bending sensors and plays the voice identified through the DFPlayer Mini module.

Component:

DFRduino UNO R3(similar as Arduino UNO R3) *1

LCD12864 Shield for Arduino*1

Flex Sensor 4.5" *5

DFPlayer - A Mini MP3 Player For Arduino *1

SD/MicroSD Memory Card *1

Stereo Enclosed Speaker - 3W 8Ω *1

1/4W Resistor Pack -2000 PCS *1

Jumper Wires (F/M) (65 Pack)

Assembly and connection:

The 4.5" bending sensor measures the bending degree to reflect the change of resistance value accordingly. Larger bending degree means higher resistance. However, such sensor needs to be modified correspondingly to acquire the appropriate serial port value. The pull-down resistor (1K) method is used this time as shown in the figure below

Step 2:

Paste the welded bending sensor connector on 5 fingers of glove with AB glue. Please note the sensor welded connection position and be sure to wrap it with adhesive tape or insulation materials for protection to avoid breakage.

Step 3:

Five fingers correspond to A1-A5 on Arduino main control panel respectively, and connect other lines as per the bending sensor connection method above. The connection of MP3 module, small horn module and main controller is as shown below.

Step 4:

Working principles

Step 5:

Corresponding resistance values at fat, 45o bend and 90 o bend states are as shown in the figure above. Through serial port monitor, different values in three states may be viewed. Through actual measurement, the serial port output value at the flat state is 80; he serial port output value at 45o bend state is about 60; the serial port output value at 90o bend state is 30- 40.

Voice materials:

Download or record some voice materials and copy into TF card. Please note that the folders in TF card need to be named as mp3 and put in the catalog of TF card. Mp3 files need to be named with 4-digit number, e.g., "0001.mp3" and put in the mp3 folder. If Chinese and English names are required, the English name may be added behind the number, e.g., "0001hello.mp3" or "0001 voice.mp3".

Motion definition:

Step 6:

The gesture language is identified and judged according to the gesture, and the gesture here is expressed through the serial port value of bending sensor. To improve the identification accuracy, prior clear definition of motion appear to be particularly important. For example, the gesture expressing OK is as follows.

We may define it as bending angle 90o of thumb and forefinger. Corresponding conditions of serial port value are: (sensorValue1<40) and (sensorValue2<40). At this moment, corresponding voice will be triggered to be played. Multiple voice gestures may be defined with the same method.

Code

CODE: SELECT ALL

#include

#include

void setup()

{ Serial.begin(9600);

mp3_set_serial (Serial); //set Serial for DFPlayer-mini mp3 module

mp3_set_volume (100);

}

void loop() {

int sensorValue1 = analogRead(A1);

int sensorValue2 = analogRead(A2);

int sensorValue3 = analogRead(A3);

int sensorValue4 = analogRead(A4);

int sensorValue5 = analogRead(A5); // print out the value you read:

Serial.println(sensorValue1);

Serial.println(sensorValue2);

Serial.println(sensorValue3);

Serial.println(sensorValue4);

Serial.println(sensorValue5);

//delay(2000);

if (sensorValue1<40)

{

digitalWrite(12,HIGH);

mp3_play (0001);

delay(3000); //for light

}

else

{

digitalWrite(12,LOW);

}

if (sensorValue2<40)

{

digitalWrite(12,HIGH);

mp3_play (0002);

delay(3000); //for light

}

else

{

digitalWrite(12,LOW);

}

if (sensorValue3<40)

{

digitalWrite(12,HIGH);

mp3_play (0003);

delay(3000); //for light

}

else

{

digitalWrite(12,LOW);

}

if (sensorValue4<40)

{

digitalWrite(12,HIGH);

mp3_play (0004);

delay(3000); //for light

}

else

{

digitalWrite(12,LOW);

}

if (sensorValue5<40)

{

digitalWrite(12,HIGH);

mp3_play (0005);

delay(3000); //for light

}

else

{

digitalWrite(12,LOW);

}

}

Step 7:

After the model is powered on, different finger gestures will drive the bending sensor to form different angles. Then, different voice expressions will be sent after identified by the system.

read original artical:https://www.dfrobot.com/forum/viewtopic.php?f=2&t=2904