

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


#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*/
int main(void)
{
TRC5000_Init();
while(1)
{
if(Tracking_DO == 1)
{
/*这里写相关应用*/
}
}
}
来源: 整理文章为传播相关技术,网络版权归原作者所有,如有侵权,请联系删除。
我要赚赏金
