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)
{
/*这里写相关应用*/
}
}
}
结语
那么以上就是本篇文章的所有内容了。 本文如果有什么不对的或者需要改进的地方欢迎指出。
