Arduino - 超声波传感器
HC-SR04 超声波传感器使用超声来确定物体的距离,就像蝙蝠一样。它提供出色的非接触式范围检测,具有高精度和稳定的读数,易于使用的包装,它的测量距离从 2 厘米到 400 厘米或 1 英寸到 13 英尺。
超声波的工作不受阳光或黑色材料的影响,虽然声学上很难检测到布料之类的柔软材料。它配有超声波发射器和接收器模块。
技术规格
- 电源 - +5V DC
- 静态电流 - <2mA
- 工作电流 - 15mA
- 有效角度 - <15°
- 测距距离 - 2 厘米 - 400 厘米/ 1 英寸 - 13 英尺
- 分辨率 - 0.3 厘米
- 测量角度 - 30 度
需要的组件
你将需要以下组件 -
- 1×面包板
- 1×Arduino Uno R3
- 1×超声波传感器(HC-SR04)
程序
按照电路图进行连接,如下图所示。
草图
在你的计算机上打开 Arduino IDE 软件。用 Arduino 语言编码将控制你的电路。单击“新建”打开新的草图文件。
Arduino 代码
const int pingPin = 7; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 6; // Echo Pin of Ultrasonic Sensor
void setup() {
Serial.begin(9600); // Starting Serial Terminal
}
void loop() {
long duration, inches, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
}
long microsecondsToInches(long microseconds) {
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds) {
return microseconds / 29 / 2;
}
代码注意
超声波传感器有四个端子 - +5V,Trigger,Echo 和 GND 连接如下 -
- 将+5V 引脚连接到 Arduino 板上的+5v。
- 将触发器连接到 Arduino 板上的数字引脚 7。
- 将 Echo 连接到 Arduino 板上的数字引脚 6。
- 将 GND 与 Arduino 上的 GND 相连。
在我们的程序中,我们通过串口显示传感器测量的距离,单位为英寸和厘米。
结果
你将在 Arduino 串行监视器上看到传感器测量的距离,单位为英寸和厘米。