八色木

如何使用TCRT5000红外传感器

TCRT5000红外探头/传感器

TCRT5000的工作原理

TCRT5000是一种基于红外光学反射原理的传感器,它包含一个红外发光二极管和一个光敏三极管,光敏三极管内部覆盖了用于阻挡可见光的材质(据查为铅)。下图为TCRT5000的引脚图

工作时,TCRT5000的红外发光二极管不断发射红外线(不可见光)波长为950nm,当发射的红外线没有被障碍物反射回来或者反射强度不足时,光敏三极管不工作,当红外线的反射强度足够且同时被光敏三极管接收到时,光敏三极管处于工作状态,并提供输出。光敏三极管在工作时其集电极电流值Ic约为1 mA。TCRT5000红外传感器的工作范围约为0.2~15mm。

TCRT5000的引脚连接

如上图所示,调试时可通过调整红外发光管负极和GND之间的电阻值(范围为100~550欧姆)以及光敏三极管发射极与GND之间的电阻值(范围为5~20K),使测试性能达到预期。对于我手上的TCRT5000来说,设置200欧姆和10 K的效果较好。如何判断调整效果呢?我们需要将上图电路与Arduino连接,通过IDE的串口监视器实时判断调试结果是否符合预期。将上图的OUT连接至Arduino UNO 的A0针脚,连接好+5V和GND,上传以下代码。

/*
*TCRT5000 的简单测试
*/
int tcrt;
void setup(){
pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop(){
tcrt = analogRead(A0);
analogWrite(13,tcrt/4);  //因为analogWrite的范围是0~256,此处读取的A0值除以4.
Serial.println(tcrt);
delay(150);
}

然后通过串口监视器监视工作状态,代码将每隔150毫秒输出A0引脚上读取的模拟值(范围:0~1024 ),同时Arduino UNO板载的 led 灯将通过改变亮度来实时反馈电路的工作状态。由于在相同距离下红外线在碰到白色表面和黑色表面时,传感器的输出值大不相同,根据这个特性,我们可以利用TCRT5000来做很多测试。比如,用它来测量马达的转速,我们可以在马达的轴上放了一块白色的纸盘,然后用黑色记号笔画一条黑线,TCRT5000可读取黑白线反馈回的值,这样就可计算出马达的转速,这也是马达测速的原理。

Exit mobile version