亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Leap Motion 激光坦克!

组件和用品

红外 LED
× 1
红外线接收器
× 1
Arduino UNO
× 1
Raspberry Pi 2 B 型
× 1
RF24 模块
× 1
LED-RGB-普通阴极
× 1
L293D 集成电路电机驱动器
× 1
面包板(通用)
× 1
跳线(通用)
× 1
电池座
× 1
AA 电池
可充电镍氢电池
× 1
乐高积木
× 1
滚珠脚轮金属 - 3/8"
× 1
Leap Motion 控制器
× 1

关于这个项目

该项目的目标是创建一组机器人坦克来进行战斗,操作员在使用 Leap Motion 控制器控制车辆时获得更逼真的感觉。我想以低廉的价格制造机器人坦克,这样人们就可以尽可能轻松地复制该项目。

罐体由通用乐高积木和板材制成。电源是一个简单的 4 节 AA 可充电电池块。坦克的控制器是一个 Arduino Uno R3。 “推进”是两个简单的直流电机,后面有轮子,前面有一个脚轮,使用单个 L293D 集成电路。 “武器”是单个红外 LED 灯,“装甲”是一组红外传感器,用于检测来自对面坦克红外 LED 的命中。 “平视显示器”是一个单一的多色 LED,告诉您坦克上发生的任何动作,包括您的装甲状态。最后,坦克的“控制”通过运行 NodeJS 的 Raspberry Pi 2 无线处理,该模块通过 RF24 无线模块连接,每个坦克也配备了该模块。

使用操作员的手,Leap Motion 使用 Leap Motion Javascript SDK 控制坦克。使用 SDK 检测手部动作,javascript 与 Raspberry PI 2 上的 NodeJS 服务器通信,后者又通过 RF24 模块与坦克通信。双手向前,坦克向前移动。双手向后,坦克向后移动。左手向前,右手向后,坦克向右转。右手向前,左手向后,坦克向左转。在“中间”位置的双手将停止坦克。一只手向前(向左或向右)放下另一只手将“开火”坦克的武器。

这是坦克武器、装甲和抬头显示器的快速演示。



以全方位的高级装甲和纸箱为掩体,激光坦克变成了一场狩猎和逃避的游戏。



项目设置步骤:

1) 组装储罐并使用下面的示意图为它们接线。下载所需的Arduinolibraries(参见github存储库中的README),编译并将tank1的thearduino草图上传到一个坦克,tank2上传到另一个坦克。

2) 将 RF24 收发器连接到 Raspberry Pi。在 Pi 上安装 Raspbian OS 和 node JS。

3) 在 Pi 上下载、配置和构建(参见 github 存储库中的 README)RF24 库。

4)从github站点下载NodeJS服务器软件,配置并启动App Server/Web服务器(参见githubrepository中的README)。

5) 在您的计算机上安装 Leap Motion 和驱动程序。打开浏览器,加载 Raspberry Pi Rest/Web 服务器的 URL 加载网页(参见 github 库中的 README)来控制 tank one 或 tanktwo。

6) 单击校准按钮并将您的手放在跳跃运动上,这样它就会检测到两只手并知道您的中立位置。校准完成后,您可以用手控制油箱。

关于坦克底盘的快速说明:

坦克的主体由简单的乐高积木组装而成,这些乐高积木“粘”在坦克的零件(电机、面包板等)上,以帮助将其固定在一起。这是一张幻灯片,展示了这是如何完成的。

关于红外 LED 的快速说明:

当您想坐在沙发上、地板上或椅子上并能够从任何地方更改电视频道时,红外遥控器非常实用。红外 LED 的构建是为了让光束尽可能多地进入,以提高覆盖范围。但是,如果您想控制 LED 的光束更小以使其更难击中远程传感器(例如在坦克战游戏中),则稍微困难一些。在我的阅读中,我发现通过在管子末端使用一个非常简单的放大镜透镜,您可以聚焦红外光束。这是一张图表,显示了我在说什么:

我最终在药店买了一个非常便宜的袖珍放大镜,从里面取出镜头,在它周围建一个管子,在管子的另一端安装红外 LED,这非常适合缩小光束IR LED 更精确。


关于 360 度红外传感器的快速说明

当 LED 位于 LED 正前方或约 90 度聚焦时,红外传感器能够检测到来自该 LED 的信号。如果红外 LED 位于传感器后面,它将无法检测到发送的信号。

为了实现完整的 360 度检测角度,您需要修改红外库以检测来自 4 个不同传感器的 4 个不同引脚上的信号,或者创建一个硬件解决方案,允许 4 个传感器以菊花链方式连接以报告单个别针。我找到了一些在线文章,这些文章展示了如何使用简单的 AND 集成电路将 4 个传感器连接到单个输入引脚来实现这一点。当任何红外传感器检测到红外信号时,它会在该引脚上报告。这允许获得 360 度检测,无需修改红外库,或使用 4 个输入引脚。


代码

激光坦克 Github
Leap Motion Laser Tanks 项目的所有自定义代码文件 https://github.com/corky/LaserTanks

示意图

使用红外 LED,坦克发射“代码”,其他坦克识别为命中。 使用单个红外传感器,坦克能够检测到红外信号何时来自对方坦克并将其注册为命中 使用4个红外传感器,菊花链和一个简单的AND门集成电路(74HCT21),一个坦克能够识别来自对面坦克 LED 的红外信号作为来自其周围 360 度的命中。 使用 RGB LED,坦克通过改变颜色来识别其当前状态(它已被击中多少次)的 LED。此外,坦克每次射击时都会将 LED 的颜色更改为绿色。 使用L293D集成电路和一些简单的直流电机,坦克可以前进、后退和转弯左还是右。 使用简单且廉价的 RF24 收发器,坦克能够与操作员进行通信并接收命令。 使用 Raspberry Pi2、简单且廉价的 RF24 收发器和 Node JS,运营商能够与每个坦克通过 REST API 调用。

制造工艺

  1. 铝激光打标指南
  2. 激光打标指南
  3. 什么是光纤激光打标?
  4. 激光指示器
  5. 半导体激光器
  6. 固态激光器
  7. 集成电路
  8. 激光制导导弹
  9. 用于 Raspberry Pi 的 DIY 红外运动传感器系统
  10. 使用 Raspberry Pi 的运动传感器
  11. MOSMusic
  12. 激光打标机的三大核心部件