用Mind+编程的“二哈大炮”

2020-06-026.7万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用HUSKYLENS摄像头和Romeo控制器等硬件搭建一个名为“二哈大炮”的自动锁定目标的水弹发射器。项目包括详细的硬件清单、组装过程、代码调试和使用说明。通过这个项目,孩子们可以在实践中学习编程和机械设计,激发创造力。
用Mind+编程的“二哈大炮”
        亲爱的小伙伴们,玩过大疆的机甲大师RoboMaster S1吗,对于爱动手的你来讲,这种打击力十足的玩具是不是十分有吸引力呢?
        刚好,前段时间DF商城上架了HUSKYLENS二哈摄像头,试用了一下还真是好用的不得了,只需一键就能让摄像头学习人脸、物体、颜色等信息,完全不用考虑那些复杂的视觉算法,并且比起市面上的其他视觉算法摄像头,二哈的性价比简直A到爆有木有!
        对于一个这么棒的摄像头,让它来吃灰必然是不可能的,于是我和我的小伙伴们就有了一个大胆的想法:在一个小车上架一个二轴云台,然后将二轴云台上架一个发射器,最后在发射器上放上二哈做瞄准镜,那岂不是就拥有了一个可以自动锁定目标的超级武器!
用Mind+编程的“二哈大炮”图9
        我们的目的是什么:好玩!我们的口号是什么:把创意变为现实!话不多说,下面开始介绍制作步骤。

演示视频

视频中没有放水弹只是空打,清扫不易...

元件清单


硬件清单(点击材料名称打开链接)
  
材料
  
数量
功能
1
要做车,没有车模当然不行
1
本次设计的主控制器
1
作为发射器的支架
1
智能“瞄准镜”
1
为整个系统提供能量
1
给电池充电
1
因为Remeo的电源接口是端子,所以要来一个转接头
1
水弹发射器无法使用IO口直接控制,需要一个继电器
1
用来给触摸屏供电
1
调节云台舵机角度
1
用来给屏幕下载程序
1
这是我们的发射器,需要水弹波箱小套装(52)
1
用来做小车的遥控器(可以用蓝牙手机APP代替,因为蓝牙对于没用过的新手来说调试比较复杂,所以这里使用触摸屏幕)
2
实现屏幕跟小车的远程通信
螺丝、导线、排针
        另外需要3D打印的零件和一块电路板,最后会打包给出文件。

核心器件介绍

1. Romeo控制器
        你还在问为什么要选Romeo控制器?曾经的我也是个懵懂的少年,每次搭建一个小车都要在车上放各种稳压模块和电机驱动,自从遇到了Romeo,我就再也没有担心过这些问题了,一块板子解决所有后顾之忧。DF的Romeo控制器,专为机器人应用而设计,板子集成了2路电机驱动、14个数字端口、6个PWM接口、8个模拟端口和I2C等功能,完全满足了我们的设计需求。
2.两自由度舵机云台
        由于我们的水弹发射器体积较大、重量较重,所以我们需要搭配一个扭矩较大的舵机云台,我们使用的二自由度舵机云台,是一款5公斤大扭矩、高性价比的小型云台,可以在水平和垂直https://wiki.dfrobot.com.cn/_SKU_ROB0112__%E5%B1%A5%E5%B8%A6%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%A7%BB%E5%8A%A8%E5%B9%B3%E5%8F%B0方向做二自由度运动,用来搭载我们的水弹发射器刚刚好。
3.HUSKYLENS摄像头
        二哈识图(HuskyLens)是一款简单易用的人工智能视觉传感器,内置6种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签(二维码)识别。仅需一个按键即可完成AI训练,使设计者摆脱繁琐的训练和复杂的视觉算法,拨动功能按键,二哈就能切换算法,按下学习按键,二哈就能学会镜头中的事物。所以,我们只需要将目标放在镜头前按下学习按键,二哈就能“锁定”目标,配合控制器和云台实现精准打击。

硬件连接和组装过程

1.要想代码调的通,硬件接线要明确,我们战车的硬件接线图如下图所示:
用Mind+编程的“二哈大炮”图8
2.在代码调试之前需要先将我们的“炮台”装好。
        首先,我们把小车和云台组装好,组装教程在产品的使用说明中就有,下面给出链接:
      
        将水弹枪弹仓后的盖子拆下来,然后换上我们的二哈支架,再将二哈用螺丝拧在打印件的预留孔上:
用Mind+编程的“二哈大炮”图11
        将水弹枪弹仓跟二哈支架安装在一起
用Mind+编程的“二哈大炮”图12
        将水弹枪架上云台
用Mind+编程的“二哈大炮”图13
        最后装上弹仓就完成了
用Mind+编程的“二哈大炮”图14

代码调试(全部代码在打包文件中给出,这里只是简单说明)

1.调节云台
        首先,我们要用模拟角度传感器来确认一下发射器不会碰撞到车的角度,也就是我们云台的可转动范围,若不进行此操作,可能会导致舵机堵转烧坏舵机。
用Mind+编程的“二哈大炮”图2
        程序下载完毕后,将我们的角度传感器接到控制器的A0引脚,打开串口监视窗口缓慢转动角度传感器,待读数接近90时,将X轴舵机接到控制器的12引脚,缓慢转动角度传感器,观察发射器在不碰撞车体的情况下可转动的最大和最小角度,然后将角度记录下来;Y轴同理。

2.锁定目标
用Mind+编程的“二哈大炮”图5
        我们先来看一下二哈眼睛里的画面坐标,左上角是(0,0),右下角是(320,240),我们在比较中间的区域框出一个小的矩形范围(图中的绿框),当目标出现在了我们设定的范围内,我们就认为二哈已经瞄准好了目标。明确了二哈的画面坐标,我们就可以开始编程了。
用Mind+编程的“二哈大炮”图6
        程序中,首先初始化二哈的引脚并切换工作模式,然后循环向二哈请求数据,如果画面中出现了学习过的目标,那就获取目标的X、Y中心点,如果中心点在设定的范围之内,就认定目标已经出现在屏幕的中心,也就是瞄准完毕,这时将开火的标志位至1,如果按下发射键就发射水弹。
3. 自动瞄准
        既然当目标出现在了画面中心就能发射水弹,那我们就需要控制云台来带动二哈使二哈瞄准。如果目标出现在了屏幕的左边,那我们就让云台往左转,如果目标出现在了屏幕的上方,那就让云台往上转。这样,一旦镜头中出现了学习过的图像,二哈就会自动瞄准他。
用Mind+编程的“二哈大炮”图7
4.遥控小车

        Step1.小车接收端设计:上面的程序就已经实现了当画面中有目标云台就会带动二哈自动瞄准,那接下来我们就要解决当画面中没有目标时,我们来遥控小车移动去寻找目标。远程遥控的控制方式中,小车是接收端,所以我们要让小车对接收到的数据进行判断。
用Mind+编程的“二哈大炮”图4
        Step2.遥控器发送端设计:
用Mind+编程的“二哈大炮”图1
        遥控端的代码已经在打包文件中给出,将遥控器的代码下载到遥控器中即可完成发送端设计,下载遥控器代码的软件也会在最后的打包文件中给出下载链接。
下载遥控器代码的软件安装完成后,用软件打开“遥控器软件和代码”文件夹中的320*240.HMI文件就可以下载了,下载方法如图所示。
用Mind+编程的“二哈大炮”图3
        这样,我们的程序就全部设计完成啦!这只是一个简单版的功能,大家还可以开动自己的小脑筋,来开发一些更好玩的功能。最后的打包文件中还给出了使用手机APP来操控的代码(APP只支持IOS系统),有兴趣的小伙伴可以看一下哦。

使用说明

        Step1:打开小车电源,将二哈调到颜色识别模式(或其他模式),忘记之前学习的目标;
        Step2:将要攻击的目标靠近二哈,按下二哈的学习按键,使二哈学习目标,学会后将目标移开;
        Step3:启动遥控器,遥控小车去接近目标,一旦二哈发现目标就会自动锁定,并且可以在小车移动的过程中一直锁定目标;
        Step4:按下发射键即可发射水弹攻击目标;

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(16)
MDKmdk
MDKmdk
楼主,用二哈追踪物体,控制麦轮小车跟随移动,应该怎么设定?
汤半泛
汤半泛
哥请教 ,硬件连线图 用的什么工具 画得那么好
汤半泛
汤半泛回复柳春晓
请老师收下我的膝盖
柳春晓
柳春晓
作者
回复汤半泛
Inkscape
youjingisland
youjingisland
棒呆
柳春晓
柳春晓
作者
回复youjingisland
感谢捧场
咩咩星人
咩咩星人
可以可以
柳春晓
柳春晓
作者
回复咩咩星人
评论内容
20060606
20060606
支持安卓就好了
柳春晓
柳春晓
作者
回复20060606
应该有安卓的app,可以自己找一下
柳春晓
柳春晓
作者
十分感谢大家捧场
大山里的小萌新
大山里的小萌新
同款云台 不过这云台很抖
柳春晓
柳春晓
作者
回复大山里的小萌新
还可以呀
小慈
小慈
厉害!
貸易
貸易
不错的项目
DFS1w2cb8o8
DFS1w2cb8o8
厉害厉害
rzegkly
rzegkly
厉害,二哈机甲
gray6666
gray6666
好玩,炫酷。。。
DFS1w2cb8o8
DFS1w2cb8o8
好厉害啊
DFHJM_IpFmV
DFHJM_IpFmV
不错啊(我只坐到了地板……
神会找你
神会找你
[md]# 帅呆了[/md]
hnyzcj
hnyzcj
不错
- 没有更多了 -