这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【let'sdo|2026年第2期】简易超声波测距仪-开箱贴

共1条 1/1 1 跳转至

【let'sdo|2026年第2期】简易超声波测距仪-开箱贴

菜鸟
2026-08-31 00:09:16     打赏

这次活动的主题是制作一个简易超声波测距仪,主要学习 MCU 串口通信、超声波测距、I2C 通信和 OLED 显示。

本次准备的器件包括:

  • FRDM-MCXA153 开发板

  • HC-SR04 超声波测距模块

  • 0.96 英寸 SSD1306 I2C OLED 显示屏

  • 杜邦线、电阻分压器件和 USB 连接线

FRDM-MCXA153 开发板

FRDM-MCXA153 是 NXP 面向 MCX A 系列 MCU 的开发板,主控为 MCXA153,采用 Arm Cortex-M33 内核,最高主频约 96 MHz,片上资源包括约 128 KB Flash 和 24 KB SRAM。

这块开发板的特点是接口比较丰富,适合进行外设和传感器实验:

  • 板载 MCU-Link 调试器和烧录器

  • 支持虚拟串口,可直接与电脑进行串口通信

  • Arduino R3 扩展接口

  • MikroBUS 接口

  • RGB 指示灯

  • 用户按键 SW2、SW3

  • 多组 GPIO、I2C、SPI、UART 等外设接口

本项目使用板载 MCU-Link 完成程序烧录和串口调试,不需要额外购买 J-Link。

image.png

HC-SR04 超声波模块

HC-SR04 是常见的超声波测距模块,工作频率通常为 40 kHz,模块上有两个超声波换能器,分别用于发射和接收超声波。

它的工作过程如下:

  1. MCU 向 TRIG 引脚输出至少 10 us 的高电平脉冲;

  2. 模块发射一组 40 kHz 超声波;

  3. 超声波遇到目标后反射回来;

  4. 模块在 ECHO 引脚输出一个与往返时间对应的高电平脉冲;

  5. MCU 根据脉冲宽度计算距离。

基本计算公式为:

距离 = 声速 × ECHO 高电平时间 ÷ 2

HC-SR04 的典型测量范围约为 2 cm 到 400 cm,实际测量结果会受到目标材质、角度、环境温度和安装方式影响。

需要特别注意,HC-SR04 通常使用 5 V 供电,ECHO 输出也可能是 5 V 电平。MCXA153 的 GPIO 不能直接承受 5 V,因此 ECHO 信号必须通过电阻分压或电平转换后再接入 MCU。

image.png

SSD1306 I2C OLED 屏幕

使用的显示屏是 1.24 英寸 OLED,驱动芯片为 SSD1306。SSD1306 OLED 常见分辨率为 128×64,采用单色显示,每个像素可以独立点亮。

OLED 与普通 LCD 的区别是:

  • OLED 像素可以自发光,不需要背光;

  • 对比度较高,显示效果清晰;

  • 模块体积小,适合显示传感器数据;

  • 功耗较低,适合嵌入式项目。

本项目使用 I2C 接口,通常只需要四根线:

  • VCC

  • GND

  • SDA

  • SCL

常见 I2C 地址为 0x3C,部分模块可能使用 0x3D。

image.png

本项目接线规划

器件引脚FRDM-MCXA153 引脚说明
OLED VCC3V3使用 3.3 V 供电
OLED GNDGND共地
OLED SDAArduino D14 / P1_8I2C 数据线
OLED SCLArduino D15 / P1_9I2C 时钟线
HC-SR04 VCC5V模块供电
HC-SR04 GNDGND与开发板共地
HC-SR04 TRIGArduino D2 / P2_4MCU 输出触发信号
HC-SR04 ECHOArduino D7 / P3_1经过分压后接入
电脑串口J15 MCU-Link虚拟串口,115200 8N1

软件方面计划使用 Zephyr RTOS 进行开发,利用 Zephyr 的 HC-SR04 传感器驱动读取距离,通过 SSD1306 驱动在 OLED 上显示结果,同时通过 MCU-Link 虚拟串口将数据发送到电脑。

后续还会尝试加入:

  • 距离一位小数显示;

  • 五次滑动平均滤波;

  • 使用 SW2 在 cm 和 m 显示单位之间切换;

  • 串口持续输出原始值和滤波后的距离。

期待通过这次活动,把传感器采集、数据处理、串口通信和显示输出完整串联起来,最终完成一个真正可以使用的简易超声波测距仪。



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]