【史上最全面esp32教程】激超声波模块测距篇 您所在的位置:网站首页 超声波测距计算公式表图片下载手机 【史上最全面esp32教程】激超声波模块测距篇

【史上最全面esp32教程】激超声波模块测距篇

2024-07-01 15:59| 来源: 网络整理| 查看: 265

文章目录 前言超声波测距的原理操作连线说明使用方法 示例总结

前言

超声波测距常用于小车避障,当测距值为几时,他就会自动的转向,从而实现避障功能。

超声波测距的原理 esp32 控制超声波测距发出超声波遇到障碍物反弹超声波计算接收超声波所用的时间使用这个公式计算距离,单位为cm:Time* 0.034 / 2; 操作 连线说明 名称pin脚功能GNDGNDVCCVCCTrig22发送超声波echo23接收返回的超声波 使用方法

发送超声波引脚和接收超声波引脚初始化如下:

pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);

OUTPUT:发送 INPUT:接收

发出超声波: 先高后低

digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW);

计算超声波回波的时间:

long duration = pulseIn(echoPin, HIGH);

利用公式进行计算:

long distance = duration * 0.034 / 2;

distance 就是我们的距离了。

测距代码如下:

const int trigPin = 22; const int echoPin = 23; void setup() { //设置超声波引脚为输入/输出 pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(115200); } void loop() { //发出超声波脉冲 digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); //计算超声波回波的时间 long duration = pulseIn(echoPin, HIGH); //计算物体的距离 long distance = duration * 0.034 / 2; //输出物体的距离 Serial.println(distance); delay(700); }

注意:如果不延时,会出现错误信息。

示例

当距离大于5时,灯不闪,当距离小于5时,常亮: 代码如下:

const int trigPin = 22; const int echoPin = 23; const int Led = 2; void setup() { //设置超声波引脚为输入/输出 pinMode(trigPin, OUTPUT); pinMode(Led, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(115200); } void loop() { //发出超声波脉冲 digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); //计算超声波回波的时间 long duration = pulseIn(echoPin, HIGH); //计算物体的距离 long distance = duration * 0.034 / 2; if(distance >= 10) { digitalWrite(Led,LOW); } else if(distance


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有