2017-5-3 13:38:12 [显示全部楼层]
19916浏览
查看: 19916|回复: 24

[进阶] 简单手语发声机模型

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

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

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

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

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

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

语音素材:

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

定义动作:
简单手语发声机模型图7

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

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

  1. #include <SoftwareSerial.h>
  2. #include <DFPlayer_Mini_Mp3.h>
  3. void setup() {
  4.   Serial.begin(9600);
  5.   mp3_set_serial (Serial);        //set Serial for DFPlayer-mini mp3 module
  6.   mp3_set_volume (100);
  7. }
  8. void loop() {
  9.   int sensorValue1 = analogRead(A1);
  10.   int sensorValue2 = analogRead(A2);
  11.   int sensorValue3 = analogRead(A3);
  12.   int sensorValue4 = analogRead(A4);
  13.   int sensorValue5 = analogRead(A5);
  14.   // print out the value you read:
  15.   Serial.println(sensorValue1);
  16.   Serial.println(sensorValue2);
  17.   Serial.println(sensorValue3);
  18.   Serial.println(sensorValue4);
  19.   Serial.println(sensorValue5);
  20. //delay(2000);
  21.   if (sensorValue1<40)
  22.   {
  23.     digitalWrite(12,HIGH);
  24.     mp3_play (0001);
  25.     delay(3000); //for light
  26.    }
  27.   else
  28.   {
  29.     digitalWrite(12,LOW);
  30.   }
  31.   
  32.   if (sensorValue2<40)
  33.   {
  34.     digitalWrite(12,HIGH);
  35.     mp3_play (0002);
  36.     delay(3000); //for light
  37.    }
  38.   else
  39.   {
  40.     digitalWrite(12,LOW);
  41.   }
  42.   
  43.   if (sensorValue3<40)
  44.   {
  45.     digitalWrite(12,HIGH);
  46.     mp3_play (0003);
  47.     delay(3000); //for light
  48.    }
  49.   else
  50.   {
  51.     digitalWrite(12,LOW);
  52.   }
  53.   
  54.   if (sensorValue4<40)
  55.   {
  56.     digitalWrite(12,HIGH);
  57.     mp3_play (0004);
  58.     delay(3000); //for light
  59.    }
  60.   else
  61.   {
  62.     digitalWrite(12,LOW);
  63.   }
  64.    if (sensorValue5<40)
  65.   {
  66.     digitalWrite(12,HIGH);
  67.     mp3_play (0005);
  68.     delay(3000); //for light
  69.    }
  70.   else
  71.   {
  72.     digitalWrite(12,LOW);
  73.   }
  74. }
复制代码

简单手语发声机模型图8简单手语发声机模型图9简单手语发声机模型图10

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

安卓机器人  中级技神

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

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

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

使用道具 举报

DFS1b-v8vGu  学徒 来自手机

发表于 2021-2-27 13:24:43

hnyzcj 发表于 2017-5-3 13:38
不知道大家还是否记得当年的机械手了,为了让机械手能干点别的,所以有了下面的东西……

创意思路:       ...

大神,只有一个手势吗?
回复

使用道具 举报

hnyzcj  版主
 楼主|

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

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

:victory:
回复

使用道具 举报

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的机器学习功能,事先学好一些特定的明显动作,这样应该能提高点识别的准备率,而且还方便互动什么的
回复

使用道具 举报

xar  初级技匠

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

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

用的人多了会便宜的
回复

使用道具 举报

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下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

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

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

mail