创意智能垃圾分类机器人(红外传感器)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
红外循迹传感器测试
• 循迹模块由5个TCRT5000 反射式光电传感器并行排列组成
实物图
注意:3、4引脚表示红外发射管,1、2引脚表示红外接收管
硬件电路原理图
• TCRT5000组成:由一个红外发射管和一个红外接收管组成 • 工作原理:工作时,当发射管发射的红外信号经物体反射,并被
接收管接收后,接收管的电阻会发生变化,相应的该接收管的电 压也会随之变化。 • 注意:将5个红外接收管的1引脚一起引出来,作为红外模块与 arduino控制板的连接接口,一般与arduino的模拟端口相连接。
• 检测原理:
① 对准黑线:当TCRT5000对准比赛地图的黑线时,其发射管发射出的红外线被黑线吸 收,而接收管接收到的红外线非常弱,那么接收管截止(电阻大),导致接收管1端的输 出电压变小;
② 偏离黑线:当TCRT5000偏离比赛地图的黑线时(对准白色区域),其发射管发射出 的红外线被反射,而接收管接收到的红外线变强,那么接收管导通(电阻小),导致接 收管1端的输出电压变大。
• 检测结论:
(1)通过读取红外对管的输出电压是否发生变化就可以知道机器人是否检测到黑线;
(2)一般情况下,当arduino模拟引脚读到的电压变小时,则说明检测到黑线,反之, 则说明偏离黑线。
• ①当机器人正中央的TCRT5000检测到黑线, 那么机器人将直走;
• ②当中间两侧的TCRT5000检测到黑线,那 么机器人将微调方向往中间靠拢;
• ③当最外侧的TCRT5000检测到黑线,那么 机器人将以稍大的速度调整方向往中间靠拢。
注意:将该功能封装在Track库函数
机器人走直线
红外传感器模块与控制板连线图
序号
1 2 3 4 5 6 7 8
arduino UNO 引脚 A1 A2 A3 A4 A5 GND GND VCC
循迹模块引脚
1 2 3 4 5 6 7 8
arduino UNO控制板与红外传感器连线表
导入库:
把右图中的5个库函数文件 夹复制到对应arduino目录 下的libraries目录下。
#include "Track.h" //导入库函数 Track mytrack(A5,A4,A3,A2,A1); //常规赛红外传感器与arduinoUNO接线
红外传感器测试程序
void setup()
{
Serial.begin(9600); //设置串口的比特率,用于输出显示数据 mytrack.Mode(); //配置引脚,都设定为输入模式
在循迹模块测试过程中,机器人
} void loop()
arduino板的下载线要一直与电脑相连。
{
mytrack.Test(); //从引脚中获取数据
for(int i=0;i<5;i++) //将下一行代码循环执行5次,每次输出一个从引脚获取到的数据,一共5个引脚,所以循环5次
{
Serial.println(mytrack.value[i]); //将获取到的数据显示出来
}
Serial.println("END"); //输出 字符串"END"
delay(1000); //程序停顿1秒
}
• 单独设计一个测试红外循迹模 块的程序,将该程序复制到 arduino工作区间;
• 程序上传到arduino板后,打开 串口监视器,如右图。
打开串口
(1)将循迹模块对准白色区域,如左图
(2)如果循迹模块正常,将得到5个 TCRT5000传感器的数值如图右图。
注意,不同的循迹模块,其 TCRT5000传感器的数值会有所不同。
红外传感器对准白色区域示意图
红外传感器对准白色区域的读数
(1)将循迹模块对准黑线,如左图
红外传感器对准黑线示意图
(2)如果循迹模块正常,将得到5个 TCRT5000传感器的数值如图右图。
注意,不同的循迹模块,其 TCRT5000传感器的数值会有所不同。
红外传感器对准白色区域的读数
• 红外循迹模块正常工作时: (1)当对准黑线时,传感器的读数变小,这时的读数一般小于250; (2)当对准白色区域时,传感器的读数变大,这时的读数一般大于250。 • 红外循迹模块工作不正常: • 如果该红外模块不遵循步骤二、三的读数规律,那么可以认为其已损坏,
需要更换。
谢谢!
• 循迹模块由5个TCRT5000 反射式光电传感器并行排列组成
实物图
注意:3、4引脚表示红外发射管,1、2引脚表示红外接收管
硬件电路原理图
• TCRT5000组成:由一个红外发射管和一个红外接收管组成 • 工作原理:工作时,当发射管发射的红外信号经物体反射,并被
接收管接收后,接收管的电阻会发生变化,相应的该接收管的电 压也会随之变化。 • 注意:将5个红外接收管的1引脚一起引出来,作为红外模块与 arduino控制板的连接接口,一般与arduino的模拟端口相连接。
• 检测原理:
① 对准黑线:当TCRT5000对准比赛地图的黑线时,其发射管发射出的红外线被黑线吸 收,而接收管接收到的红外线非常弱,那么接收管截止(电阻大),导致接收管1端的输 出电压变小;
② 偏离黑线:当TCRT5000偏离比赛地图的黑线时(对准白色区域),其发射管发射出 的红外线被反射,而接收管接收到的红外线变强,那么接收管导通(电阻小),导致接 收管1端的输出电压变大。
• 检测结论:
(1)通过读取红外对管的输出电压是否发生变化就可以知道机器人是否检测到黑线;
(2)一般情况下,当arduino模拟引脚读到的电压变小时,则说明检测到黑线,反之, 则说明偏离黑线。
• ①当机器人正中央的TCRT5000检测到黑线, 那么机器人将直走;
• ②当中间两侧的TCRT5000检测到黑线,那 么机器人将微调方向往中间靠拢;
• ③当最外侧的TCRT5000检测到黑线,那么 机器人将以稍大的速度调整方向往中间靠拢。
注意:将该功能封装在Track库函数
机器人走直线
红外传感器模块与控制板连线图
序号
1 2 3 4 5 6 7 8
arduino UNO 引脚 A1 A2 A3 A4 A5 GND GND VCC
循迹模块引脚
1 2 3 4 5 6 7 8
arduino UNO控制板与红外传感器连线表
导入库:
把右图中的5个库函数文件 夹复制到对应arduino目录 下的libraries目录下。
#include "Track.h" //导入库函数 Track mytrack(A5,A4,A3,A2,A1); //常规赛红外传感器与arduinoUNO接线
红外传感器测试程序
void setup()
{
Serial.begin(9600); //设置串口的比特率,用于输出显示数据 mytrack.Mode(); //配置引脚,都设定为输入模式
在循迹模块测试过程中,机器人
} void loop()
arduino板的下载线要一直与电脑相连。
{
mytrack.Test(); //从引脚中获取数据
for(int i=0;i<5;i++) //将下一行代码循环执行5次,每次输出一个从引脚获取到的数据,一共5个引脚,所以循环5次
{
Serial.println(mytrack.value[i]); //将获取到的数据显示出来
}
Serial.println("END"); //输出 字符串"END"
delay(1000); //程序停顿1秒
}
• 单独设计一个测试红外循迹模 块的程序,将该程序复制到 arduino工作区间;
• 程序上传到arduino板后,打开 串口监视器,如右图。
打开串口
(1)将循迹模块对准白色区域,如左图
(2)如果循迹模块正常,将得到5个 TCRT5000传感器的数值如图右图。
注意,不同的循迹模块,其 TCRT5000传感器的数值会有所不同。
红外传感器对准白色区域示意图
红外传感器对准白色区域的读数
(1)将循迹模块对准黑线,如左图
红外传感器对准黑线示意图
(2)如果循迹模块正常,将得到5个 TCRT5000传感器的数值如图右图。
注意,不同的循迹模块,其 TCRT5000传感器的数值会有所不同。
红外传感器对准白色区域的读数
• 红外循迹模块正常工作时: (1)当对准黑线时,传感器的读数变小,这时的读数一般小于250; (2)当对准白色区域时,传感器的读数变大,这时的读数一般大于250。 • 红外循迹模块工作不正常: • 如果该红外模块不遵循步骤二、三的读数规律,那么可以认为其已损坏,
需要更换。
谢谢!