在本次课程中中,我们将了解如何使用超声波传感器HC-SR04,了解它的工作原理以及学会如何与NodeMCU进行连接。当然了还能学会如何使用HC-SR04进行距离的测量。
在搭建电路之前,先来了解一下什么是HC-SR04传感器?
由名称可以知道,超声波传感器可以通过使用超声波来测量距离。传感器头发射超声波并接收从目标反射回来的波。超声波传感器通过测量发射和接收之间的时间来测量到目标的距离。当然,简单来说,超声波传感器是通过使用声波来测量物体的距离的装置。它通过发出特定频率的声波来测量距离,并等待该声波反弹。通过记录在产生的声波和声波反弹之间所花费的时间,可以计算传感器和物体之间的距离。
接下来我们开始来搭建硬件。
目录
步骤1:材料准备
需要准备的元器件清单:
硬件要求
NodeMCU开发板
HC-SR04(超声波传感器)
面包板
跳线
*USB连接线
软件要求
*Arduino IDE
接下来我们开始搭建电路。
步骤2:原理说明
HC-SR04规格
电源:5v DC
测距距离:2cm至500cm
超声频率:40k Hz
步骤3:使用HC-SR04
超声波模块到底是怎么运行的呢?
在使用之前我们必须弄清楚这个传感器的运行方法,因为传感器本身只是把它的“ECHO”引脚保持在高电平,使之持续一段时间,这对应于从发送的波形到接收反射(回波)所花费的这一段时间。
模块发出一阵声波,同时向回声引脚施加电压。
该模块从声波接收反射并从回波引脚消除电压。
在测距的时候,超声波传感器中产生脉冲将数据发送到NodeMCU或任何其它的微控制器。
起始脉冲约为10us,基于距离的PWM信号将为150 us-25us。如果没有障碍物,则NodeMCU生成38us脉冲,以确认没有检测到物体。
在读取HC-SR04测的距离之前,得先了解如何计算距离的,这有一个公式。
公式:
Distance = 1/2×T×C
其中Distance是距离,T是发射和接收之间的时间,C是声速。
(该值乘以1/2,因为T是返回距离的时间。)
步骤4:连接HC-SR04
电路连接的方法如下:
HC-SR04传感器插到面包板
HC-SR04传感器Vcc连接到NodeMCU + 3.3v
HC-SR04传感器GND连接到NodeMCU GND
HC-SR04传感器Trig Pin连接到NodeMCU数字I / O D4
HC-SR04传感器Echo Pin连接到NodeMCU数字I / O D3
在开始编程之前,您需要安装Arduino IDE。
要在Arduino IDE中设置好NodeMCU的相关设置,不懂的可以回去看前面的课程。
步骤5:开始编程
本节课程序:
//定义引脚号constinttrigPin =2;// D4constintechoPin =0;// D3//定义变量floattime;intdistance;void setup() { pinMode(trigPin,OUTPUT);//将trigPin设置为输出pinMode(echoPin,INPUT);//将echoPin设置为输入Serial.begin(9600);//开始串行通讯}void loop() {//清除trigPindigitalWrite(trigPin,LOW); delayMicroseconds(2);//将trigPin设置为HIGH状态10微秒digitalWrite(trigPin,HIGH); delayMicroseconds(10); digitalWrite(trigPin,LOW);//读取echoPin,返回声波行进时间(以微秒为单位)duration = pulseIn(echoPin,HIGH);//计算距离distance = time *0.034/2;//打印串行监视器上的距离Serial.print("Distance:"); Serial.println(distance); delay(2000);}
步骤6:输出演示
程序下载进开发板之后就可以开始测试了
您可以在串行监视器中看到超声波传感器的读数。
后面,也可以测量物体的距离,大家自己尝试一下。
提示:您还可以将LED和蜂鸣器连接起来,当超声波测到的距离在什么范围时就LED亮起,蜂鸣器响。
步骤7:距离测量
距离测量的时候,哪一个卡片啥的在前面挡住就可以测出距离,可以使用钢尺量一下是否精确,不精确的话在程序上可进行相应的调整,想知道调整方法,可以在下面留言。
更多相关教程请访问(趣讨教创客资源分享平台)www.qutaojiao.com