目录
1、所需材料
Arduino UNO开发板+HC-SR04超声波测距模块+公对母杜邦线四根
2、模块简介
2.1 arduino uno
Arduino Uno 是一款基于 微控制器 MTATmega328P的开发板。它有14个数字输入/输出引脚(这些引脚中有6个引脚可以作为PWM输出引脚),6个模拟输入引脚,16 MHz石英晶振,USB接口,电源接口,支持在线串行编程以及复位按键。用户只需要将开发板与电脑通过USB接口连接就可以使用。
2.2超声波测距模块
超声波传感器模块是一种使用超声波测量与物体之间距离的仪器。它有两个探头。一种是发送超声波,另一种是接收超声波并将发送和接收的时间转换为距离,从而检测设备与障碍物之间的距离。在实践中,它非常方便和实用。
提供2cm-400cm非接触测量功能,测距精度可达3mm。可保证5m内信号稳定,5m后信号逐渐减弱,直至7m位置消失。
该模块包括超声波发射器、接收器和控制电路。基本原则如下:
-
使用IO触发器处理至少10us的高电平信号。
-
模块自动发送8个40khz并检测是否有脉冲信号返回。
-
如果信号返回,通过高电平,则高输出IO持续时间就是超声波从发射到返回的时间。这里,测试距离 =(高时间 x 声速(340 m / s)/ 2。
3、 接口接线
Arduino UNO | HC-SR04超声波测距模块 |
5V | VCC |
GND | GND |
Echo | pin8 |
Trig | pin10 |
4、代码示例
#define TrigPin 10 //输出
#define EchoPin 8 //输入
float Value_cm;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop()
{
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
Value_cm = float( pulseIn(EchoPin, HIGH) * 17 )/1000; //将回波时间换算成cm
Serial.print("前方障碍距离当前位置:");
Serial.print(Value_cm);
Serial.println("cm");
delay(1000);
}
5、运行结果
6、总结
基于Arduino UNO开发板使用超声波测距模块的时候不需要调用库,超声波模块可以直接测得回波信息,然后通过函数计算该遮挡物到传感器处的距离。
通过使用超声波传感器,可以在黑暗条件下测距;还与舵机结合,制作简易的雷达探测装置;与蜂鸣器结合,制作简易的运动探测装置。