
基于Arduino UNO的超声波距离测量项目——使用LCD1602显示与Proteus 8.9仿真
撸起袖子说干就干,今天带大家整一个简单粗暴的超声波测距仪。咱用Arduino UNO配个LCD1602显
示屏,Proteus仿真跑起来跟真机效果一毛一样。别被"超声波"这词吓到,其实就是个会"尖叫"的模块,听
个回声就能算距离。
先上硬件连接图(Proteus里拖元件跟玩俄罗斯方块似的):
- 超声波模块的Trig接D12,Echo接D11
- LCD1602的RS→D7,RW接地,EN→D6,D4-D7→D5-D2
电源统统接5V和GND,别问我为啥不用3.3V,问就是LCD吃电大户。
代码部分掏出Arduino IDE开整:
```cpp
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // 这引脚顺序坑过不少人
const int trig = 12;
const int echo = 11;
void setup() {
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
lcd.begin(16, 2);
lcd.print("Distance:");
}
void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10); // 这个10微秒是关键,短了没信号
digitalWrite(trig, LOW);
long duration = pulseIn(echo, HIGH);
int distance = duration * 0.034 / 2; // 声速公式别记混
lcd.setCursor(0, 1);