机器人与人工智能爱好者论坛

 找回密码
 立即注册
查看: 5106|回复: 0
打印 上一主题 下一主题

Arduino+LeapMotion=自己的手势控制器

[复制链接]

29

主题

48

帖子

234

积分

版主

Rank: 7Rank: 7Rank: 7

积分
234
跳转到指定楼层
楼主
发表于 2015-12-3 13:53:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

Arduino+LeapMotion=自己的手势控制器


2015-11-25 16:12 原创 吴攀

你或许没听说过LeapMotion,但你一定知道微软的Kinect。这两款设备都能够捕捉用户身体的动作,并根据预设的算法实现用户动作和计算机的交互。
一位来自印度的创客Syed Anwaarullah为了能在Mini Maker Faire上炫耀一下,打算利用手头的LeapMotion做更多有趣的事。他将通过LeapMotion和开源硬件Arduino的结合,将手势和体感交互扩展到更多的应用领域——甚至能使用这套系统控制机器人和智能家居设备!
第一步:原料准备
这套项目所需要的部件并不多,如果要做一只手势控制的机器手,除了基本的Arduino和LeapMotion控制器,还需要一个ESP8266 WiFi模块、几个舵机和一只3D打印手。另外,这套系统也能用来控制电器的开关等等。
第二步:3D打印手的制作一只能够灵活运动的3D打印手的结构还是比较复杂的,这是一个相对较为简单的设计,只能实现比较简单的功能:

其各个部件都是单独打印出来的,详细的文件可以点击这里找到。而后面的组装过程也比较费时,感兴趣的话可以在YouTube上查看长达1小时的组装视频。
装好了是这样:
第三步:为机器手配置舵机控制
测试一下手指的运动是否灵活:
第四步:手势控制配置在本项目中,手势能够实现对机器手和灯的控制。具体的工作过程是:首先LeapMotion捕捉伸出的手指数量,然后通过WiFi模块将结果反馈给Arduino Leonardo开发板,开发板中的程序将根据手指数量作出相应的反馈:
  • 伸出1只手指:打开黄灯
  • 伸出2只手指:关闭黄灯
  • 伸出3只手指:打开红灯
  • 伸出4只手指:关闭红灯
  • 伸出5只手指:手掌打开
  • 伸出0只手指:手掌闭合
具体的程序(包括PC端的JAVA程序和Arduino程序)可以在bitbucket下载。
如果你也打算做一个同样的控制器,那么在程序配置过程中,你需要注意以下几点:
  • Arduino程序中的establishWiFiConnection()用来配置客户端模式的ESP8266,而createWiFiHotspotServer()则用来配置热点模式的ESP8266。
  • 数字引脚11和12连接到一个4信道的继电器模组(低电平有效触发)。
  • Java类中的IP地址192.168.4.1是热点模式下的WiFi模块的IP地址,如果你打算在客户端模式下使用ESP8266,应该将其换成动态IP地址。
第五步:完成
完成之后就该带到Mini Maker Faire上去炫耀了!


回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2024-4-30 00:32 , Processed in 0.057238 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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