目录
简介:使用Arduino连接超声波传感器
超声波传感器是一种使用声波测量物体距离的设备。它的工作原理是发出超声波频率的声波并等待它从物体反弹回来。然后,使用声音传输和声音接收之间的时间延迟来计算距离。
使用公式 Distance =(声速*时间延迟)/ 2来完成
我们将距离公式除以2,因为声波沿着往返行进,即从传感器返回传感器,使实际距离加倍。
HC-SR04是一种典型的超声波传感器,可用于许多项目,如障碍物探测器和电子测距带。在这个Instructable中,我将教你如何将HC-SC04与Arduino Uno连接起来。
第1步:所需组件
要将超声波传感器与Arduino连接,并查看串行监视器上的距离,您需要:
- Arduino Uno
- HC-SR04模块
- BreadBorad
- 杜邦线或跳线
您需要一台笔记本电脑或PC才能将代码上传到Arduino并查看串行监视器上的距离。
第2步:关于HC-SR04的一点点
HC-SR04是超声波测距模块。这款经济型传感器提供2cm至400cm的非接触式测量功能,测距精度可达3mm。每个HC-SR04模块包括超声波发射器,接收器和控制电路。
HC-SR04上有四个针脚。他们是 :
- Vcc(5V电源)
- Gnd(地面)
- Trig(触发器)
- 回声(接收)
需要注意的关键特征是:
- 工作电压:5V DC
- 工作电流:15mA
- 测量角度:15°
- 测距:2cm – 4m
第3步:Arduino串行监视器
串行监视器是Arduino IDE的一部分。它也可以在Web IDE中使用。它允许您从通过USB连接的电路板发送和接收数据。这是使用串行通信的概念。
您可以通过在顶部的窗口中键入并按“Enter”或单击“发送”来发送命令。来自电路板的数据显示在下面。
这在调试代码时非常有用,或者如果需要向板提供输入,这可能是IDE中最有用的工具。您使用它越多,您就越能够测试需要输入并提供后续输出的复杂项目。
第4步:电路
连接如下:
- Vcc连接到Arduino的5V。
- Gnd连接到Arduino的Gnd。
- Trig连接到数字引脚9。
- Echo连接到数字引脚10。
有关连接的更清晰,请参阅原理图。
在构建电路时几乎没有什么要记住的:
- 避免将传感器放在金属表面上,以避免可能会烧坏传感器的短路。
- 建议将电气胶带放在传感器的背面。
- 您也可以直接使用跳线将超声波传感器直接连接到Arduino。
第5步:代码
[scu name=”arduino-ide-post” platform=”arduino:avr:uno”]
/*
* Ultrasonic Sensor HC-SR04 interfacing with Arduino.
*/
// defining the pins
const int trigPin = 9;
const int echoPin = 10;
// defining variables
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
// Prints the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.println(distance);
}
[/scu]
第6步:上传和测试
将Arduino连接到您的计算机并上传代码。
上传代码后,电路板将开始将数据传输到计算机。当您看到每次传输数据时Arduino上的Tx LED闪烁时,您就会知道这一点。现在,如果您打开串行监视器,您将看到显示的距离。