红外循迹传感器
红外循迹传感器采用TCRT5000红外反射传感器,一种集发射与接收于一体的光电传感器,通常用于机器人等项目中,用来探测表面上的路径或边界。当表面上的颜色变化(通常是黑色线条在白色背景上)时,红外光的反射特性会改变,从而红外接收器会获得不同的信号。检测反射距离1mm-25mm适用,传感器特设M3固定安装孔,调节方向与固定方便易用,使用宽电压LM393比较器,信号干净,波形好,驱动能力强,超过15mA。可以应用于机器人避障、机器人进行白线或者黑线的跟踪,可以检测白底中的黑线,也可以检测黑底中的白线,是寻线机器人的必备传感器。
模块来源
规格参数
工作电压:3.3V-5V
检测反射距离:1mm~25mm适用
输出方式: DO接口为数字量输出;AO接口为模拟量输出
读取方式:ADC
管脚数量:4 Pin(2.54mm间距排针)
硬件连接
- 传感器的Vcc端接开发板的5V供电;
- GND端接开发板的GND;
- AO(模拟信号输出端)接开发板的A0模拟输入引脚;
- DO(数字信号输出端)接开发板的8号引脚;
使用方法
将以下代码编译、上传到开发板中。
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月08日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 技术支持常驻论坛,任何技术问题欢迎随时交流学习
* 立创论坛:club.szlcsc.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
int IR_AO_Pin = A0; // 定义红外循迹传感器的AO连接到开发板的A0引脚
int IR_DO_Pin = 8; // 定义红外循迹传感器的DO连接到开发板的8号引脚
int IRValue = 0; // 用于存储红外循迹返光强度值的变量
#define ADC_MAX_VALUE 1023 //ADC的最大采集值
void setup() {
Serial.begin(9600); // 开始串行通讯,设置波特率为9600
pinMode(IR_DO_Pin, INPUT_PULLUP);
}
void loop() {
// 读取按钮的状态
int IRState = digitalRead(IR_DO_Pin);
if (IRState == LOW) {
Serial.println("检测到线");
} else {
Serial.println("未检测到线");
}
IRValue = analogRead(IR_AO_Pin); // 读取A0引脚的电压值
Serial.print("返光度: ");
Serial.println(IRValue); // 将读取的值发送到电脑的串行监视器
delay(1000); // 延时1秒
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
使用验证
将一个黑色障碍物和非黑色障碍物放置在传感器下,当检测到黑色障碍物时串口输出为检测到线,当检测到非黑色