Arduino UNO + HC-SR04 + Adafruit OLED 128×64 超声波测距仪
物料清单
| 组件 | 数量 |
|---|---|
| Arduino UNO R3 | 1 |
| HC-SR04 超声波测距模块 | 1 |
| Adafruit 128×64 OLED (SSD1306, I²C) | 1 |
接线表
| 模块 | Arduino 引脚 |
|---|---|
| HC-SR04 Trig | D13 |
| HC-SR04 Echo | D12 |
| OLED SDA | A4 |
| OLED SCL | A5 |
| OLED VCC/GND | 5 V / GND |
核心库
Adafruit_GFXAdafruit_SSD1306Wire.h、SPI.h(库依赖)
测距原理回顾
- Trig 发 10 µs 高脉冲 → 模块发射 8×40 kHz 脉冲包
- Echo 输出高电平,宽度 = 声波往返时间
- 距离(cm) = (高电平宽度 µs / 2) / 29.1
完整代码(含公英制切换宏)
// CODE BY Javier Muñoz Sáez
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define CommonSenseMetricSystem // 取消注释切换单位
// #define ImperialNonsenseSystem
#define trigPin 13
#define echoPin 12
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW); delayMicroseconds(2);
digitalWrite(trigPin, HIGH); delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
#ifdef CommonSenseMetricSystem
distance = (duration / 2) / 29.1;
#endif
#ifdef ImperialNonsenseSystem
distance = (duration / 2) / 73.914;
#endif
// OLED 显示
display.setCursor(22, 20);
display.setTextSize(3);
display.setTextColor(WHITE);
display.println(distance);
display.setCursor(85, 20);
display.setTextSize(3);
#ifdef CommonSenseMetricSystem
display.println("cm");
#endif
#ifdef ImperialNonsenseSystem
display.println("in");
#endif
display.display();
delay(500);
display.clearDisplay();
Serial.println(distance); // 调试用
}
原理图

扩展建议
- 加装蜂鸣器,距离 < 20 cm 报警
- 结合舵机云台实现 180° 扫描测绘
- 改用 VL53L0X ToF 传感器提升精度与抗干扰
制造工艺
- 树莓派与 Python 构建远程温度传感器:分步实战指南
- 树莓派多传感器温度光照监测系统:DS18B20 实战构建
- 树莓派传感器与执行器控制实战:加速度计、舵机与数据流
- 树莓派自动化气雾栽培系统:湿度传感器智能控制
- 验证并校准湿度传感器以实现精准测量
- Windows 10 IoT Core 上基于 SHT15 的精准温湿度监测
- Arduino Nano 驱动 128x64 OLED 实时运行康威生命游戏 (元胞自动机)
- 测距传感器工作原理与关键应用
- Arduino传感器:类型、应用与实战项目
- 指纹传感器技术:工作原理、应用与Arduino集成
- 振动传感器:原理、类型与工业应用
- 氧传感器:工作原理与汽车/工业关键应用