本文章为你介绍如何使用Arduino开发板和超声波测距模块来控制LED灯的明灭。
所需硬件
-Arduino开发板
-LED
-超声波测距模块
下面主要为大家说明一下超声波模块。
超声波传感器通过采用超声波回波测距原理,运用精确的时差测量技术,检测传感器与目标物之间的距离,超声波的相关应用有很多,通过超声波测距,并联其他模块,可以实现很多功能,如水位预警、车辆倒退测距警报灯。本次实验使用了HC-SR04超声波传感器,如下图:
如上图所示,其中有四个接口端分别为VCC供5V电压,GND为地线,TRIG触发控制信号输入,ECHO回响信号输出。
主要技术参数:
使用电压 | 静流 | 感知角度 | 探知距离 | 精度 |
---|---|---|---|---|
DC5v | 小于2mA | <=15度 | 2cm---450cm | 可达0.2cm |
电路连接图
搭建电路时,将LED的正极引脚(长腿的一端)连接到13引脚,将LED的负极引脚(短腿的一端)连接到Arduino的GND;将超声波模块的VCC、GND、TRIG、ECHO四个接口端分别连接到Arduino左边的5V 、GND和右边的2、3接口。
当电路搭建完后,将Arduino插入到计算机中,启动Arduino IDE,并输入代码。
代码
const int TrigPin = 2;
const int EchoPin = 3;
float cm;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
pinMode(13,OUTPUT);
}
void loop()
{
digitalWrite(13, LOW);
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58.0;
cm = (int(cm * 100.0)) / 100.0;
if (cm>=2 && cm<=10)
digitalWrite(13, HIGH);
}