[应用教程]简单手语发声机模型 精华

查看: 2339|回复: 21

[应用教程] 简单手语发声机模型

[复制链接]
不知道大家还是否记得当年的机械手了,为了让机械手能干点别的,所以有了下面的东西……

创意思路:
       手语是聋哑人沟通的主要途径,但懂得手语的人却不多。如何帮助这些特殊人群让更多的人能够理解他们所要表达的意思呢。于是我们制作了手语发声机这个模型,期望为聋哑人这个特殊群体在一定程度上提高与普通人沟通效率。聋哑人借助该手语发声机,可以将手语表达转换成我们正常人可以听懂的语言,从而达到与正常人交流的目的。
0001.jpg
这款手语发声机使用了Arduino主控器,结合5根flex4.5”单向弯曲传感器来识别手指姿态,通过DFPlayer Mini 播放器模块播放识别的语音,如图2所示。
0002.png
项目器材:
组装连接:

4.5"弯曲传感器通过弯曲程度转换成电阻值的变化,弯曲越大,电阻越高。但是需要对该传感器进行相应改造,来获取合适的串口值,本次使用下拉电阻(1K)的方式。如下图所示
0003.jpg
图3

将焊接好的弯曲传感器接头用AB胶粘在手套的5根手指上,注意弯曲传感器焊接头部位请务必用胶带或绝缘材料包裹保护,以免弄断。
0004.jpg
图4

五根手指分别对应Arduino主控板上A1-A5,其它线按上图中弯曲传感器的接法来接。MP3模块与小喇叭模块与主控器连接如下图所示。
0005.jpg

工作原理
0006.png
图6
上图分别代表平直状态、45度、90度状态下对应阻值。通过串口监视器可以查看到三种状态下的不同值。经过实际测量,平直状态下串口输出值为80;弯曲45度时串口输出值为60左右;而当弯曲角度达到90时,串口输出值为30-40之间。

语音素材:

从网上下载或者自己录制一部分语音素材,将其拷贝至TF卡里。注意TF卡里文件夹命名需要是mp3,放置在卡根目录下,而mp3文件命名需要是4位数字,例如"0001.mp3",放置在mp3文件夹下。如需中英文命名,可以添加在数字后,例如"0001hello.mp3"或者"0001语音.mp3"。

定义动作:
0007.png

手语的识别是根据手势的姿态来判断,而这里手势姿态是通过弯曲传感器的串口值来表达。为了提高识别的准确率,事前定义明确的动作显得尤为重要。例如,表示OK的手势如下。

我们就可以将其定义为拇指和食指弯曲角度达到90度,对应串口值的条件为:(sensorValue1<40) and (sensorValue2<40),此时触发播放对应的语音。同样的方法可以定义多个语音手势。

[HTML] 纯文本查看 复制代码
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
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);
  }

}

0008.jpg 0009.jpg 0010.jpg

对模型上电后,手指做出不同的形态,带动弯曲传感器形成不同的角度,被系统识别后发出不同的语音表达。
注:本文为安徽省教育科学规划课题:基于Arduino平台的普通高中通用技术课程开发项目成果。项目编号:JG14218。





dsweiliang  版主

发表于 2017-5-3 13:52:52

厉害~就是换一个没那么厚的手套就更好了
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-3 14:04:13

dsweiliang 发表于 2017-5-3 13:52
厉害~就是换一个没那么厚的手套就更好了

错了,换个厚手套效果更好
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-3 14:04:34

dsweiliang 发表于 2017-5-3 13:52
厉害~就是换一个没那么厚的手套就更好了

把传感器放进手套里,不用这么裸露着
回复 支持 反对

使用道具 举报

dsweiliang  版主

发表于 2017-5-3 15:31:59

hnyzcj 发表于 2017-5-3 14:04
把传感器放进手套里,不用这么裸露着

我这边的气温,看到这个手套都觉得热
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-3 15:34:43

为何视频加载不了呢
回复 支持 反对

使用道具 举报

luna  管理员

发表于 2017-5-3 17:14:29

hnyzcj 发表于 2017-5-3 15:34
为何视频加载不了呢

我这边可以啊~是不是浏览器问题?
回复 支持 反对

使用道具 举报

luna  管理员

发表于 2017-5-3 17:15:46

建议以后产品清单,加一下链接~ 有兴趣模仿制作你项目的人可以方便购买~
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-3 18:28:36

luna 发表于 2017-5-3 17:15
建议以后产品清单,加一下链接~ 有兴趣模仿制作你项目的人可以方便购买~

OK
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-3 18:39:15

luna 发表于 2017-5-3 17:15
建议以后产品清单,加一下链接~ 有兴趣模仿制作你项目的人可以方便购买~

已加连接
回复 支持 反对

使用道具 举报

super-power  中级技师

发表于 2017-5-3 22:45:26

好创意啊,不过弯曲传感器挺贵的。
回复 支持 反对

使用道具 举报

O_oYYQ  高级技师

发表于 2017-5-4 09:12:37

感觉可以使用Genuino 101的机器学习功能,事先学好一些特定的明显动作,这样应该能提高点识别的准备率,而且还方便互动什么的
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-4 09:47:37

O_oYYQ 发表于 2017-5-4 09:12
感觉可以使用Genuino 101的机器学习功能,事先学好一些特定的明显动作,这样应该能提高点识别的准备率,而 ...

回复 支持 反对

使用道具 举报

xar  初级技匠

发表于 2017-5-4 09:48:03

super-power 发表于 2017-5-3 22:45
好创意啊,不过弯曲传感器挺贵的。

用的人多了会便宜的
回复 支持 反对

使用道具 举报

安卓机器人  高级技匠

发表于 2017-5-4 17:51:49

O_oYYQ 发表于 2017-5-4 09:12
感觉可以使用Genuino 101的机器学习功能,事先学好一些特定的明显动作,这样应该能提高点识别的准备率,而 ...

提示了我这里机器学习是指利用传感器数据储存特定动作
回复 支持 反对

使用道具 举报

nicho  版主

发表于 2017-5-4 23:30:12

好项目!
回复 支持 反对

使用道具 举报

nicho  版主

发表于 2017-5-4 23:30:47

好奇图二是用什么软件画的
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2017-5-5 06:02:33

nicho 发表于 2017-5-4 23:30
好奇图二是用什么软件画的

WORD的自选图形
回复 支持 反对

使用道具 举报

Forgotten  版主

发表于 2017-5-5 23:17:56

手势控制加神经元
回复 支持 反对

使用道具 举报

nahao8  中级技师

发表于 2017-5-22 09:38:43

好创意
回复 支持 反对

使用道具 举报

maker_王  初级技匠

发表于 2017-5-22 19:45:35

我也做了一个,加上了加速度传感器
回复 支持 反对

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4 Licensed

QQ