循迹模式——红外循迹模块使用介绍

循迹模式——红外循迹模式使用介绍

红外循迹模块介绍

在这里插入图片描述

TCRT5000传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,红外接收管一直处于关断状态,此时模块的输出端为高电平,指示二极管一直处于熄灭状态

被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,红外接收管饱和,此时模块的输出端为低电平,指示二极管被点亮

总之一句话:没反射回来,D0输出高电平,灭灯

没反射——D0输出高电平——灭灯

反射——D0输出低电平——点亮

接线

1、VCC:接电源正极(3-5V)

2、GND:接电源负极

3、D0:TTL开关信号输出

4、A0:模拟信号输出(不同距离输出不同的电压,此脚一般可以不接)

循迹小车原理

黑色具有较强的吸收能力,当循迹模块发射的红外线照射到黑线时,红外线将会被黑线吸收,导致循迹模块上光敏三极管处于关闭状态,此时模块上一个LED熄灭。在没有检测到黑线时,模块上两个LED 常亮

所以普通的循迹跑道都是黑色的原因

也是一句话概括:感应到黑线,D0输出高电平,灭灯

在这里插入图片描述

循迹总结

1.左右循迹模块都照射到白色上——红外返回——都输出低电平——指示灯亮——直走

2.左循迹模块照射到黑色跑道上——左边红外被吸收不返回——左边输出高电平——指示灯灭——需要左转

3.右循迹模块照射到黑色跑道上——右边红外被吸收不返回——右边输出高电平——指示灯灭——需要右转

(上图小车反方向前进就是右转情况)

安装与接线

将两个红外发射头往下的循迹模块,分别装在小车车头的两边,可以用热熔胶固定好,VCC和GND都接到单片机的5V和GND上,左边的D0接到P2.7口,右边的D0接到P2.6口,当然接到其他引脚也是可以的,在程序中修改引脚号就行

程序

实现循迹功能还是比较简单的,所用的其他功能不多,就几个判断语句

程序文件:

1.main.c:主要是对两个红外循迹模块的输出引脚电平进行判断,接着调用电机驱动使小车左右转弯

2.Motor.c:小车前进、后退、左转、右转和停止的函数

3.Delay.c:延时函数

在这里插入图片描述

main.c:

whlie循环内不断判断左右传感器的信号引脚电平,分析当前状态,是前进还是转弯,后续可以将这些语句模块化,下次使用直接调用方法即可

/*
循迹功能,增加引脚定义,然后判断两个传感器输出引脚的高低电平
*/

//左右红外传感器的信号引脚
sbit LeftSersor = P2^7;
sbit RightSersor = P2^6;

void main()
{
	while(1)
	{
		//两个都反射,都亮灯
		if(LeftSersor == 0 && RightSersor == 0)
		{
			GoForward();
		}
		//左边反射,右边没反射,左亮,说明右边碰到黑线红外线被吸收,要右转
		if(LeftSersor == 0 && RightSersor == 1)
		{
			GoRight();
		}
		//右边反射,左边没反射,右亮,说明左边碰到黑线红外线被吸收,要左转
		if(LeftSersor == 1 && RightSersor == 0)
		{
			GoLeft();
		}
		//两个都不反射,都灭灯
		if(LeftSersor == 1 && RightSersor == 1)
		{
			Stop();
		}
	}
}
  • 83
    点赞
  • 746
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
红外循迹模块的输入模式是指在使用红外发射管和红外接收管进行循迹时,将相关的GPIO引脚配置为输入模式。根据引用中的信息,为了获取红外检测信号,GPIO引脚需要配置为输入模式,并且不需要使用上下拉电阻。在引用中提到,红外发射管会发出红外光,如果红外光照在浅色平面上,红外光会被反射并被红外接收管接收,此时对应的输出接口会输出低电平(0)。如果红外光照在深色平面上,红外光会被吸收不会被反射,此时对应的输出接口会输出高电平(1)。所以,在使用红外循迹模块时,需要通过相应的GPIO引脚读取输入状态,可以使用STM32的GPIO_ReadInputDataBit函数来获取输入模式下的GPIO引脚的电平状态。该函数接受两个参数,一个是指定要获取输入状态的引脚的GPIO分组(GPIOx),另一个是指定要获取输入状态的引脚编号(GPIO_Pin)。函数的返回值为1表示获取到高电平,返回值为0表示获取到低电平。 [3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [红外寻迹原理以及STM32 GPIO的输入检测](https://blog.csdn.net/Punchline_c/article/details/123558294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值