波特律动
课程中心/STM32基础教程/【GPIO】循迹模块

【GPIO】循迹模块

1下载例程代码: 

注意

CubeIDE:请按照 例程使用方法🔗 导入例程,否则下载的可能不是例程而是其他工程。

Keil:请使用 ArmCC V6 编译,否则可能会出现编译错误。点击此处查看切换编译器方法🔗

如何使用例程

连接循迹模块,并下载程序,即可看到效果

硬件连接

  • 需要使用:3P杜邦线、TCRT5000循迹模块
  • 线序对应表:

循迹模块

学习板

VCC

V

GND

G

DO

B14

程序效果

  • 绿灯指示循迹模块的状态,当检测到物体时绿灯熄灭
  • 循迹模块既可以检测物体的靠近,也可以检测颜色(黑白)。调节循迹模块的电位器可以改变灵敏度
  • 循迹模块可以用于循迹小车、自动计数等设计

例程讲解

下面介绍了如何自己实现该例程的功能

1、工程配置

  • 将 PB14 配置为 GPIO_Input,并设置 User label 为 TCRT
  • 将 PA7 配置为 GPIO_Output并设置 User label 为 GREEN

2、代码

  • 在main.c的while循环中,不断读取循迹模块输出状态
  • 如果循迹模块输出低电平,则说明有物体靠近(或检测到白线);高电平则说明没有物体靠近(或检测到黑线)
C语言
1// 如果循迹模块输出高电平,说明没有检测到物体靠近(或检测到白线)
2if (HAL_GPIO_ReadPin(TCRT_GPIO_Port, TCRT_Pin))
3 HAL_GPIO_WritePin(GREEN_GPIO_Port, GREEN_Pin, GPIO_PIN_SET);
4// 如果循迹模块输出低电平,说明检测到物体靠近(或检测到黑线)
5else
6 HAL_GPIO_WritePin(GREEN_GPIO_Port, GREEN_Pin, GPIO_PIN_RESET);