2016-8-17 14:43:31 [显示全部楼层]
5551浏览
查看: 5551|回复: 11

手势传感器试用+【组合2开箱照】

[复制链接]
第一次在DFROBOT申请试用,激动~!   @luna
申请的项目是偶然之间的想法,感觉有了个很好的契机去做出来



下面是开箱图  @DFRobot   ,收到df和蘑菇云2个徽章~

手势传感器试用+【组合2开箱照】图4手势传感器试用+【组合2开箱照】图1
手势传感器试用+【组合2开箱照】图3手势传感器试用+【组合2开箱照】图2


二号试用套装,分别是Leonardo&xbee和手势传感器
第一次试用leonardo,确实存在一些和uno不同的地方,不过也无大碍
关键还是这次的手势传感器

手势传感器试用+【组合2开箱照】图5

按照官方给的指南,戳这里,
连接线,采用3v3和5v供电均可

刷入指南中给的测试代码

手势传感器试用+【组合2开箱照】图6


接下来就是测试手势传感的效果啦~!
左手.....正常......右手.....正常.....(好像并没有区别.....)
然后我受到了对面基友的无限鄙视的目光........

    if ( apds.isGestureAvailable() ) {
    switch ( apds.readGesture() ) {
      case DIR_UP:
        Serial.println("UP");
        break;
      case DIR_DOWN:
        Serial.println("DOWN");
        break;
      case DIR_LEFT:
        Serial.println("LEFT");
        break;
      case DIR_RIGHT:
        Serial.println("RIGHT");
        break;
      case DIR_NEAR:
        Serial.println("NEAR");
        break;
      case DIR_FAR:
        Serial.println("FAR");
        break;
      default:
        Serial.println("NONE");
    }
  }
看测试例程,里面给出了6种手势,分别是上下左右和靠近/远离

然后,我整理好表情,对着传感器挥手



上下左右的敏感度还不错,太快和太慢都会被判断为NONE,至于FAR,手掌靠近,然后远离(速度稍微快一点点点点),然后还剩下一个NEAR.....

引用一下@svw 的心得~
不要用打耳光的速度,用做体操的速度,很容易试出来。

嗯.....呃....

总结出来的出现NEAR的经验就是,和FAR差不多的速度
将手掌向传感器接近,然后,最后的时候,离传感器比较近的时候(大概)
将手掌从传感器的正前方向侧面做一个漂亮的漂移(别拍到传感器上了),然后NEAR就出现啦...
呃...不知道有没有别的方法呢....嗯嗯嗯,.
.多试几次就有感觉啦~,灵敏度和准确度都挺不错的~
----------------------------------------------------------------------------------------------
颜色传感的方面,同一种颜色测试的波动如下,存在色差,但是判断色彩还是没问题的
Ambient: 130 Red: 71 Green: 43 Blue: 41
Ambient: 128 Red: 70 Green: 42 Blue: 41
Ambient: 129 Red: 69 Green: 43 Blue: 41
Ambient: 131 Red: 70 Green: 44 Blue: 42
Ambient: 129 Red: 70 Green: 43 Blue: 41

----------------------------------------------------------------------------------------------


(项目帖待更新)



nicho  中级技匠
 楼主|

发表于 2016-8-17 14:43:32

本帖最后由 nicho 于 2016-8-17 19:32 编辑

发现了一个小小的细节 @luna  .........这一点在手势传感器的指南里面没有提及,就是关于传感器使用的SDA/SCL和中断引脚有冲突,(只针对Leonardo)

(我其实也是第一次用Leonardo,开箱的时候顺手拿了uno来测试,没有发现,后来用Leonardo的时候才发现出了问题)

去查了Leonardo的引脚图,INT0和INT1和SDA/SCl是同一个引脚,(和UNO不同,uno的int0和int1分别是d2和d3,SCL/SDA是A4和A5)

这就尴尬了,一开始没发现,指南里面的例程是针对UNO的...

// Pins
#define APDS9960_INT    2 // Needs to be an interrupt pin
这里的引脚定义是针对uno而设的,刷程序进Leonardo,一点反应都没有...应该是出现了"Something went wrong during APDS-9960 init!",不过由于Leonardo的天生限制,看不到这段文字(吧)

下面是中断的引脚对应表
[/td][/tr]

型号int0int1int2int3
uno23
leonardo3201


怎么解决呢?

需要下面这两步:

修改:
#define APDS9960_INT    2 // Needs to be an interrupt pin
为;
#define APDS9960_INT    0 // Needs to be an interrupt pin   
或   
#define APDS9960_INT    1 // Needs to be an interrupt pin


然后修改:
attachInterrupt(0, interruptRoutine, FALLING);

attachInterrupt(2, interruptRoutine, FALLING);       //如果上一步修改的引脚是0的话,就改成这样的
或:
attachInterrupt(3, interruptRoutine, FALLING);       //如果上一步修改的引脚是1的话,就改成这样的

----------------------------------------------------------------------
这里描述的问题,其实在演示程序里面也有提及一些相关的注意事项,不过,一开始没有注意

回复

使用道具 举报

nicho  中级技匠
 楼主|

发表于 2016-8-17 14:43:33

本帖最后由 nicho 于 2016-8-17 14:43 编辑

占楼更新
回复

使用道具 举报

luna  初级技神

发表于 2016-8-17 15:07:47

nicho~项目和开箱照要分开发哦~~项目名称规范:"手势传感器试用+【自己制作的项目名称】"
回复

使用道具 举报

luna  初级技神

发表于 2016-8-17 15:08:18

你和svw的标题一模一样,我都蒙了
回复

使用道具 举报

nicho  中级技匠
 楼主|

发表于 2016-8-17 15:44:32

luna 发表于 2016-8-17 15:07
nicho~项目和开箱照要分开发哦~~项目名称规范:"手势传感器试用+【自己制作的项目名称】" ...

马上改~
回复

使用道具 举报

luna  初级技神

发表于 2016-8-17 16:34:15


都怪我没有做个规范说明
回复

使用道具 举报

大连林海  初级技神

发表于 2016-8-17 17:50:36

不错哦 还有板子 和 传感器:'(
回复

使用道具 举报

visionsl  初级技匠

发表于 2016-8-18 09:54:45

占楼围观
回复

使用道具 举报

dsweiliang  初级技神

发表于 2016-8-18 11:54:30

羡慕
回复

使用道具 举报

凌风清羽  中级技匠

发表于 2016-8-25 22:19:53

围观好项目,哈哈~~~~
回复

使用道具 举报

heinau  高级技匠

发表于 2016-9-1 13:46:34

打耳光的速度和做体操的速度哈哈哈哈哈哈!
真是好形象的比喻方式
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail