Arduino - 超声波传感器
HC-SR04 超声波传感器使用 SONAR 来确定物体的距离,就像蝙蝠一样。它提供出色的非接触式距离检测,具有高精度和稳定的读数,易于使用,范围从 2 厘米到 400 厘米或 1 英寸到 13 英尺。
操作不受阳光或黑色材料的影响,尽管从声学上讲,像布料这样的柔软材料可能难以检测。它配有超声波发射器和接收器模块。
技术规格
- 电源 − +5V DC
- 静态电流 − <2mA
- 工作电流 − 15mA
- 有效角度 − <15°
- 测距距离 − 2cm – 400 cm/1″ – 13ft
- 分辨率 − 0.3 cm
- 测量角度 − 30 度
所需组件
您将需要以下组件 −
- 1 × 面包板
- 1 × Arduino Uno R3
- 1 ×超声波传感器 (HC-SR04)
步骤
按照电路图进行连接,如下图所示。
草图
在您的计算机上打开 Arduino IDE 软件。使用 Arduino 语言进行编码将控制您的电路。单击新建打开一个新的草图文件。
Arduino 代码
const int pingPin = 7; // 超声波传感器的触发引脚 const int echoPin = 6; // 超声波传感器的回声引脚 void setup() { Serial.begin(9600); // 启动串行终端 } 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、触发器、回声和 GND,连接方式如下 −
- 将 +5V 引脚连接到 Arduino 板上的 +5v。
- 将触发器连接到 Arduino 板上的数字引脚 7。
- 将回声连接到 Arduino 板上的数字引脚 6。
- 将 GND 与 Arduino 上的 GND 连接。
在我们的程序中,我们通过串行端口显示了传感器测量的距离(以英寸和厘米为单位)。
结果
您将在 Arduino 串行监视器上看到传感器测量的距离(以英寸和厘米为单位)。