ESP8266-Arduino编程实例-US-026超声波检测仪驱动

US-026超声波检测仪驱动

1、US-026介绍

US-026是HC-SR04的升级版,是一种高性能、低成本的超声波模块。 该模块采用CS100,一款高性价比的超声波测距芯片。

在这里插入图片描述

测量精度高,测量距离大于6米。一致性好,稳定性好。
可实现2-6m非接触测距。工作电压3V-5.5V,工作电流5.3mA,支持GPIO通讯方式。
US-026 具有 4 Pin 电源和通讯接口。它是单面印制板。 4针焊接在背面(芯片侧)。
向 Trig 引脚输入一个 10uS 以上的高电平,系统会发出 8 个 40KHZ 的超声波脉冲。系统检测回波信号并通过 Echo 引脚输出。根据 ECHO 引脚输出的高电平持续时间计算距离。

1.本模块性能稳定,测量距离准确。
2.模组高精度、盲区(2cm)超近距离、稳定的量程是本产品成功推向市场的坚实基础。
3.使用IO触发测距,至少10us的高电平信号。
4.模块自动发送8个40khz方波,自动检测是否有信号返回。
5.有信号返回,通过IO输出一个高电平,高电平持续时间是超声波从发射到返回的时间。

US-026具有如下特性:

  • 工作电压:DC 3V-5.5V
  • 工作电流:5.3mA
  • 电平输出:高5V
  • 电平输出:底部0V
  • 感应角度:不大于15度
  • 检测范围:2cm-600cm

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • US-026传感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

传感器引脚 ESP8266开发板引脚
Vin 5v
Gnd Gnd
D7 Trigger
D8 Echo

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const int pingPin = D7; // Trigger Pin of Ultrasonic Sensor
const int echoPin = D8; // 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;
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126863783