大家好,很高兴参加这期EEPW论坛"Let's do"活动——简易超声波测距仪训练营!先来一波开箱,把这次收到的几件硬件跟大家分享一下,顺便梳理一下各自的角色分工,方便后面写代码时对照。
一、主控:NXP FRDM-MCXA153 开发板

这是本次项目的"大脑"。FRDM-MCXA153是一款紧凑且可扩展的开发板,用于快速原型设计,搭载MCX A13、A142、A143、A152或A153系列芯片,非常适合对成本敏感的USB传感与控制类设计。板子本身:
提供工业标准接口,方便访问MCU的I/O,集成了开放标准的串行接口和板载MCU-Link调试器,还支持全速USB Type-C设备功能、16位ADC、板载I3C/I²C温度传感器,并兼容Arduino、FRDM、mikroBUS和Pmod扩展接口,光是接口就很丰富,后面接超声波模块和LCD应该不缺引脚。
内核方面,MCX-A153搭载Arm Cortex-M33微控制器,主频达96MHz,并支持带片上全速PHY的USB全速接口,性能对付一个测距仪绰绰有余。
外观上是经典的NXP FRDM系列PCB板型,Type-C接口直接供电+调试,上手门槛很低,官方MCUXpresso生态也比较成熟,也可以用Zephyr、RT-Thread等生态进行开发,适合训练营这种边学边做的场景。
二、超声波测距模块:HC-SR04

HC-SR04模块通过IO口输出高电平时间来换算距离,公式为(高电平时间×声速340m/s)/2。超声波模块的输出方式有许多种,有模拟输出、有电平输出,硬件实现方案也有许多种,因为我们的主控芯片MCXA153外设引脚是工作在3.3V电平,需要注意3.3V电平兼容问题。
三、显示模块一:LCD1602 + PCF8574T I2C背板

这一套是"经典搭档"——1602字符屏配I2C转接背板,专门解决并口LCD占引脚多的问题。
背板内置PCF8574 I2C芯片,把I2C串行数据转换为LCD需要的并行数据;显示规格为2行×16字符。
默认I2C地址通常是0x27,个别情况下可能是0x3F,实际使用前建议先用I2C扫描程序确认一下地址,免得后面显示不出来白折腾。
好处很直接:这块转接板把驱动LCD所需的数据引脚压缩到只需2个,还能和其他I2C设备共用总线,对开发板的GPIO资源占用非常友好。
背板上一般都带一个蓝色微调电位器,用来调节对比度,顺时针增强、逆时针减弱,装好第一件事记得先拧一下电位器,不然容易出现"背光亮但看不到字"的经典翻车现场。
四、显示模块二:Glass2 Unit

这块是"颜值担当",M5Stack家的Unit Glass2透明OLED。
Unit Glass2是一款1.51英寸的透明OLED显示扩展单元,采用SSD1309驱动方案,但是也可以用SSD1306的协议直接驱动。它支持I2C通信,默认地址为0x3C,可通过预留焊盘改为0x3D。
屏幕具有出色的亮度和对比度,在各种光照条件下表现良好,适合作为信息显示、状态指示或用户交互界面,嵌入到智能家居或控制设备中。
透明屏加持下,这块拿来做测距仪的"高级版彩蛋显示"应该很有科技感,跟LCD1602搭配可以一个显示数字读数、一个做动效/图标展示。
小结 & 后续计划
这次到手的四件套分工大致是:
硬件 | 角色 |
FRDM-MCXA153 | 主控,读取传感器、驱动显示、跑逻辑 |
HC-SR04 | 测距 |
LCD1602 + PCF8574T | I2C字符屏,显示基础测距数值 |
Glass2 Unit OLED | I2C透明屏,做进阶显示/UI |
接下来打算先把LCD1602和Glass2的I2C地址都扫描确认一遍,再逐步接超声波传感器调通测距逻辑,最后把两块屏都点亮联动显示。
我要赚赏金
