[1]课程引入和知识原理讲解(Think)
随着红外线侦察装备的发展,红外线侦察在军事领域的应用更加广泛,侦察效果更加显著,时效大为提高。
本节课我们计划使用红外定位摄像头,红外发射模块和无人机结合,设计一款可以发送红外信标的机器人,主动发送红外信标信号,干扰对方的红外侦查设备。
[2]项目描述和实施步骤(Doing)
(1)器材清单(红外定位探头+红外发送模块+TelloTT 无人机)
红外定位摄像头可追踪4个移动的红外点,分辨率是1024 X 768。红外定位摄像头,具有高分辨率,高灵敏度,高精确度的优点,同时有体积小、重量轻、方便安装的特点。
可以广泛应用在机器人自动寻源装置、机器人足球比赛、移动轨迹识别等各种需要定点定位的地方。
(2)任务流程图
无人机在飞行的过程中,每0.5秒发送一个红外信号,红色LED灯会闪烁一次,当电脑上的红外定位摄像头侦查到红外目标时,会通过电脑的串口显示红外信标的坐标。
(3)步骤图片
①机械设计:
将红外信号发射器固定在TT无人机的保护桨上:
②电控设计
1发射红外信标:
我们使用红外发射器发射红外信号,无人机在巡逻飞行的过程中,
每0.5秒会发送一次红外信号,闪烁红灯。
红外发射模块上的核心器件是红外发射管,其广泛使用在红外遥控设备上。该模块有3PIN接口,可以通过TT扩展板控制模块发射红外信号。
红外发射管是一个能发射出特定波长红外光的二极管。
红外中心波长:约850nm-940nm红外发射角:约20度
红外发射距离:约1.3米 (5V 38Khz)
我们通过Arduino板控制红外发射模块发射红外线:
模块的D引脚是高电的时候,发射红外信号,是低电平的时候停止发射红外信号,程序实现的效果是每0.5秒发射一次红外线信号。
如何观察模块发出的红外信号呢?
将本模块放置到暗环境下,用手机摄像头对准红外发射头前端,
并在照相/摄像功能中仔细观察,可以看到红外线探头发射一次红外线(黑暗中蓝紫色的光)持续0.5秒, 然后关闭0.5秒钟。
注意在摄像范围内要整体处于暗光状态,若有较亮的光则无法观察到。
2如何获取红外信标的位置呢?
为了获取红外信标的位置,我们编写程序,读取红外定位传感器的数据:
这里我们使用Aruduino读取红外信标的数据, 当无人机出现在红外定位传感器的视野中时,串口输出的数据就会有变化。
现在我们通过I2C接口,将红外定位传感器与Arduino连接在一起。
红外定位摄像头可追踪4个移动的红外点,分辨率是1024 X 768。
红外定位摄像头可以用arduino、AVR等各种有I2C接口的控制器控制。最多可以追踪4个移动的红外点,并且把这些数据提供给主机。
水平视角是33度,垂直视角是23度。一次返回四个点的坐标,当红外定位摄像头识别一个对象。它相应的坐标就是在第一组坐标位置,其他坐标位置为空(返回1023,1023)。如果识别多个目标则,按照检测到的先后顺序依次排列,如果其中有的运动目标移动出了视野,则相应的位置为空(返回1023,1023)。其余坐标位置保持不变。
注:以上检测距离仅供参考,上面这张图。
检测的红外波长为850, 870, 890, 940, and 950 nm都能用,940nm效果最好
我们下载程序到Arduino板,通过电脑的串口读取红外信标的程序:
以下是Arduino读取红外定位传感器坐标值的代码:
(代码来自DFrobot官网,版权归原作者所有,这里仅供学习参考)
http://wiki.dfrobot.com.cn/_SKU_SEN0158_Positioning_IR_Camera_红外定位摄像头模块
3使用TT无人机扩展板控制红外发射模块发射红外信号,
③完整的代码(算法设计)
下面我们在TT无人机扩展板上写入程序,控制红外发送模块发送红外信号,在Arduino中写入读取红外侦查传感器的程序,用于读取红外发送模块的坐标,在串口打印坐标值。
下面是红外侦查机器人的测试视频,当无人机飞到红外侦查传感器的上方时,在电脑上会显示侦查的坐标。
测试的视频地址:
https://www.bilibili.com/video/BV13A411H7wA
红外侦查机器人的视频地址:
https://www.bilibili.com/video/BV1rA411W7dE
[3]项目拓展
在无人机的身上安装红外定位传感器,
在实时模式下控制无人机进行巡逻飞行,发现地面的红外目标后,
发出灯光指示。
[4]学生能力基础(3-4年级)
评论