返回 登录
9

基于 Arduino 的智能投石机制作

阅读6493

不知大家对投石车有没有印象,所谓投石车即古代攻取城池时用到的一种攻城武器,可把巨石投进敌方的城墙和城内造成破坏。如今创客将过去个头巨大,并不智能的战场投石机变成了精美小巧、智能有趣的玩具投石机。废话不多说,一睹为快吧!

投石车零部件清单如下:

  • 直径 15 毫米的球(子弹)
  • 3D 打印元件
  • 2x MG995 伺服电机
  • 2x SG909G 伺服电机
  • Arduino Uno 板
  • Arduino Uno 传感器扩展板(方便与电机相连)
  • 电源(建议 2A,5V)
  • 20x M3 螺丝
  • 20x M3 螺母
  • 20x M3 铜螺母 (内嵌)
  • 8x M2 螺丝 &螺母

控制器器件如下 :

  • 3D 打印件(控制器的顶部和底部都有)
  • 2x IR 红外避障传感器
  • WS2812 5050 RGB LED 环 12 位
  • 1x M3 螺丝和黄铜螺母

第一步:组装投石机

组装弹射器,注意连线,不要接错管脚。如上图所示。具体安装图如下:

第二步:让投石机“走进我们生活”

弹射器组装起来就可以玩一些有趣的事情了,现在添加一些代码就可以使你的“新玩具”进入我们的生活。

1. 连接伺服器:

伺服电机是由 PWM(脉宽调制)信号波来驱动的,并且设置了伺服器的位置,通过 arduino 来控制伺服器,要采用电路板上的 PWM 引脚(3,4,5,6,9,10),本文介绍的引脚连接如下:

  • 基座电机 -9 脚
  • 发射电机 -6 脚
  • 牵引臂舵机 -5 脚
  • 弹舱门舵机 -3 脚

2. 添加电源:

不能够依赖 arduino 的电源来为舵机提供电能,需要添加一个 2A /5V 的外部电源。连接传感器到电源,确保安放的传感器由外部电源提供电能。

3. 让它动起来:

可以使用提供的代码烧录 arduino 中即可使投石机动起来,希望大家可以自己去做。
如果你在 arduino/编程方面是个新手,这里有一些提示:

  • 这是有关如何使用伺服电机与 arduino 的基本指南。
  • 从一个电机开始,然后添加其他电机。
  • 伺服电机往往会快速反应,但这不是你想要的。添加一些代码/延迟以在电机移动时创建扫描效果。
  • 确保写的代码是可读的。例如,为变量使用适当的命名。
  • 弹射器可以从托盘自动加载“子弹”,时间可能很短。

用 Led Ring 添加动画

在这一步中,我们将为我们的弹射器添加一些动画和免提遥控器,我们将使用带有 2 个红外传感器的 LED 灯环来控制我们的玩具。

需要做以下几点:

  • 在空闲模式下,将播放动画;
  • 阻挡右侧 IR 传感器,弹射器右转;
  • 阻挡左 IR 传感器,弹射器将向左转;
  • 阻挡左右红外传感器,弹射器将发射。

一些挑战和如何克服它们:

  • 播放动画时采集红外传感器会影响我们的代码,解决这个问题可以在 Arduino 中采用非阻塞延迟。
  • neopixel 库和伺服代码并不能起到很好的效果,通过使用伺服系统软件库创客已经解决了此问题。请注意,库存在一些问题,而最新的 Arduino 版本解决取代”#include “WProgram.h” with “#include “Arduino.h”

原文:Arduino Robot Catapult
译文出自:https://www.rs-online.com/designspark/arduino-2

评论