找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 27777|回复: 34
打印 上一主题 下一主题
收起左侧

2018电赛-FDC2214手势识别装置(D题)研究与讨论

  [复制链接]
跳转到指定楼层
楼主
ID:226339 发表于 2018-7-21 04:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2018TI杯大学生电子设计竞赛
D题:手势识别装置
1.任务
基于TI公司传感芯片FDC2214设计制作一个手势识别装置,实现对猜拳游戏和划拳游戏的判决。该装置也可以直接使用FDC2214 EVM板,要求所使用的FDC2214芯片或者EVM板不得超过2块。
装置具有训练和判决两种工作模式。在判决模式下实验装置能对指定人员进行猜拳游戏和划拳游戏的判决。这里猜拳游戏的判决是指对手势比划“石头”、“剪刀”和“布”的判定,划拳游戏的判定是指手势比划“1”、“2”、“3”、“4”和“5”的判定。在训练模式下能对任意人员进行猜拳游戏和划拳游戏的手势训练,经过有限次训练后,能进行正确的猜拳游戏和划拳游戏的手势判决。
2.要求
1)装置工作在判决模式下,能对参赛者指定人员进行猜拳判决,给出手势“石头”、“剪刀”和“布”的准确判决,要求每一次判决的时间不大于1秒。                       
18分)
2)装置工作在判决模式下,能对参赛者指定人员进行划拳判决,给出手势“1”、“2”、“3”、“4”和“5”的准确判决,要求每一次判决的时间不大于1秒。
28分)
3)装置工作在训练模式下,对任意测试者进行猜拳的手势训练,每种动作训练次数不大于3次,总的训练时间不大于1分钟;然后切换工作模式到判决模式,对被训练的人员进行猜拳判决,要求每一次判决的时间不大于1秒。(21分)
4)装置工作在训练模式下,对任意测试者进行划拳的手势训练,每种动作训练次数不大于3次,总的训练时间不大于2分钟;然后切换工作模式到判决模式,对被训练的人员进行划拳判决,要求每一次判决的时间不大于1秒。
29分)
5)其他。                                              4分)
6)设计报告。                                         20分)
  
项  目
  
主要内容
  分数
  系统方案
  比较与选择,方案系统描述,方案理论分析与计算
  6
  电路与程序设计
  系统原理图和各个部分原理图;系统软件流程图
  
4
  测试方案与测试结果
  测试方案合理;测试结果完整;测试结果分析;基本测试仪器
  
6
  
  设计报告结构及规范性
  摘要;正文结果规范;图表的完整性与准确性。
  
4
  
  
总分
  
20
3.    说明
(1)题目中“指定人员”是参赛队学生自己指定的人员,“任意测试者是由评审老师临时选择的人员。
(2)FDC2214是基于LC谐振电路原理的一个电容检测传感器。其基本原理如图1所示,在芯片每个检测通道的输入端连接一个电感和电容,组成LC电路,被测电容传感端(图1中灰色标识部分即为被测电容)与LC电路相连接,将产生一个振荡频率,根据该频率值可计算出被测电容值。

图1  FDC2214传感器基本原理
    利用FDC2214的工作原理可实现手势接近和识别的功能,如图2所示,黄色部分称为“FDC2214的传感平面”,该平面为导体材质,当人手接近该导体传感平面时,传感端的电容发生了变化,这就会导致LC电路振荡频率的变化,从而反映出手势接近,以及手势的判定。
(2)基于FDC2214实现手势接近和判决的实验中存在如下的特征:传感平面的面积越大、手势与传感平面的距离越小,感应的频率变化越大,系统会越灵敏,但同时也可能引入越多的噪声。所以在设计该传感平面时,要根据实际情况综合考虑。进一步设计文档可参考如下连接:www.ti. com/lit/an/snoa940a/snoa940a.pdf

图2  手势感应示意
为了便于进行训练和判决测试,建议学生作品可以对测试区进行指定,如图3所示。在测试或者训练时要求测试者的手势紧贴在测试板上,建议测试者手势与作品的FDC2214传感器距离不小于1厘米。

图3  手势识别装置的测试示意图
    (3)猜拳游戏和划拳游戏手势的具体定义应符合大众认知。对任意测试者进行手势训练时,测试者要遵循学生的指导来进行训练;训练完成后,要在学生的指导下进行手势判决测试。

2018年TI杯大学生电子设计竞赛所有题目详见:
http://www.51hei.com/bbs/dpj-129048-1.html
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:376309 发表于 2018-7-21 06:28 | 只看该作者
楼主你做出来了吗?

arduino方案:http://www.51hei.com/bbs/dpj-129920-1.html
回复

使用道具 举报

板凳
ID:375161 发表于 2018-7-21 08:04 | 只看该作者
我想说,手头有现成的evm板就好办。可是我这种没板子只有芯片的就爽了……
回复

使用道具 举报

地板
ID:375680 发表于 2018-7-21 08:50 | 只看该作者
楼主给个方案分享啊
回复

使用道具 举报

5#
ID:344895 发表于 2018-7-21 10:16 | 只看该作者
我们已经有很多人都做出来了
回复

使用道具 举报

6#
ID:376485 发表于 2018-7-21 11:02 | 只看该作者
lq1425988716 发表于 2018-7-21 10:16
我们已经有很多人都做出来了

牛啊!
回复

使用道具 举报

7#
ID:370013 发表于 2018-7-21 11:12 | 只看该作者
lq1425988716 发表于 2018-7-21 10:16
我们已经有很多人都做出来了

大佬求帮助
回复

使用道具 举报

8#
ID:376494 发表于 2018-7-21 11:16 | 只看该作者
lq1425988716 发表于 2018-7-21 10:16
我们已经有很多人都做出来了

你好,我也是做手势识别的,可是程序运行之后检测不到数据,你知道怎么回事吗
回复

使用道具 举报

9#
ID:376501 发表于 2018-7-21 11:23 | 只看该作者
楼主做出来了明确
回复

使用道具 举报

10#
ID:376522 发表于 2018-7-21 11:47 来自手机 | 只看该作者
我们也在做
回复

使用道具 举报

11#
ID:155507 发表于 2018-7-21 12:09 | 只看该作者
关键在于手放上去电容的变化是什么样的
应该是特征识别吧, 传感端的电容对手势发生了变化

  1. //
  2. // FDC2x1x hardware configuration:
  3. // Component value as in default circuit form datasheet. (18uH inductor and 33pF cap)
  4. //
  5. // SD and ADDR pins tied to GND
  6. // INTB pin not used
  7. //
  8. // ARDUINO <--> FDC
  9. // A4 <-------> SDA
  10. // A5 <-------> SCL
  11. //
  12. // !!!!!! Arduinos are mostly 5V. FDC chips are 3.3V, so either use 3.3V version of Arduino, like pro mini, or use level shifter on I2C bus.
  13. //

  14. // ### FDC
  15. #include <Wire.h>
  16. #include "FDC2214.h"
  17. FDC2214 capsense(FDC2214_I2C_ADDR_0); // Use FDC2214_I2C_ADDR_1

  18. // ###
  19. void setup() {
  20.   
  21.   // ### Start I2C
  22.   Wire.begin();
  23. //  Wire.setClock(400000L);
  24.   
  25.   // ### Start serial
  26.   Serial.begin(115200);
  27.   Serial.println("\nFDC2x1x test");
  28.   
  29.   // ### Start FDC
  30.   // Start FDC2212 with 2 channels init
  31.   bool capOk = capsense.begin(0x3, 0x4, 0x5); //setup first two channels, autoscan with 2 channels, deglitch at 10MHz
  32.   // Start FDC2214 with 4 channels init
  33.   //bool capOk = capsense.begin(0xF, 0x4, 0x5); //setup all four channels, autoscan with 2 channels, deglitch at 10MHz
  34.   if (capOk) Serial.println("Sensor OK");  
  35.   else Serial.println("Sensor Fail");  

  36. }

  37. // ### Tell aplication how many chanels will be smapled in main loop
  38. #define CHAN_COUNT 2

  39. // ###
  40. void loop() {
  41.   unsigned long capa[CHAN_COUNT]; // variable to store data from FDC
  42.   for (int i = 0; i < CHAN_COUNT; i++){ // for each channel
  43.     // ### read 28bit data
  44.     capa[i]= capsense.getReading28(i);//  
  45.     // ### Transmit data to serial in simple format readable by SerialPlot application.
  46.     Serial.print(capa[i]);  
  47.     if (i < CHAN_COUNT-1) Serial.print(", ");
  48.     else Serial.println("");
  49.   }
  50.   // No point in sleeping
  51.   //delay(100);
  52. }
复制代码
回复

使用道具 举报

12#
ID:155507 发表于 2018-7-21 12:39 | 只看该作者
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "stdio.h"
  4. #include "usart.h"
  5. #include "timer.h"
  6. #include "FDC2214.h"

  7. void FDC2214_GetData(void);
  8. u32 ch0,ch1,ch2,ch3;

  9. int main(void)
  10. {       
  11.         delay_init();//延时函数初始化       
  12.     uart_init(921600);//串口初始化   
  13.     TIM1_36Mhz_Init();//stm32定时器1输出一个36mhz方波,作为fdc2214的时钟。如果板载了40mhz的晶振,这个就不需要了。
  14.    
  15.     IIC_Init();
  16.     FDC2214_Init();
  17.         while(1)
  18.         {
  19.         FDC2214_GetData();
  20.         printf("\r\nCH0~3(%d , %d , %d , %d)",ch0,ch1,ch2,ch3);
  21.                 delay_ms(500);         //延时300ms
  22.         }
  23. }




  24. void FDC2214_GetData(void)
  25. {
  26.     FDC2214_GetChannelData(FDC2214_Channel_0, &ch0);  
  27.     FDC2214_GetChannelData(FDC2214_Channel_1, &ch1);
  28.     FDC2214_GetChannelData(FDC2214_Channel_2, &ch2);
  29.     FDC2214_GetChannelData(FDC2214_Channel_3, &ch3);
  30. }

复制代码



内含清晰图片和源码与pcb

FDC2214.rar

7.36 MB, 下载次数: 681

回复

使用道具 举报

13#
ID:317453 发表于 2018-7-21 13:32 | 只看该作者
lq1425988716 发表于 2018-7-21 10:16
我们已经有很多人都做出来了

大佬们,求分享
回复

使用道具 举报

14#
ID:375573 发表于 2018-7-21 13:57 | 只看该作者
lq1425988716 发表于 2018-7-21 10:16
我们已经有很多人都做出来了

可以问问程序里面是怎么设定判别模式的吗
回复

使用道具 举报

15#
ID:140255 发表于 2018-7-21 14:58 | 只看该作者
1cm怎么识别的?
回复

使用道具 举报

16#
ID:196174 发表于 2018-7-21 17:45 | 只看该作者
有没有做出来的?
回复

使用道具 举报

17#
ID:376791 发表于 2018-7-21 18:10 | 只看该作者
做出来了吗
回复

使用道具 举报

18#
ID:375573 发表于 2018-7-21 20:51 | 只看该作者
nikola 发表于 2018-7-21 08:04
我想说,手头有现成的evm板就好办。可是我这种没板子只有芯片的就爽了……

有了这种板你有程序吗
回复

使用道具 举报

19#
ID:376866 发表于 2018-7-21 20:56 | 只看该作者
做出来了吗
回复

使用道具 举报

20#
ID:376929 发表于 2018-7-21 22:12 | 只看该作者
这个好难啊,一直做不出来
回复

使用道具 举报

21#
ID:336195 发表于 2018-7-22 00:13 | 只看该作者
我已做好四个问。q137712826
回复

使用道具 举报

22#
ID:317692 发表于 2018-7-22 10:55 | 只看该作者
都做完了,又要资料,代码(全套)的加Q845852652
回复

使用道具 举报

23#
ID:375462 发表于 2018-7-22 13:47 | 只看该作者

51黑论坛_FDC2214-1.1原理图.pdf

11.01 KB, 下载次数: 203

回复

使用道具 举报

24#
ID:283315 发表于 2018-7-22 14:08 | 只看该作者
有人可以分享一下资源吗
回复

使用道具 举报

25#
ID:377344 发表于 2018-7-22 15:19 | 只看该作者
lq1425988716 发表于 2018-7-21 10:16
我们已经有很多人都做出来了

兄弟你怎么做出来的。。。
回复

使用道具 举报

26#
ID:376907 发表于 2018-7-22 15:31 来自手机 | 只看该作者
做出来了吗
回复

使用道具 举报

27#
ID:258754 发表于 2018-7-22 15:43 | 只看该作者

楼主给个方案分享啊
回复

使用道具 举报

28#
ID:377384 发表于 2018-7-22 16:05 | 只看该作者
有没有人遇到FDC返回值一直是0xffff的情况?有的话请问是怎么解决的?
回复

使用道具 举报

29#
ID:377483 发表于 2018-7-22 19:11 | 只看该作者
求分享报告资料
回复

使用道具 举报

30#
ID:377052 发表于 2018-7-22 19:56 | 只看该作者
模式选择 只用按键  不用中断可以实现吗
回复

使用道具 举报

31#
ID:377761 发表于 2018-7-23 10:11 | 只看该作者
求分享
回复

使用道具 举报

32#
ID:378193 发表于 2018-7-23 21:22 | 只看该作者
做不出来
回复

使用道具 举报

33#
ID:378263 发表于 2018-7-24 02:34 | 只看该作者
就设置几个阈值进行判断
回复

使用道具 举报

34#
ID:475840 发表于 2019-5-26 14:49 | 只看该作者
表示是这个,哪位大佬可以帮着修改一下么
回复

使用道具 举报

35#
ID:812079 发表于 2020-8-14 10:19 | 只看该作者
这个可以用51单片机做吗?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表