好孩子不要看!DIY自动瞄准机_关_枪


科技创新

这种枪可以自动追踪移动的目标,然后朝目标发动进攻。好,我们开始今天的武器制作教程!(P.S.纯玩具,不是教你做武器!)

第一步:准备材料

  • 气枪或彩弹枪×1(这玩意在我国确实不太好搞,大家可以联系一下真人CS场地的人,问一下他们所使用玩具枪的货源,或者直接买一个电动软弹玩具枪,某宝一搜便知,子弹软绵绵的,打在身上也不会很痛)。

  • 追踪摄像头×1

  • PC电脑×1(用来处理摄像头收集到的视频,以确认目标)。

  • 伺服电机×3(其中两个用来控制枪的瞄准,能够实现枪的平移和倾斜等动作,另一个用来控制和扣动枪的扳机)

  • 螺丝、螺母、螺栓×若干

  • DIY一个底座或支架,木头或金属皆可

  • USB TypeA 转Type B转接线

  • 22号实心焊丝若干

  • 伺服电池(带防水盒子)

  • Arduino开发板×1(防水)

第二步:组装

这一步非常的考验大家的动手能力,因为这种枪的硬件组装并不是有完整的定义和教程的,只能把各种零件按你的想法安装到一起,再此,硬创邦给出一些意见仅供参考:


最需要注意的,就是找到枪的重心,要保证枪在安装之后,伺服电机在操控枪械做任何动作的时候,都用力均衡。不过这一步也是最难的,因为大家买到的枪不一样,重心也会不一样,具体的重心位置还需要各位创客自己花一些时间去测量。


摄像头一定要牢固的安装在基座上,无论如何摄像头不能晃动,由于摄像头和枪挨得比较近,所以要保证枪械的动作幅度碰不到摄像头。


底座一定要牢靠,三脚架底座非常酷,稳定性也尚可,制作方面也比较容易,但重量一般不够,如果枪械动作幅度较大,那么整体就容易晃动,如果你不能保证制作的三脚架绝对稳定,就在在底部做一些相应的固定处理!


找到枪械的重心之后,把枪安装到底座上的固定架上,架上一定要有两个活动架,可以使枪械实现平移、倾斜的活动目的,然后把伺服电机和活动架连接。


总之,安装时的三个重点要牢记:稳定,稳定,还是稳定!


第三部:控制板的布线

接下来是一道送分题,按照电路图,把Arduino和伺服电机等部件连接起来。

整个系统需要一个独立电源,推荐4 C-cell或D-cell电池,使用电压6V。

伺服电机有三个电线,电力、地线和信号线,每个伺服电机的电源线通常是红色的,连接到电池的(+)线,地线通常是黑色或棕色,连接(-),信号线通常是黄色、橙色或者白色,连接I/O接线口。

随着技术的不断进步并联电容器控制器的附加功能也越来越多,如数据通讯、谐波检测、电量检测等,而且使用控制元件也小规模集成电路到8位单片机,到16位DSP,直至最高级的32位单片机。现在的32位单片机的价格已经降到30多元一片,对控制器的硬件成本已经没有多少影响,其性能超过8位单片机100倍以上。

同时你还可以选择性地添加一些开关和LED灯。

使用焊丝将连接线焊丝以固定。


第四部:调试软件

整个岗哨枪的核心就在于软件了。

首先,把Arduino插入电脑,下载Arduino IDE,并且下载相关处理软件如果你的Arduino是 Diecimila以上的版本,则需要连接电源跳线。


然后需要在库中下载 JMyron, blobDetection和 controlP5 libraries ,点击连接进入下载,解压,然后按照其中的README.txt文件的说明进行操作即可。


打开 Arduino IDE中的代码,确保电路板和串行端口在工具栏中的正确选择,然后单击确定,等待编译,然后点击上传,Arduino的代码调试就结束了。


P.S.

Win 7用户有可能会遇到一些问题,在这里给大家一些解决方法:

当你遇到这个运行错误时: processing.app.debug. RunnerException: UnsatisfiedLinkError: D:\Software\processing-1.2.1\libraries\JMyron\library\JMyron. dll: Can't find dependent libraries:

"Reason : Windows 7 doesn't come with MicroSoft C libraries, which were normally include in the other (older) Windoes system.

意味着有两个Windows 7文件丢失,分别为:MSVCP71.dll和Msvcr71.dll

点击如下链接,下载这两个文件:http://www.addictivetips.com/?attachment_id=38105

下载完成后,将文件放到相应位置。

32位操作系统放到Windows/System32文件夹中。

64位操作系统放到Windows/SysWOW64 文件夹中。

当你运行代码时,屏幕上会有两个窗口弹出,一是摄像头的监控画面,另一个是控制面板。

在这个系统下,有两个模式。


手动模式:手动指向目标,并向其开火。

自动模式:系统会用一段时间去适应背景,过后如果有与背景颜色相违背的物体冲入画面,系统就会给枪下达攻击命令,自动射击物体。

当这些都完成后,枪械并不能准确地完成射击,所以需要一些校准,先通过软件中的 xMin, xMax, yMin和 yMax轴进行校准,然后还需要调整Arduino中的代码,具体参考代码如下:

if(digitalRead(7) == HIGH) {
xPosition = 110 ;
yPosition = 135 ;
fire = 0;
}

To set the home position (no USB communication), change these lines :
if(idle) {
idleCounter++;
if(idleCounter > 10000) {
analogWrite(5, 50);
delay(250);
digitalWrite(5, LOW);
idleCounter = 0;
}
else{
digitalWrite(5, LOW);
}
xPosition = 110 ;
yPosition = 100 ;
fire = 0;
}

To set the 'squeezed' and 'not squeezed' positions for the trigger servo, changethese lines :
void Fire(int selector) {
if(selector == 1) {
fireTimer++;
if(fireTimer >=0 && fireTimer <= triggerTravelMillis) {
trigger.write( 90 );
digitalWrite(2, HIGH);
}
if(fireTimer > triggerTravelMillis && fireTimer < 1.5*triggerTravelMillis) {
trigger.write( 140 );
digitalWrite(2, LOW);
}
if(fireTimer >= 1.5*triggerTravelMillis) {
fireTimer = 0;
}
}
if(selector == 3) {
trigger.write( 90 );
digitalWrite(2, HIGH);
}
}
void ceaseFire(int selector) {
if(selector == 1) {
fireTimer = 0;
trigger.write( 140 );
digitalWrite(2, LOW);
}
if(selector == 3) {
trigger.write( 140 );
digitalWrite(2, LOW);
}
}

好了,让我们来看一看成品效果的视频吧:

视频连接:http://v.youku.com/v_show/id_XMTM2OTc4ODI5Ng==.html

> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

[0006]本实用新型为实现上述目的,采用如下技术方案:一种电能表脉冲灯采集控制系统,其特征在于,包括一个用于采集所述脉冲灯的光亮度以产生一模拟信号的光亮度采集电路;一个用于采集所述脉冲灯的光脉冲以产生一脉冲信号的光脉冲采集电路;以及一个根据所述光亮度采集电路产生的模拟信号对所述脉冲灯的光亮度进行量化,以及根据所述光脉冲采集电路产生的脉冲信号对所述脉冲灯的光脉冲进行计数的单片机电路;所述单片机电路的输出信号发送至光耦联动电路;

生成海报
点赞 0

钟, 广林

我还没有学会写个人说明!

相关推荐

esp8266搭建智能家居系统

一 背景 以前一直想着做一个智能家居的监控系统,说没时间是虚伪了,舍不得钱买服务器是真的…,后来想过内网穿透,使用树莓派或者pc本机跑服务程序,感觉太麻烦也一直没搞&#xf