./t20160131_321718_taonews.html
专题
首页  >  专题  >  媒体视点  >  名刊精选  >  《无线电》

《无线电》

开博时间:2016-07-01 14:43:00

1955年创刊,是国内电子科普领域创刊最早、发行量最大的知名杂志,累计发行量超过3亿册,倡导科普、兴趣、实作、分享的办刊理念。

文章数
分享到:

会躲避的电子枪靶

2016-01-31 21:28:24

    你还在网上苦苦搜索中意的枪靶纸吗?你还在对着那些无趣的靶纸开枪吗?何不自己开动大脑,动手制作一个有趣并心仪的枪靶呢?在本项目中,我们将尝试用激光笔充当手枪,完成一个被击中时可以尖叫和躲避的电子枪靶作品。

       思路

将充当手枪的激光笔直接对普通的枪靶开枪是没有任何反馈的,但是如果枪靶上装有可以感受光线强度的传感器可就不一样了。当传感器感受到激光照射时,可以告诉枪靶的执行装置,执行我们想让它执行的所有动作。

激光笔又称激光指示器,是一种便携的笔型激光发射器,常见的有红光、绿光、蓝光等,这里我们使用的是红光激光笔,仅用两节电池供电。需要注意的是,一定不要用激光笔直射眼睛,否则会造成伤害。

能够感受光线强度的传感器当属模拟环境光线传感器了(简称光线传感器),它是基于环保型光敏二极管的传感器,可以用来对环境光线的强度进行检测,其值的范围为01023。光线越强,其输出的电流值越大,光线越弱,输出的电流值越小。我们可通过模块上大写AAnalog的缩写)的标志,识别出这是一款模拟传感器,接线时只需连接到Arduino的模拟针脚即可。

       那么如何实现枪靶受到伤害时发出的尖叫声呢?很简单,一个小小的蜂鸣器就OK啦!

       蜂鸣器是一款简单的发声装置,只要简单的高低电平信号就能驱动。当然也可以通过频率来控制音调,从而能够模拟我们生活中的许多声音和音乐。

       至于如何完成具有躲避功能的枪靶,则可以利用舵机完美地解决这个问题。

舵机也称伺服电机(见图3),是一种位置伺服的驱动器,主要是由外壳、电路板、无核心电机、齿轮与位置检测器所构成。舵机的工作过程是把所收到的电信号转换成电机轴上的角位移或角速度输出。这里我们使用舵机的转动角度为0°~180°。

       原型

光线传感器模块自带了3P接线,使用时黑线接GND、红线接正极、蓝线接信号脚,可以使用两头公的杜邦线接入Arduino,我连接的是2号模拟针脚。

蜂鸣器是自带两根针脚的数字传感器。使用时,短针脚接GND,长针脚接信号脚,使用公母的杜邦线接入Arduino,连接的是2号数字针脚。

舵机同光线传感器一样,自带了3P接线,但颜色不同,使用时,棕色线接GND,红线接正极,橙色线接信号脚,我选择的是7号数字针脚,具体接线如图4所示,实物连接如图5所示。

接下来就要开始编写代码了,我们采用的编程工具是Mixly(米思齐,官方下载地址:http://xbed.org/,当然也可以通过谢作如老师的个人博客来下载:http://blog.sina.com.cn/xiezuoru)。那么如何借助光线传感器,实现当用激光笔对枪靶“开枪”时,让枪靶尖叫起来的效果呢?

首先,我们需要知道当激光笔照射到光线传感器时,检测到的光线值为多少,这可利用串口输出来获知。打开串口监视器,当激光笔直射光线传感器时,可以看到一系列较稳定的1000左右的数值,见图6。当激光笔照射光线传感器周边时,数值变为700左右;当不使用激光笔时,数值在300左右(不同的环境,数值不同);当用手遮住光线传感器时,数值变为0

       现在我们使用激光笔、光线传感器和蜂鸣器来模拟当枪靶受到伤害时发出尖叫声的效果,即当光线值大于700时,蜂鸣器响起,代码如图7所示(为了增强打中枪靶的真实感,这里我们以输出值700为判断条件,蜂鸣器模块的频率值也可以根据自己的需要设置)。

       那么,又如何利用舵机实现当枪靶受到激光笔照射后的躲避效果呢?

       舵机默认情况下的角度为90°。如果我们希望当枪靶被击中后,能够自动向一边躲避(即以一定的角度转动),当再次被击中后,又向另一边躲避,则需要一个变量k来记录舵机当前的角度值,以便当枪靶被击中后,舵机的角度也随之发生改变。了解了这些内容,就可以动手编写代码,实现“当枪靶受到伤害时,可以尖叫并左右躲避”的效果了,完整代码如图9所示。

       改进

由我们的生活经验可知,当我们受到伤害时,总是本能地向一个不确定的方向躲避,而不是有规律地左右摆动。那么利用舵机实现枪靶的躲避时,是否也能实现随机躲避的效果呢?答案是肯定的。

要想舵机实现随机摆动,只需设定一个随机摆动的角度值即可,这可利用随机模块来实现。如果将这样的模块放到主程序中,可以得到30~150之间的一个任意值。

       掌握了这些,我们就可以对之前的程序做一些改进,实现当枪靶受到伤害时,可以尖叫和随机躲避的效果了,完整代码如图11所示。

   作品

我们把这个会躲避的电子枪靶包装一下。首先,找一块硬纸板裁剪成圆形作为枪靶;然后,再用半张纸把光线传感器的3P线卷起来,用胶带固定在舵机上;最后,再找个大小合适的盒子,把板子、线路之类的东西封装起来,就大功告成啦!怎么样,有没有又酷又漂亮的感觉,赶紧动手试一试吧。

作者:张敬云  杨洁


上一篇: 给自己置办一个年货 ——节日抽奖盒子
下一篇: 门多西诺电机:给我阳光我就转
©2011-2019 版权所有:中国数字科技馆
未经书面许可任何人不得复制或镜像
京ICP备11000850号 京公网安备110105007388号
信息网络传播视听节目许可证0111611号
国家科技基础条件平台