一、模块介绍
利用一左一右两个红外传感器检测黑色跑道。
购买链接:
https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18748153240.39.7eda723cVVKOLp&id=575880284744
循迹传感器采用的是一左一右两个红外传感器。具体的检测原理是跑道黑线吸收光,红外传感器接收不到返回的数据,经施密特触发器整形后输出高电平。场地区域为白色反射所有光,传感器发射的红外光遇场地反射,接收管接收到反射光,经施密特触发器整形后输出低电平。
二、原理分析
循迹传感器是由两个红外反射模块组成, IRS-F2为红外发射装置,负责发射红外线,TCRT5000为红外接收装置,负责检测有无反射回的红外线。当红外模块的接收端导通时,U1B比较器输出低电压,当红外模接端没有收到红外线时,比较器输出高电压。
三、代码解读
1、初始化IO口为输入。
GPIO_Init();
2、开启IO口复用时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
3、设置IO口与中断线的映射关系。
void GPIO_EXTILineConfig();
4、初始化线上中断,设置触发条件等。
EXTI_Init();
5、配置中断分组(NVIC),并使能中断。
NVIC_Init();
6、编写中断服务函数。
EXTIx_IRQHandler();
7、清除中断标志位
EXTI_ClearITPendingBit();
四、实践操作
一、实验操作步骤:
1、将 STM32F103 核心板正确插接到魔法师 M3/M4 底板上,连接好 J-link 与 PC 机;
2、将 循迹传感器 模块插到底板 P5 口,底板拨码 S1 拨向 ON 端;
3、编译整个工程,打开底板电源,烧写程序到核心板,并按一次复位按键。串口调试助手波特率为115200。
二、实验现象:
把传感器放到模拟跑道上移动,串口打印 传感器应该变换的方位信息。(黑色胶带作为模拟跑道,其余位置是白纸)