15.超声波传感器

一、功能以及原理

HC-SR04 超声波传感器是通过发送和接收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离的一种传感器模块。与蝙蝠寻找猎物的回声定位基本原理相同,可以广泛应用于无损测量、水文液位测量、工业场地等领域。

二、引脚介绍以及对应开发板可用引脚

针脚
可连接引脚
功能
VCC
5V
提供工作电压
TROG
数字引脚
出发控制信号输入
ECHO

数字引脚

回响信号输出

GND
GND
GND

三、代码控制

传感器发射器向某一个确定的方向发射超声波的同时进行计时,超声波在碰触到障碍物之后会返回给超声波接收器一个反射波,此时停止计时,将时间纪录为 t。根据速度距离公式,结合超声波的传播速度与时间 t,可以推算出超声波发射点与所测量障碍物之间的距离为 S=340t/2。因此在代码中,需要编写测距函数,以下是示例代码。

3.1 文本代码

volatile float my_float_variable;

#define TRIG_PIN 3

#define ECHO_PIN 2

float readDistanceCM(){
   digitalWrite(TRIG_PIN, LOW);
   delayMicroseconds(2);
   digitalWrite(TRIG_PIN, HIGH);
   delayMicroseconds(10);
   digitalWrite(TRIG_PIN, LOW);
   int duration = pulseIn(ECHO_PIN, HIGH);
   return duration * 0.034 / 2;
}

void setup() {

  pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
  pinMode(13, OUTPUT);

}

void loop() {
    my_float_variable = readDistanceCM();
    if (my_float_variable < 100) {
      digitalWrite(13,HIGH);

    }
    else {
      digitalWrite(13,LOW);

    }Serial.print("Measured distance:");
    Serial.println(readDistanceCM());
    delay(0.1 * 1000);

}

3.2 图形化代码

可在“传感器”中的“超声波传感器”,找到对应图形化代码块。

图形化代码不需要额外编写函数,在传感器模块中,已经封装测距函数。

3.3 结果

编写完控制程序,模拟运行后,单击元器件能够修改传感器感知数值

四、相关案例演示

精选项目请关注 https://www.funcode.cc/simulate/?project_id=9&type=3&share_source=0

同时精选项目提供了结合超声波传感器、语音播报器搭建安全报警器的案例 https://www.funcode.cc/simulate?project_id=65&type=3&share_source=0

五、相关课程链接

B 站视频链接 https://www.bilibili.com/video/BV1XD48eeEXS/?spm_id_from=333.1387.upload.video_card.click

results matching ""

    No results matching ""