Arduino超声波测距模块HC-SR04的使用教程

4星 · 超过85%的资源 需积分: 9 7 下载量 69 浏览量 更新于2024-09-10 收藏 1.18MB PDF 举报
"Arduino HC-SR04超声波测距模块" Arduino HC-SR04超声波测距模块是一种常见的传感器,广泛应用于各种距离测量项目,包括机器人导航、物体避障和自动化系统。其主要优点在于测量精度高、操作简便、计算要求低以及实时控制能力。 该模块的核心组成部分包括超声波发射器、接收器和控制电路。工作原理基于超声波的发射和回波检测。首先,通过向TRIG引脚发送一个至少10微秒的高电平脉冲来触发超声波发射。随后,模块会自动发出8个40kHz的超声波脉冲,并监听是否有回波。一旦接收到回波,ECHO引脚将输出一个高电平,高电平的持续时间直接反映了超声波从发射到反射回来的时间。利用这个时间差,结合声速(约340米/秒),可以计算出与目标之间的距离。 电气参数方面,HC-SR04模块的工作电压为0.5V DC,工作电流为15mA。它的探测范围是2厘米到450厘米,探测角度为15度。输入触发脉冲要求为10微秒的TTL电平,而输出的回响信号是与距离成正比的TTL电平信号。 在使用该模块时,需要将其连接到Arduino控制器的数字I/O端口,例如Trig连接到数字端口4,Echo连接到数字端口5。通过编写简单的Arduino程序,可以读取Echo引脚的高电平持续时间,进而计算并显示测量的距离。 测试阶段,用户通常需要准备一个Arduino控制器、USB数据线和超声波模块。将模块正确连接到Arduino后,通过编写和上传测试代码,即可在电脑显示器上观察到测量的距离。如果需要更直观的显示,还可以添加LCD屏幕或数码管。 以下是一个简化的测试代码示例: ```cpp const int trigPin = 4; const int echoPin = 5; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); unsigned long duration = pulseIn(echoPin, HIGH); float distance = duration * 0.034 / 2; // 距离计算 Serial.println(distance); delay(500); // 控制测量频率 } ``` 这段代码首先设置Trig和Echo引脚,然后在循环中触发超声波发射并读取回波持续时间,最后计算并打印出距离值。通过调整代码,可以根据实际需求进行更复杂的集成和应用开发。