TCRT5000模块(循迹)
1、模块原理:红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或强度不够大时,模块的输出高电平1(指示灯不亮);当红外线有被反射回来,此时模块输出低电平0(指示灯亮)
2、接线:vcc接5v,gnd接地,DOttl开关信号输出,A0模拟信号输出(不同距离输出不同电压,在此实验可以不接)
3、循迹原理:有感应到黑线,红外线被吸收反射较弱,DO=1(灭灯);没有感应到黑线,红外线能反射回来,DO=0(亮灯)
向前:两个模块都能反射回来,输出低电平
向左:左边压线,左边模块反射不回来是高电平,右边模块能反射回来是低电平
向右:右边压线,左边模块能反射回来输出低电平,右边模块反射不回来输出低电平
4、识别不灵敏或过于灵敏的时候将模上电位器调整到合适的位置
代码:
1、
main.c
//#include "reg52.h"//代码里边没有,sbit i/o口,可以不要声明 //#include "intrins.h"//代码里边没有_nop_();可以不要该声明 #include "motor.h" #include "dalay.h" #include "uart.h" sbit leftsenser=P2^6; sbit rightsenser=P2^7; void main() { Delay1000ms(); UartInit(); if(leftsenser==0&&rightsenser==0){ goforward(); } if(leftsenser==1&&rightsenser==0){ goleft(); } if(leftsenser==0&&rightsenser==1){ goright(); } if(leftsenser==1&&rightsenser==1){ stop(); } while(1); }