【源码开源】基于STM32的倒车雷达项目 —— OLED 实时显示 + HC-SR04 测距模块
【源码开源】基于STM32的倒车雷达项目 —— OLED 实时显示 + HC-SR04 测距模块
在嵌入式学习中,超声波测距与 OLED 屏显是两个非常常见的基础模块。将两者结合起来,就可以实现一个实用且易扩展的小项目——倒车雷达系统。本文将以 STM32F103C8T6 为核心控制器,通过 HC-SR04 超声波模块完成距离测量,并使用 0.96 寸 OLED 实时显示测量结果,同时加入按钮中断作为启动/复位控制,最终实现一个完整、可复用的倒车雷达体验。
源码分享
直接放到之前写的文章里了,免费开源,下载学习即可。
https://blog.csdn.net/weixin_52908342/article/details/155617238
倒车雷达作为一种常见的汽车辅助设备,其核心原理其实非常适合用于嵌入式学习:利用超声波测距获取目标距离,再通过显示模块呈现实时数据。为了更好地理解 STM32 的外设控制与传感器应用,我基于 STM32F103C8T6、HC-SR04 超声波模块以及 0.96 寸 OLED 显示屏实现了一个小巧实用的倒车雷达系统。项目结构简单,但涵盖了 I2C 通信、外部中断、精准延时、超声波测距等多个基础知识点,非常适合作为 STM32 入门练习或课程设计参考。本文将介绍系统的硬件组成、关键模块驱动以及整体实现思路,希望能给正在学习 STM32 的你带来一些启发。
一、项目设备清单
本项目采用了常见且价格友好的硬件模块,适合作为入门练手或课程设计方案:
- STM32F103C8T6 最小系统板
- 0.96 寸 I2C OLED(SSD1306 驱动)
- HC-SR04 超声波测距模块
- 一个外部按键(用于 EXTI 中断)
硬件连接简单、流行度高,非常适合学习 STM32 外设驱动以及模块化编程。

二、使用到的软件库
为了减少重复造轮子,项目中引用了两类常用库:
1. SSD1306 OLED 显示库
支持 128×64 OLED,包含文本/图形绘制功能,本项目主要用于:
- 显示实时测距数据
- 显示提示信息、状态图标
- 提供基础 UI
2. DWT-Delay 精准延时库
HC-SR04 测距对微秒级信号测量有精度要求,DWT 延时可以确保稳定的触发与回波捕获。
三、系统原理与流程说明
1. HC-SR04 测距原理
HC-SR04 测距基于传统的声呐原理:
- MCU 拉高 TRIG Pin 10µs
- HC-SR04 发出 40kHz 超声波
- 遇到障碍物反射后在 ECHO Pin 上产生高电平
- STM32 通过计时测得高电平宽度
整个过程使用 STM32 的计时与 GPIO 捕获即可实现。
2. OLED 显示逻辑
OLED 会以两种方式显示距离:
- 数字显示:实时距离值(cm)
- 安全提示:根据阈值显示“安全 / 警告 / 危险”
- 动态条形图:可扩展为横向距离动画效果
界面简单直观,适合作为倒车辅助的可视化界面。

3. 按键中断(EXTI)功能
按键可设置为:
- 重置测距
- 打开/关闭雷达
- 切换显示模式
EXTI 中断响应迅速,避免主循环阻塞。
四、项目代码结构简介
以下为主要功能模块(伪代码形式):
while (1) {
trigger_HCSR04();
delay_us(10);
duration = read_echo_time();
distance = duration / 58.0;
SSD1306_Clear();
SSD1306_GotoXY(0,0);
SSD1306_Printf("Dist: %.2f cm", distance);
if(distance < 10) {
SSD1306_Printf(" Danger!");
} else if(distance < 30) {
SSD1306_Printf(" Warning");
} else {
SSD1306_Printf(" Safe");
}
SSD1306_UpdateScreen();
delay_ms(100);
}
实际工程中可加入:
- 卡尔曼滤波 / 递推平均滤波
- 测距限幅
- 图形 UI
- 蜂鸣器告警
- 多点测距(可扩展为 4 点倒车雷达)
五、整体效果与演示说明
实际运行效果如下:
- OLED 实时刷新距离数据
- 随距离变化显示不同提示
- HC-SR04 测量稳定、响应灵敏
- 按键可随时重置或切换模式
整个项目上手简单,却又能从中学习 PWM、定时器、GPIO 中断、I2C 通信、OLED 驱动等核心知识。

六、总结
这是一个 非常适合作为入门或课程设计 的小项目。
- 结构简单
- 功能明确
- 易扩展性强
- 借助 SSD1306 与 DWT-Delay 能快速上手
本项目基于 STM32F103C8T6,结合 HC-SR04 超声波测距模块与 OLED 显示屏,实现了一个结构简洁、功能明确的倒车雷达系统。通过 SSD1306 驱动库完成图形化界面输出,通过 DWT-Delay 提供高精度延时,以确保测距过程的稳定性和可靠性。整个项目不仅帮助初学者理解 STM32 的 GPIO、定时器、I2C 通信与中断处理等关键知识点,还提供了一个可扩展性极强的平台。无论是增加蜂鸣器报警、加入滤波算法、还是扩展多点测距,都可以在现有框架上顺利完成。希望这一项目能为你在嵌入式开发道路上提供良好的参考与启发。
- 点赞
- 收藏
- 关注作者
评论(0)