接线图
基本工作原理
- 采用IO口TRIG触发测距,给至少10us的高电平信号
- 模块自动发送8个40khz的方波,自动检测是否有信号返回
- 有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间
测试距离 = (高电平时间 * 声速(340M/S)) / 2
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| const int trigPin = 7; const int echoPin = 8;
void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(9600); }
void loop() { long duration, distance;
digitalWrite(trigPin, LOW); delayMicroseconds(2);
digitalWrite(trigPin, HIGH); delayMicroseconds(40); digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); distance= duration * 0.034 / 2;
Serial.print("Distance: "); Serial.println(distance); }
|
串口输出