超声波传感器模块的VCC、GND分别连接到开发板的5V、GND。传感器的Trig引脚、Echo引脚分别连接到开发板的数字引脚2、3。OLED屏的VCC和GND分别连接开发板的3.3V和GND,OLED屏的SDA和SCL分别连接开发板A4和A5。
实验原理图如下图所示:

实验原理图
1#include < Wire.h >
2#include < Adafruit_GFX.h >
3#include < Adafruit_SSD1306.h >
4
5#define OLED_RESET 4
6Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
7
8#define TrigPin 2
9#define EchoPin 3
10
11int Value_cm;
12
13void setup() {
14 display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
15 display.setTextColor(WHITE);//开像素点发光
16 display.clearDisplay();//清屏
17
18 display.setTextSize(2); //设置字体大小
19 pinMode(TrigPin, OUTPUT);
20 pinMode(EchoPin, INPUT);
21}
22
23void loop() {
24 digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
25 delayMicroseconds(2);
26 digitalWrite(TrigPin, HIGH);
27 delayMicroseconds(10);
28 digitalWrite(TrigPin, LOW);
29 Value_cm = int( pulseIn(EchoPin, HIGH) * 17 ) / 1000;
30
31 display.clearDisplay();//清屏
32 display.setCursor(50,10);
33 display.print(Value_cm);
34 display.println("cm");
35 display.drawRect(0, 33, 128, 12, WHITE);
36 display.fillRect(2, 35, map(Value_cm, 2, 20, 2, 124), 8, WHITE);
37 display.display();//开显示
38}

程序下载
改变遮挡物与超声波传感器的距离,OLED上将显示测量的距离。同时使用map()函数映射了一段距离数据做OLED屏幕上进度条的显示。
什么是感应电机?什么是无刷电机?二者有何区...
时间:2026-10-23
多核DSP的多路同步时钟信号设计
时间:2026-10-23
什么是lcd12864?lcd12864的特性及其应用举例
时间:2026-10-23
IoT无线连接基础知识
时间:2026-10-23
光是一种电磁波,那么光的频率是多少?
时间:2026-10-22
DRAM简介
时间:2026-10-22
电容耦合是什么意思呀?
时间:2026-10-22
什么是单总线
时间:2026-10-21
STM32的CAN总线通信实现
时间:2026-10-21
什么是电源管理?有什么作用
时间:2026-10-20
电阻的单位
时间:2026-03-05
NVIDIA CPU+GPU超级芯片大升级!
时间:2026-03-09
贴片电阻怎么看阻值
时间:2026-03-05
电阻的原理和作用 电阻色环识别图 电路中电...
时间:2026-03-09
什么是室温超导?半导体时代将走向结束?芯...
时间:2026-03-09
HTCC:半导体封装的理想方式
时间:2026-03-06
什么是硅片或者晶圆?一文了解半导体硅晶圆
时间:2026-03-09
一文详解MOS管驱动电路拓扑的设计
时间:2026-03-09
半导体光刻工艺 光刻—半导体电路的绘制
时间:2026-03-09
半导体行业之ICT技术简介
时间:2026-03-09