DesignSpark Electrical Logolinkedin

基于Arduino的智能投石机制作

上次小编为大家介绍了一款具有满满黑科技,且外观酷炫的超神战甲。最近小编在网上看到一项基于Arduino制作智能投石车的资料,在此翻译出来分享给大家。(原文链接:http://www.instructables.com/id/Arduino-Robot-Catapult/

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

相关视频:

 

           

 

投石车零部件清单如下:

直径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),本文介绍的引脚连接如下:

(1)基座电机-9脚

(2)发射电机-6脚

(3)牵引臂舵机-5脚

(4)弹舱门舵机-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"

投石车NeoPixel代码链接

yangtianyu has not written a bio yet…