其他分享
首页 > 其他分享> > 项目:激光打靶

项目:激光打靶

作者:互联网

情况介绍:

每个男孩都是军事迷,每个男孩心中都有一个枪械梦,而射击是其中必不可少的一部分,如果有一个可以统计射击分数及自动恢复的靶子则可以大大提高射击的乐趣。制作了这个融光感,分数统计,自动恢复为一体的枪靶来更好的实现我们的梦想。激光打靶机,提高眼力,本项目主要利用光敏电阻随光线变化而驱动舵机和RGB灯,做出反应,记录并显示分数。中靶4次后,变换RGB灯颜色并通过蜂鸣器播放“两只老虎”音调。

 

材料准备:

硬件:Microbit主控板及扩展板、光敏电阻、10k电阻、9g舵机、自制平台等。

软件:BXYEditor,Mu等。

结构件:木片,积木等。

工具:热熔胶枪、扎带、绕线棒、剪刀、指甲钳等。

 

小结:通过本项目的学习与制作,能让学生更深入地了解microbit主控板、扩展板、各个电子元件,电阻、舵机等基础知识。掌握本项目原理,并熟练micropython编程能力,锻炼增强学生动手能力、巩固所学知识,为下一步继续学习物联网、大数据的知识打下了坚实的基础。

步骤1

做一个枪靶

        首先从枪靶开始做起,我用一个小光盘,再彩色打印一张靶纸,一个木杆再加上一个光线传感器,一个枪靶就做好了。

步骤2

粘一粘

      找一些积木块当做底座,取出一个舵机,将刚才制作好的枪靶与舵机粘合紧密,然后将舵机粘合在底座上。

步骤3

插到小喵家的RobotBit扩展板上

        把光线传感器和舵机连接到掌控扩展板上,一个智能枪靶就基本制作完毕了,下来让我们连线并编写程序吧。

 

步骤4

电路连线

本项目用到舵机与光敏电阻,舵机橘色的线连接到S1口,vcc与gnd分别连电源正负极。光敏电阻串联一个10K的电阻,光敏电阻的另一端连电源正极,电阻的另一端连负极,光敏电子与电阻连接处再用一根导线连接至扩展板的p1口。RGB灯,vcc与gnd分别连接正负极。见下图:

代码:

# -*- coding: utf-8-*-# Encoding cookie added by Mu Editor
from microbit import *
import robotbit
import neopixel
light = 0
np = neopixel.NeoPixel(pin16, 4)
np[0] = (0,0,0)
robotbit.servo(0,0)
import music

tune = ["C4:4", "D4:4", "E4:4","C4:4", 
"C4:4", "D4:4", "E4:4", "C4:4",
"E4:4", "F4:4", "G4:8", 
"E4:4", "F4:4", "G4:8",
"G4:3","H4:1","G4:3","F4:1","E4:4","C4:4",
"G4:3","H4:1","G4:3","F4:1","E4:4","C4:4",
"C4:4","G4:4","C4:4",
"C4:4","G4:4","C4:4"]

sleep(1000)

while True:
    p = pin1.read_analog()
    print((p,))
    if p > 900:
        robotbit.servo(0,135)
        display.show(str(light+1),delay=100)
        np[light] = (255,181,197)
        np.show()
        light += 1
        if light == 4:
            music.play(tune)
            np[0] = (0,0,0)
            np[1] = (0,0,0)
            np[2] = (0,0,0)
            np[3] = (0,0,0)
            np.show()
            sleep(200)
            np[0] = (248,0,0)
            np[1] = (0,248,0)
            np[2] = (0,0,245)
            np[3] = (127,127,127)
            np.show()
            sleep(3000)
            np[0] = (0,0,0)
            np[1] = (0,0,0)
            np[2] = (0,0,0)
            np[3] = (0,0,0)
            np.show()
            light = 0
        sleep(1000)
    else :
        robotbit.servo(0,0)
        sleep(1000)
        

  

 

标签:G4,舵机,枪靶,激光,打靶,np,E4,项目,C4
来源: https://www.cnblogs.com/qywyll/p/13724152.html