ESP8266连接超声波模块


ESP8266连接超声波模块

HC-SR04四脚模块:

超声波模块到底是怎么运行的呢?

在使用之前我们必须弄清楚这个传感器的运行方法,因为传感器本身只是把它的“ECHO”引脚保持在高电平,使之持续一段时间,这对应于从发送的波形到接收反射(回波)所花费的这一段时间。

模块发出一阵声波,同时向回声引脚施加电压。

该模块从声波接收反射并从回波引脚消除电压。

在测距的时候,超声波传感器中产生脉冲将数据发送到NodeMCU或任何其它的微控制器。

起始脉冲约为10us,基于距离的PWM信号将为150 us-25us。如果没有障碍物,则NodeMCU生成38us脉冲,以确认没有检测到物体。

image-20220323221536349

image-20220323221734348

  • 接线:esp8266——HC-SR04
  • vin(5v)——vcc
  • TRIG——D4(gpio2)
  • ECHO——D3(gpio0)
  • GND——GND

读数代码:

const int trigPin = 2;  //D4
const int echoPin = 0;  //D3
float distance;
// 定义变量
void setup() {
    Serial.begin(9600);
    pinMode(trigPin, OUTPUT); // 将trigPin设置为输出
    pinMode(echoPin, INPUT); // 将echoPin设置为输入
    
}
void loop() {
    // Clears the trigPin
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    
    //将trigPin设置为HIGH状态10微秒
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    
    // 读取echoPin,以微秒为单位返回声波传播时间
    distance =pulseIn(echoPin, HIGH) / 58.00;
    
    // 打印距离在串行监视器
    Serial.print("Distance: ");
    Serial.print(distance);
    Serial.println("cm");
    delay(500);
}
  • 探测距离计算公式:

image-20220323222157247

注意

一个系统内一定要共地,外接电源多个时也要共地,不然通信信息读取会有问题。

代码补充

由于D4口连接了板内的一个LED灯,所以使用D4口时,rst板会发生无法读数的结果,所以建议不要使用D0和D4口。

//const int trigPin = 2;  //D4
//const int echoPin = 0;  //D3
const int trigPin = 5;  //D1
const int echoPin = 4;  //D2
float distance;
// 定义变量
void setup() {
    Serial.begin(115200);
    pinMode(trigPin, OUTPUT); // 将trigPin设置为输出
    pinMode(echoPin, INPUT); // 将echoPin设置为输入
    
}
void loop() {
    // Clears the trigPin
    Serial.print("begin!");
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    
    //将trigPin设置为HIGH状态10微秒
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    
    // 读取echoPin,以微秒为单位返回声波传播时间
    distance =pulseIn(echoPin, HIGH) / 58.00;
    
    // 打印距离在串行监视器
    Serial.print("Distance: ");
    Serial.print(distance);
    Serial.println("cm");
    delay(2000);
}

image-20220324135827172

image-20220324135910882


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM