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

    文章

    583

    浏览量

    35936
  • ESP32
    +关注

    关注

    18

    文章

    971

    浏览量

    17281
收藏 人收藏

    评论

    相关推荐

    倍加福发布USi-industry超声波传感器系统

    倍加福超声波家族再添新成员!在丰富的超声波传感器产品组合中,新增一款功能强大的USi-industry超声波传感器系统。凭借其紧凑的设计、独
    的头像 发表于 12-09 11:22 270次阅读

    典型的超声波传感器及其应用领域

    超声波传感器是一种利用超声波信号进行检测和测量的传感器,广泛应用于工业、医疗、环境监测等领域。 一、超声波
    的头像 发表于 09-07 11:40 1534次阅读

    超声波传感器是模拟还是数字

    超声波传感器是一种利用超声波信号进行距离测量、物体检测、流速测量等的传感器。它们广泛应用于工业自动化、机器人导航、汽车防撞系统、医疗诊断等领域。超声
    的头像 发表于 09-07 11:34 556次阅读

    超声波传感器输出的是什么信号

    超声波传感器是一种利用超声波进行距离测量、物体检测和流速测量的传感器。它通过发射超声波信号并接收反射回来的信号,根据时间差计算距离或速度。
    的头像 发表于 09-07 11:32 731次阅读

    单片机如何使用超声波传感器进行距离测量

    超声波传感器是一种利用超声波信号进行非接触式测量的传感器,广泛应用于工业、生物医学、自动化控制等领域。在单片机系统中,超声波
    的头像 发表于 08-05 14:56 400次阅读

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    超声波传感器的工作原理 超声波传感器的应用

    超声波传感器是一种基于超声波的无接触式测距传感器,可以广泛应用于工业、医疗、军事等领域。本文将详细介绍超声波
    的头像 发表于 01-18 14:04 1735次阅读

    超声波传感器声波频率是多少

    超声波传感器一般使用40kHz左右。超声波传感器是一种常用的非接触测距装置,利用超声波的传播速度测量目标物体与
    的头像 发表于 01-16 09:47 1864次阅读

    超声波传感器测距离的原理

    超声波传感器测距离的原理是利用声波在空气中的传播速度测量物体与传感器之间的距离。具体而言,传感器发送出一个
    的头像 发表于 01-15 09:41 2929次阅读