0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

带超声波传感器的ESP32的制作

454398 来源:网络整理 作者:网络整理 2019-11-20 09:39 次阅读

第1步:WiFi NodeMCU-32S ESP-WROOM-32

带超声波传感器的ESP32的制作

第2步:显示

对于显示器,在此程序集中,我们展示了如何使用I2C,该I2C允许仅通过两根电线发送大量信息

第3步:超声波传感器

我们解释说HC-SR04是最常见的超声波传感器,广泛用于Arduino,既便宜又容易找到。请记住,它可以测量的最小距离是2英寸,最大距离是4米。另一个细节是5伏特为其供电。

步骤4:连续蜂鸣器

步骤5:LEDs

有4个带220欧姆电阻的彩色LED。

步骤6:组装

HC-SR 04的主要细节是它具有电源,并使用两个引脚,即触发器和Echo,它们出现在源代码中。

步骤7:库

在此程序集中,我们使用了两个库:TM1637Display和Ultrasonic。 PDF文件包含两个链接的下载地址:http://www.fernandok.com/2017/12/sensor-ultrassonico-com-esp32.html

步骤8:源代码

在这一部分中,您可以看到有关项目操作的演示。在代码中,我们已经声明了TM1637Display和Ultrasonic,其读取范围为250毫秒。这是选择的时间,以避免数字快速变化。接下来,我们定义用于LED和蜂鸣器的引脚。我声明了另一个变量“ unsigned int”,它将保存设备的距离。

//Biblioteca responsável para comunicação com o display de 7 segmentos

#include

//Carrega a biblioteca do sensor ultrassonico

#include 《 ultrasonic.h》

#define INTERVALO_LEITURA 250 //(ms)

//definição dos PINOS que utilizaremos para os LEDS e o BUZZER

#define PIN_BLUE_LED 16

#define PIN_GREEN_LED 17

#define PIN_YELLOW_LED 18

#define PIN_RED_LED 19

#define PIN_BUZZER 21

//variável responsável por armazenar a distância lida pelo sensor ultrassônico

unsigned int distancia = 0;

传感器和显示

在此步骤中,我们定义用于控制超声传感器和显示器的对象的引脚和构造函数。

//conexão dos pinos para o sensor ultrasonico

#define PIN_TRIGGER 4

#define PIN_ECHO 5

//Inicializa o sensor nos pinos definidos acima

Ultrasonic ultrasonic(PIN_TRIGGER, PIN_ECHO);

// Module connection pins (Digital Pins)

#define CLK 14

#define DIO 13

//Inicializa o display nos pinos definidos acima

TM1637Display display(CLK, DIO);

设置

在此功能中,我们以9600的速度初始化串行,配置引脚,然后配置显示器的亮度。

void setup()

{

Serial.begin(9600);

configurarPinos();

//configura o brilho do display com valor máximo

display.setBrightness(0x0a);

Serial.println(“Setup.。.”);

}

引脚配置

在这里,我们将四个LED和蜂鸣器都设置为pinMode,均为OUTPUT,因为它们是输出。

/*

CONFIGURA O MODOS DE CADA UM DOS PINOS QUE UTILIZAREMOS COMO SAIDA

*/

void configurarPinos()

{

pinMode(PIN_BLUE_LED, OUTPUT);

pinMode(PIN_GREEN_LED, OUTPUT);

pinMode(PIN_YELLOW_LED, OUTPUT);

pinMode(PIN_RED_LED, OUTPUT);

pinMode(PIN_BUZZER, OUTPUT);

}

回路

在“循环”功能中,我们进行了距离和延迟检查,即读取间隔。

void loop()

{

verificarDistancia();

delay(INTERVALO_LEITURA);

}

获取距离

现在,我们要读取传感器计算出的当前距离。

/*

FAZ A LEITURA DA DISTANCIA ATUAL CALCULADA PELO SENSOR

*/

int getDistance()

{

//faz a leitura das informacoes do sensor (em cm)

int distanciaCM;

long microsec = ultrasonic.timing();

// pode ser um float ex: 20,42 cm se declarar a var float

distanciaCM = ultrasonic.convert(microsec, Ultrasonic::CM);

return distanciaCM;

}

检查距离

我们要检查4位显示屏上显示的距离。然后,我们擦除4个LED并使蜂鸣器静音。这种情况可用于许多应用程序。

/*

VERIFICA A DISTANCIA ATUAL QUE O SENSOR ULTRASONIC ESTA LENDO

E EM SEGUIDA, IMPRIME O VALOR NO DISPLAY, E ACENDE O LED CORRESPONDENTE

*/

void verificarDistancia()

{

//recupera a distância atual lida pelo sensor

distancia = getDistance();

//imprime no display o valor lido

display.showNumberDec(distancia);

//esse FOR tem como objetivo apagar todos os LEDS que estejam acesos.

for(int i=PIN_BLUE_LED; i《=PIN_RED_LED; i++)

{

digitalWrite(i, LOW);

}

//desliga o BUZZER

digitalWrite(PIN_BUZZER, LOW);

//caso a distancia lida seja menor ou igual a 5, tomaremos como uma distância de perigo

//então acenderemos o LED VERMELHO e ligaremos o BUZZER

if( distancia 《= 5 )

{

digitalWrite(PIN_RED_LED, HIGH);

digitalWrite(PIN_BUZZER, HIGH);

}

//caso a distancia seja maior que 5 e menor ou igual a 20,

//tomaremos como uma distância de atenção, e ligaremos o LED AMARELO

else if(distancia 《=20)

{

digitalWrite(PIN_YELLOW_LED, HIGH);

}

//caso a distancia seja maior que 20 e menor ou igual a 40,

//tomaremos como uma distância segura, e ligaremos o LED VERDE

else if(distancia 《= 40)

{

digitalWrite(PIN_GREEN_LED, HIGH);

}

//para distâncias maiores que 40, tomaremos como uma distância sem perigo

//acenderemos o LED AZUL para indicar

else

{

digitalWrite(PIN_BLUE_LED, HIGH);

}

}
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 超声波传感器

    关注

    18

    文章

    551

    浏览量

    35597
  • ESP32
    +关注

    关注

    13

    文章

    896

    浏览量

    15804
收藏 人收藏

    评论

    相关推荐

    超声波传感器的工作原理 超声波传感器声波频率是多少

    超声波传感器是一种常用的非接触式测距传感器,以其精确测量距离、高可靠性和广泛应用而受到广泛青睐。超声波传感器工作原理基于
    的头像 发表于 02-21 15:30 549次阅读

    超声波传感器的工作模式有哪些

    超声波传感器是一种利用超声波的特性进行测量和检测的设备。它通过发射超声波,然后接收反射回来的超声波,通过计算发射和接收之间的时间差,来确定物
    的头像 发表于 02-16 10:21 317次阅读

    超声波液位传感器的工作原理 超声波液位传感器型号

    超声波液位传感器是一种常用于测量液体或固体物料高度的装置。其工作原理基于超声波传播和回波反射的原理,通过发送超声波脉冲并测量回波的时间来确定物体的距离。下面将详细介绍
    的头像 发表于 01-30 09:52 256次阅读

    超声波传感器形成超声波的原理

    超声波传感器发射头是利用压电效应来实现产生超声波的,就是在发射头不断给出一定频率的如40KHz的电压信号,就可以产生超声波
    的头像 发表于 01-29 10:23 558次阅读

    超声波传感器超声波测距原理分析

    声音是由振动产生的,能够产生超声波的装置就是超声波传感器,习惯上称为超声换能器,或者超声探头。
    发表于 01-29 09:20 255次阅读
    <b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>和<b class='flag-5'>超声波</b>测距原理分析

    超声波传感器的硬件组成及类型

    超声波传感器的硬件组成如图所示。超声波发送电路由晶体管,电阻,T/R40-16 压电陶瓷超声波传感器和变压器组成。
    发表于 01-22 17:31 475次阅读
    <b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>的硬件组成及类型

    超声波测距原理 超声波测距离传感器接线方法

    超声波测距是一种常用的测距方法,通过发射超声波脉冲,利用其在空气中传播速度较快的特点,测量出从传感器到目标物体的时间差,并进而计算出距离。超声波测距具有非接触式、高精度、可靠性高等特点
    的头像 发表于 01-22 15:22 620次阅读

    一文详解:如何选择超声波传感器

    随着技术的不断发展,超声波传感技术已经广泛应用于许多领域。超声波传感器可以通过发射和接收超声波来测量距离、检测障碍物和监测液位。当您需要选择
    的头像 发表于 12-29 14:34 254次阅读

    什么是超声波传感器?光学与超声波传感器的对比

    传感器头发射超声波,并再次通过传感器头接收目标物反射回来的超声波超声波传感器可通过测量从发
    发表于 11-06 17:41 413次阅读
    什么是<b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>?光学与<b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>的对比

    涂鸦超声波液位传感器有哪些优势

    涂鸦超声波液位传感器是一种先进的技术,用于检测液体的水位。它利用超声波技术来测量液体的高度,通过发射和接收超声波信号来实现。该传感器具有高精
    的头像 发表于 07-17 14:45 260次阅读

    超声波传感器测量距离计算实例

    该项目将向您展示如何使用超声波传感器计算距离。它将分为三个部分: 编程超声波传感器 + 将其显示到串行监视器上 如何在 LCD 上显示距离 将中断与
    发表于 07-07 14:42 2次下载
    <b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>测量距离计算实例

    南京超声波传感器怎么调节

    南京超声波传感器是一种常用的测距传感器,可以通过发射超声波信号并接收回波来测量物体与传感器之间的距离。调节
    的头像 发表于 07-07 01:23 1287次阅读

    超声波传感器的种类、优点及具体应用

    超声波传感器是一种基于超声波原理来探测物体距离、位置、形状、速度等参数的传感器。它通过发送超声波束到被测物体上,再接收反弹回来的回波,确定被
    的头像 发表于 06-07 16:35 3012次阅读

    A02yyuw超声波传感器Esp8266问题求解

    我最近使用了 A20yyuw 超声波传感器。我一直在通过与串行监视上的 esp8266 接口来测试传感器,它得到“错误”读数,所以我打印了
    发表于 05-10 09:52

    超声波式液位传感器的应用

    超声波技术是传感器技术中的一种重要应用,而超声波式液位传感器则是应用最为广泛的类型之一。超声波式液位传感
    发表于 05-05 15:19