在学校举行的少数民族传统体育节中,有吹枪射靶和射箭、扎气球抽奖等项目,当箭或者其它投掷物投掷后还需要回收,浪费一定的人力和物力,目标的固定也让活动挑战性不高。由此产生灵感,制作激光移动标靶,实现不需投掷物完成射击、靶子倾倒后自动复原、左右移动靶子、实时记录得分的功能,可分黄绿两队进行挑战,加上目标靶是随机的,增加游戏的趣味性,也在一定程度上提升玩家的专注力。
激光移动标靶包括计时装置、标靶装置、得分装置,可选用双人模式或单人模式,通过更换AI摄像头的人脸标识即可,红外遥控控制装置的开启和停止。
计时装置运用两条LED灯带模拟时间流失灯,一分钟为一个周期,每隔十秒熄灭一颗灯,最后十秒,全闪烁红灯提醒玩家;
标靶装置:靶心的环境光线传感器感测激光,在靶子左右移动的同时,当激光射中目标得分靶后计分,同时也有相应的击中音效和击中效果,目标得分靶由前面的LED灯带的随机颜色决定;
得分装置:代表两队的LED等亮起则表示开始计分;得分显示在八位数位管上;当遥控控制停止后,语音播报最终的获胜队伍。
把AI摄像头、模拟光线传感器、数字大按钮模块、数字LED发光模块、WS2812 RGB灯、TM1650八位数码管、舵机模块、红外接收模块、MP3播放器、遥控、电机用面包线连接到Arduino Uno主板,分配好各个引脚;编写计时模块的程序,即两条WS2812 RGB灯带亮四个绿灯、两个黄灯、一个红灯,每过十秒绿灯便熄灭一个,绿灯全部熄灭后,每过五秒黄灯便熄灭一个,最后十秒红队闪烁提醒玩家。
采用随机打靶方式,随机的目标靶由流水线灯的颜色决定,编写流水线模块的程序,为了使提示效果更好,采用两条灯带合成长灯带的方式,即两条WS2812 RGB随机亮黄、绿、蓝三种颜色,提醒玩家击打靶子的颜色,当模拟光线传感器感受到激光时(模拟打中的情况),系统会自动随机切换为下一种颜色,并记分。
编写积分显示模块以及双人模式的程序,即将红、蓝队的积分显示在.TM1650八位数码管上,AI摄像头通过识别人脸来分为红、蓝队;编写积分比较功能和遥控功能,即比较红、蓝两队的积分,并用MP3播放器播报哪队获胜,同时用遥控控制游戏的开始、暂停功能;增加声音特效,打中时播放渲染气氛;
增加舵机转动效果,打中时靶子向后旋转,1秒后恢复原状;不同舵机对应上特定颜色的靶子;靶子左右移动装置的搭建,激光枪的制作,运用电机、齿轮和齿条,用积木完成连结;调试传送装置、计时装置、流水线灯装置和计分装置的程序,使靶子能左右移动的同时,完成其它任务。
把模拟光线传感器固定在靶子上,靶子与舵机连接,最后将舵机放置在左右移动装置上;整理线路,调试运行。
硬件连接图
展示视频