当前位置: 首页 > news >正文

STM32 智能小车项目 两路红外循迹模块原理与实战应用详解

在嵌入式系统、机器人、智能设备等场景中,红外反射型光电传感器 被广泛应用于黑白识别、障碍检测、物体计数、位置判断等任务。其中,RPR220 是一款性能稳定、体积小巧的红外光电收发管,本文将详细介绍其工作原理、引脚参数、接线说明以及典型应用场景与代码示例

常用型号:TCRT5000、RPR220

图片

一、什么是两路红外循迹模块?

“两路”意味着模块上集成了两组红外对管,每组包含一个红外发射管和一个红外接收管。

原理:

  • 红外发射管不断发出一定波长的红外线;

  • 当检测面是白色或反光物体时,红外线被反射回来,红外接收管接收到强烈反射信号;

  • 当检测面是黑线或非反光表面时,红外线被吸收,接收管接收不到信号;

  • 模块根据接收管的接收强度输出高低电平。

常用于:

  • 黑白线循迹

  • 边界检测

  • 简易障碍检测

二、模块结构与引脚说明

常见的两路红外循迹模块如下图(略):

引脚名

功能

VCC

电源正极(3.3V 或 5V)

GND

电源负极

OUT1

左边红外信号输出(数字电平)

OUT2

右边红外信号输出(数字电平)

注意:部分模块还有两个电位器,对应调节左/右两个传感器的灵敏度。

三、工作原理详解

红外对管的工作依赖于表面反射率的差异。以下是两种典型情况:

  • 白色面(高反射率):

    • 红外线反射回接收管

    • 模块判定为“非线” → 输出低电平(有些模块反过来)

  • 黑色线(低反射率):

    • 红外线吸收或散射

    • 模块判定为“识别到黑线” → 输出高电平(或低)

模块内部常见使用 LM393 比较器将接收管模拟电压信号转换为清晰的数字高低电平,方便 MCU 读取。

四、与STM32连接方式

以STM32F103C8T6为例:

模块引脚

STM32 引脚

说明

VCC

5V

电源供电

GND

GND

电源地

OUT1

PA0(或其他中断口)

左边传感器信号

OUT2

PA1(或其他中断口)

右边传感器信号

五、STM32 驱动代码示例void Infrared_Init(void)

{    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);    GPIO_InitTypeDef GPIO_InitStruct;    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;  // 上拉输入    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;    GPIO_Init(GPIOA, &GPIO_InitStruct);}
uint8_t Get_TrackStatus(void){    uint8_t left = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0);    uint8_t right = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_1);
    if (left == 0 && right == 0) return 0;  // 中间    else if (left == 1 && right == 0) return 1;  // 左偏    else if (left == 0 && right == 1) return 2;  // 右偏    else return 3; // 停止或离线}

六、典型应用:智能小车循迹控制

核心思想是依据红外传感器状态判断小车如何转向或前进:

状态

左红外

右红外

控制策略

0

0

0

前进

1

1

0

右转(左偏)

2

0

1

左转(右偏)

3

1

1

停止/掉线

结合 PWM 控制电机速度,即可构建出完整的循迹小车系统。

相关文章:

  • 厂区能源监控系统:网关赋能下的高效能源管理与环保监测
  • 「Java EE开发指南」如何使用MyEclipse在Web项目中用Web Fragments?
  • 数学复习笔记 27
  • 基于RK3568的多网多串电力能源1U机箱解决方案,支持B码,4G等
  • 【Elasticsearch】Elasticsearch 核心技术(二):映射
  • DeepSeek 赋能智能养老:情感陪伴机器人的温暖革新
  • Python数据类型与运算符全解析-Python数据挖掘可视化分析
  • AI系统负载均衡与动态路由
  • bootstrap:点击回到顶部 超简单
  • halcon c# 自带examples报错 Matching
  • Dubbo Logback 远程调用携带traceid
  • Mybatis动态SQL语句
  • 学习路之php--性能优化
  • Redis 安装配置和性能优化
  • 解读《网络安全法》最新修订,把握网络安全新趋势
  • 【前端】vue3性能优化方案
  • 性能优化之SSR、SSG
  • K8S认证|CKS题库+答案| 2. Pod 指定 ServiceAccount
  • 基于SpringBoot和PostGIS的OSM时空路网数据入库实践
  • 从 ClickHouse、Druid、Kylin 到 Doris:网易云音乐 PB 级实时分析平台降本增效
  • 太原市做网站好的科技公司/网站推广投放
  • wordpress 不同站点/店面怎么做位置定位
  • 临朐县网站建设/关键词歌词表达的意思
  • 可以做淘宝推广的网站有哪些内容/长沙关键词快速排名
  • 网站专题页是什么/网址大全实用网址
  • 自己做盗版小说网站吗/百度网页版首页