TCRT5000循迹模块原理及应用


前言

本文将讲述TCRT5000循迹模块的原理及应用。本文应用于STM32,对于使用循迹模块的你有一定的帮助。


以下是本篇文章的正文内容

一、TCRT5000循迹模块介绍

TCRT5000就是一个红外发射和接收器,不断发射和接收红外线。

产品用途:
1、电度表脉冲数据采样
2、传真机碎纸机纸张检测
3、障碍检测
4、黑白线检测

下面是部分模块的图片
图1.1
图1.2
第一个模块是4个管脚的,分别是VCC、GND、A0、D0。A0是模拟信号输出,D0是TTL电平输出。使用TCRT5000主要就是用来循迹,只需要连接VCC、GND、D0就可以了。
第二个模块是3个管脚的,分别VCC、GND、S,S就是输出管脚。

(1)工作电压 3.3V-5V
(2)模块上的电位器是用来调节灵敏度的
(3)检测反射距离:1mm~25mm 适用
(4)输出形式 :数字开关量输出(0 和 1)
(5)设有固定螺栓孔,方便安装
(6)小板 PCB 尺寸:3.2cm x 1.4cm
(7)使用宽电压 LM393 比较器

二、TCRT5000循迹模块原理

循迹原理非常简单,模块上配有一个输出指示灯,部分模块还有电源指示灯,我们主要关注输出指示灯。红外发射器一直发射红外线,红外线经发射后被接收,此时输出低电平,输出指示灯点亮。
黑色是不反射红外线的,也就是说循迹模块遇到黑线,模块输出高电平,输出指示灯熄灭。
当然除了遇到黑线熄灭,当距离太远红外线反射后检测不到,此时指示灯也会熄灭。
那么如果要循迹,模块离地面要近,在没有遇到黑线时确保指示灯长亮,一旦指示灯熄灭就说明遇到黑线了。

例如下图的效果
图2.1
图2.2

三、TCRT5000循迹模块应用

了解清楚原理后代码实现就非常简单了,相当于按键检测。
下面用STM32固件库V3.5实现。

下面是源文件,注意要设置为下拉输入模式,输入模式不需要配置速度。

#include "bsp_tcrt5000.h"

void TRC5000_Init(void)
{
	GPIO_InitTypeDef GPIO_InitTypeStructure;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	
	GPIO_InitTypeStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;
	GPIO_InitTypeStructure.GPIO_Mode = GPIO_Mode_IPD;
	GPIO_Init(GPIOA, &GPIO_InitTypeStructure);
}

下面是头文件

#ifndef __BSP_TCRT5000_H
#define __BSP_TCRT5000_H

#include "stm32f10x.h"

#define Tracking_DO		GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6)


void TRC5000_Init(void);

#endif /*__BSP_TCRT5000_H*/

在mian函数中初始化后判断Tracking_DO是否为1就可以了

int main(void)
{	
	TRC5000_Init();

	while(1) 
	{	
		if(Tracking_DO == 1)
		{
			/*这里写相关应用*/
		}
	}	  
	
}

结语

那么以上就是本篇文章的所有内容了。
本文如果有什么不对的或者需要改进的地方欢迎指出。

版权声明:本文为CSDN博主「微光feng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_46554815/article/details/113477770


前言

本文将讲述TCRT5000循迹模块的原理及应用。本文应用于STM32,对于使用循迹模块的你有一定的帮助。


以下是本篇文章的正文内容

一、TCRT5000循迹模块介绍

TCRT5000就是一个红外发射和接收器,不断发射和接收红外线。

产品用途:
1、电度表脉冲数据采样
2、传真机碎纸机纸张检测
3、障碍检测
4、黑白线检测

下面是部分模块的图片
图1.1
图1.2
第一个模块是4个管脚的,分别是VCC、GND、A0、D0。A0是模拟信号输出,D0是TTL电平输出。使用TCRT5000主要就是用来循迹,只需要连接VCC、GND、D0就可以了。
第二个模块是3个管脚的,分别VCC、GND、S,S就是输出管脚。

(1)工作电压 3.3V-5V
(2)模块上的电位器是用来调节灵敏度的
(3)检测反射距离:1mm~25mm 适用
(4)输出形式 :数字开关量输出(0 和 1)
(5)设有固定螺栓孔,方便安装
(6)小板 PCB 尺寸:3.2cm x 1.4cm
(7)使用宽电压 LM393 比较器

二、TCRT5000循迹模块原理

循迹原理非常简单,模块上配有一个输出指示灯,部分模块还有电源指示灯,我们主要关注输出指示灯。红外发射器一直发射红外线,红外线经发射后被接收,此时输出低电平,输出指示灯点亮。
黑色是不反射红外线的,也就是说循迹模块遇到黑线,模块输出高电平,输出指示灯熄灭。
当然除了遇到黑线熄灭,当距离太远红外线反射后检测不到,此时指示灯也会熄灭。
那么如果要循迹,模块离地面要近,在没有遇到黑线时确保指示灯长亮,一旦指示灯熄灭就说明遇到黑线了。

例如下图的效果
图2.1
图2.2

三、TCRT5000循迹模块应用

了解清楚原理后代码实现就非常简单了,相当于按键检测。
下面用STM32固件库V3.5实现。

下面是源文件,注意要设置为下拉输入模式,输入模式不需要配置速度。

#include "bsp_tcrt5000.h"

void TRC5000_Init(void)
{
	GPIO_InitTypeDef GPIO_InitTypeStructure;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	
	GPIO_InitTypeStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;
	GPIO_InitTypeStructure.GPIO_Mode = GPIO_Mode_IPD;
	GPIO_Init(GPIOA, &GPIO_InitTypeStructure);
}

下面是头文件

#ifndef __BSP_TCRT5000_H
#define __BSP_TCRT5000_H

#include "stm32f10x.h"

#define Tracking_DO		GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6)


void TRC5000_Init(void);

#endif /*__BSP_TCRT5000_H*/

在mian函数中初始化后判断Tracking_DO是否为1就可以了

int main(void)
{	
	TRC5000_Init();

	while(1) 
	{	
		if(Tracking_DO == 1)
		{
			/*这里写相关应用*/
		}
	}	  
	
}

结语

那么以上就是本篇文章的所有内容了。
本文如果有什么不对的或者需要改进的地方欢迎指出。

版权声明:本文为CSDN博主「微光feng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_46554815/article/details/113477770

生成海报
点赞 0

微光feng

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

TCRT5000循迹模块原理及应用

前言 本文将讲述TCRT5000循迹模块的原理及应用。本文应用于STM32,对于使用循迹模块的你有一定的帮助。 以下是本篇文章的正文内容 一、TCRT5000循迹模块介绍 TCRT5000就是一个红外发射和接收器&#xff0

STM32驱动BMP280模块

BMP280大气压传感器(我直接叫他高度传感器)看似很冷门,或许大家都觉得,大气压不是一个地区就那么一个值.测量它有什么用?但是这个模块很神奇,它测量精度很高,大气压和所处海拔关系密切,但