TCRT5000循迹模块原理及应用


前言

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


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

一、TCRT5000循迹模块介绍

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

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

下面是部分模块的图片 第一个模块是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循迹模块原理

例如下图的效果

三、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)
		{
          
   
			/*这里写相关应用*/
		}
	}	  
	
}

结语

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

经验分享 程序员 微信小程序 职场和发展