设为首页收藏本站

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

hnyzcj 发表于 2017-5-3 13:38:12 | 显示全部楼层 [复制链接]
21 2115
不知道大家还是否记得当年的机械手了,为了让机械手能干点别的,所以有了下面的东西……

创意思路:
       手语是聋哑人沟通的主要途径,但懂得手语的人却不多。如何帮助这些特殊人群让更多的人能够理解他们所要表达的意思呢。于是我们制作了手语发声机这个模型,期望为聋哑人这个特殊群体在一定程度上提高与普通人沟通效率。聋哑人借助该手语发声机,可以将手语表达转换成我们正常人可以听懂的语言,从而达到与正常人交流的目的。
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。





发表于 2017-5-3 13:52:52 | 显示全部楼层
厉害~就是换一个没那么厚的手套就更好了
回复 支持 反对

使用道具 举报

发表于 2017-5-3 14:04:13 | 显示全部楼层
dsweiliang 发表于 2017-5-3 13:52
厉害~就是换一个没那么厚的手套就更好了

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

使用道具 举报

发表于 2017-5-3 14:04:34 | 显示全部楼层
dsweiliang 发表于 2017-5-3 13:52
厉害~就是换一个没那么厚的手套就更好了

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

使用道具 举报

发表于 2017-5-3 15:31:59 | 显示全部楼层
hnyzcj 发表于 2017-5-3 14:04
把传感器放进手套里,不用这么裸露着

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

使用道具 举报

发表于 2017-5-3 15:34:43 | 显示全部楼层
为何视频加载不了呢
回复 支持 反对

使用道具 举报

发表于 2017-5-3 17:14:29 | 显示全部楼层
hnyzcj 发表于 2017-5-3 15:34
为何视频加载不了呢

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

使用道具 举报

发表于 2017-5-3 17:15:46 | 显示全部楼层
建议以后产品清单,加一下链接~ 有兴趣模仿制作你项目的人可以方便购买~
回复 支持 反对

使用道具 举报

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

OK
回复 支持 反对

使用道具 举报

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

已加连接
回复 支持 反对

使用道具 举报

发表于 2017-5-3 22:45:26 | 显示全部楼层
好创意啊,不过弯曲传感器挺贵的。
回复 支持 反对

使用道具 举报

发表于 2017-5-4 09:12:37 | 显示全部楼层
感觉可以使用Genuino 101的机器学习功能,事先学好一些特定的明显动作,这样应该能提高点识别的准备率,而且还方便互动什么的
回复 支持 反对

使用道具 举报

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

回复 支持 反对

使用道具 举报

发表于 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的机器学习功能,事先学好一些特定的明显动作,这样应该能提高点识别的准备率,而 ...

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

使用道具 举报

发表于 2017-5-4 23:30:12 | 显示全部楼层
好项目!
回复 支持 反对

使用道具 举报

发表于 2017-5-4 23:30:47 | 显示全部楼层
好奇图二是用什么软件画的
回复 支持 反对

使用道具 举报

发表于 2017-5-5 06:02:33 | 显示全部楼层
nicho 发表于 2017-5-4 23:30
好奇图二是用什么软件画的

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

使用道具 举报

发表于 2017-5-5 23:17:56 | 显示全部楼层
手势控制加神经元
回复 支持 反对

使用道具 举报

发表于 2017-5-22 09:38:43 | 显示全部楼层
好创意
回复 支持 反对

使用道具 举报

发表于 2017-5-22 19:45:35 | 显示全部楼层
我也做了一个,加上了加速度传感器
回复 支持 反对

使用道具 举报

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

本版积分规则 允许回帖同步到新浪微博  

  • 超级版主
  • 17542
  • 931
  • 活跃会员

    活跃会员

  • 萌萌哒新人

    萌萌哒新人

  • 版主限定

    版主限定

  • 小蘑菇勋章

    小蘑菇勋章

  • 教师荣誉徽章

    教师荣誉徽章

  • 特邀作者

    特邀作者

  • 牛X认证

    牛X认证

  • 宣传大使

    宣传大使

  • 老版主限定

    老版主限定

  • 蘑菇人勋章

    蘑菇人勋章

推荐阅读

精华导读




公司简介| 联系我们| 小黑屋| 加入我们| 微博| 优酷| 英文网站| DF创客社区 ( 沪ICP备09038501号-4  
友情链接| 硬创邦| 花生壳社区| 模友之吧| 电子发烧友社区| 创客星球| 云汉电子社区| 电子工程网| 与非网| Arduino中文社区| 南极熊3D打印网| OneNET|

上海智位机器人有限公司  沪ICP备09038501号-4   

Powered by Discuz! X3.1

Licensed Comsenz Inc.

返回顶部 返回列表