回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

带触摸的手势传感器试用:桌面级手势方向游戏机 简单

头像 #嘉诚欧巴# 2019.09.18 2005 1

步骤1 废话不多说,先来看看效果

优酷暂时上传不了....晚点补

这是一个桌面手势游戏机,每隔一段时间随机点亮一个LED,玩家需要及时作出对应方向的手势才可以消除。上置5个触摸按键可以调节5个不同的难度。

步骤2 故事的开始

本次的手势传感器由DFRobot创客社区提供,拿到手有了一段时间了,最开始想做一个触摸板以及手势翻页的PC外置设备,思来想去,还是觉得功能鸡肋。最终通过手势传感器的四个方向和四个LED,完成了这个作品。

project-image

于是申请了本次社区的试用活动,收快递的时候居然还有些小惊喜。

步骤3 程序功能说明

代码
  DFGT.setGestureDistance(20);             // suggest default value
  DFGT.disableFunction(DFGT_FUN_ALL);       // enable all functions
  DFGT.enableFunction(DFGT_FUN_BACK | DFGT_FUN_FORWARD | DFGT_FUN_RIGHT | DFGT_EVT_LEFT);    // disable function test
  DFGT.enableFunction(DFGT_FUN_TOUCH1); 
  DFGT.enableFunction(DFGT_FUN_TOUCH2); 
  DFGT.enableFunction(DFGT_FUN_TOUCH3); 
  DFGT.enableFunction(DFGT_FUN_TOUCH4); 
  DFGT.enableFunction(DFGT_FUN_TOUCH5); 

首先是设置传感器距离以及开启所需要的方向或者按键,这个手势传感器是采用串口返回数据。

代码
    int flag;
    int level=2000;
    static unsigned long openLED=millis();       //every 1s open one LED
    if (millis() - openLED >= level) {
        openLED=millis();
       flag = random(2,6);
       digitalWrite(flag,HIGH);
    }

这部分的功能是记录系统时间,每隔一段时间将会随机点亮一盏LED。并且变量level可以通过5个触摸按键进行设置,可以调节游戏难度。

注:函数介绍 random() 

 描述:生成伪随机数。 

函数原型: 

random(max) 

random(min,max) 

参数: 

min: 随机数区间下限值,且包括在内。此参数可选,省略则从0开始。

max: 随机数区间上限值,且不包括在内。 

返回值:min和max-1之间的随机数。

 randomSeed() 描述:初始化随机数生成器。 

函数原型:randomSeed(seed) 

参数:用于初始化伪随机序列的数字,随机数种子。 

返回值:没有。

代码
      case DFGT_EVT_LEFT: {
        Serial.println("get event left");
        digitalWrite(5,LOW);
      } break;
      case DFGT_EVT_TOUCH1: {
        Serial.println("get event touch1");
        level = 200;
      } break;

这部分拿了两个进行举例,按键调节难度,方向进行熄灭对应方向的LED。

步骤4 制作过程

材料清单

  • arduinoUNO X1
  • arduinoUNO拓展板 X1
  • 红色LED模块 X4
  • 手势传感器模块 X1
project-image

首先使用LaserMaker软件(其他绘图软件都可以)绘制了该作品的激光切割图。

project-image

并用激光切割机进行零件的加工。

project-image

准备好零件以后,准备一个壁纸刀、一个胶棒、一张白纸。

project-image
project-image

将背面用胶棒贴上一层白纸并用刀割掉以后,便会得到这样的零件。空白部分即可透光。

project-image
project-image

然后将我们的手势传感器固定上去。

project-image

并用热熔胶将LED发光对准箭头,固定好以后,将多出来的电线进行整理。

project-image

这样,一个桌面手势游戏机就完成了!!

project-image

步骤5 改进方向

1、增加游戏结束条件,例如场上不能同时有三盏以上的LED点亮。

2、增加数字显示,如LCD、数码管等,及时显示玩家分数。

步骤6 最后

由于最近一直在忙淘宝造物节,又遇电脑莫名死机。作品粗糙请各位见谅,做完了才发现,作为手势练习机相当不错。下面奉上代码。

步骤7 我是捣鼓车间李嘉诚,我们下次再见!~

评论

user-avatar
  • #嘉诚欧巴#

    #嘉诚欧巴#2019.09.18

    抢占沙发

    0