Arduino 教程--第三十九课 Arduino 超声波传感器

更新时间:2024-04-23 09:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第三十九课 Arduino 超声波传感器

HC-SR04超声波传感器使用声纳来确定物体的距离,就像蝙蝠一样。它提供了非常好的非接触范围检测,准确度高,读数稳定,易于使用,尺寸从2厘米到400厘米或1英寸到13英尺不等。

其操作不受阳光或黑色材料的影响,尽管在声学上,柔软的材料(如布料等)可能难以检测到。它配有超声波发射器和接收器模块。

技术规格

电源 - + 5V DC 静态电流 - <2mA 工作电流 - 15mA 有效角度 - <15°

测距距离 - 2厘米-400厘米/1英寸-13英尺 分辨率 - 0.3厘米 测量角度 - 30度

必需的组件

你将需要以下组件:

? ? ?

1 × Breadboard 面包板 1 × Arduino Uno R3

1 × 超声波传感器(HC-SR04)

程序

按照电路图进行连接,如下图所示。

草图

在计算机上打开Arduino IDE软件。使用Arduino语言进行编码控制你的电路。通过单击“New”打开一个新的草图文件。

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(\ Serial.print(cm); Serial.print(\ 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。 将Trigger连接到Arduino板上的数字引脚7。 将Echo连接到Arduino板上的数字引脚6。 将GND连接到Arduino上的GND。

在我们的程序中,我们通过串口显示了传感器测量的距离,单位为英寸和厘米。

结果

你将在Arduino串口监视器上看到传感器测量的距离,单位为英寸和厘米。

本文来源:https://www.bwwdw.com/article/goap.html

Top