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

    文章

    621

    浏览量

    37882
  • ESP32
    +关注

    关注

    24

    文章

    1083

    浏览量

    20851
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是超声波原理的液位传感器

    超声波液位传感器是一种基于超声波反射测距原理的非接触式液位测量设备,核心功能是通过发射与接收超声波信号,计算声波传播时间差来反推容器内液位高
    的头像 发表于 11-25 11:32 508次阅读
    什么是<b class='flag-5'>超声波</b>原理的液位<b class='flag-5'>传感器</b>?

    超声波传感器线圈:自动驾驶实现精确实时近距离感知的关键

    超声波传感器线圈是自动驾驶系统中不可或缺的组成部分。随着自动驾驶技术的快速发展,各类传感器成为智能汽车感知环境的关键,不仅保障行车安全,也提升了驾驶效率与体验。在这其中,超声波
    的头像 发表于 11-12 16:03 148次阅读

    无线超声波测距传感器:精准感知,开启智能测距新时代

    在科技飞速发展的今天,距离测量不再局限于传统的卷尺、激光等工具,无线超声波测距传感器凭借其独特的优势,正逐渐成为工业自动化、智能家居、汽车安全等领域的“智慧之眼”,为我们的生活和工作带来前所未有
    的头像 发表于 09-09 08:35 580次阅读

    超声波清洗的原理是什么?超声波清洗是如何起作用的?

    超声波清洗通常包括一个超声波发生,它会产生高频声波,通常在20,000赫兹(Hz)到1,000,000赫兹之间。这些
    的头像 发表于 05-26 17:21 2185次阅读
    <b class='flag-5'>超声波</b>清洗的原理是什么?<b class='flag-5'>超声波</b>清洗是如何起作用的?

    超声波多功能气象传感器:精准感知,气象监测新利器

    在气象监测领域,精准的数据是预测天气变化、保障农业生产、指导工业生产以及守护公众安全的关键。如今,超声波多功能气象传感器凭借其卓越的性能,成为了这一领域的新利器,为气象监测带来了全新的变革。 超声波
    的头像 发表于 05-16 08:45 515次阅读

    超声波液位传感器的应用和原理,这回终于搞明白了!

    深入探讨超声波液位传感器的工作原理、显著优点、广泛应用以及安装时的注意事项,您领略这一科技产品的魅力。 1 超声波液位传感器的工作原理  
    的头像 发表于 04-20 17:50 1213次阅读

    TC系列密闭式超声波传感器产品说明书

    密闭式超声波传感器主要由铝壳和压电陶瓷组成,采用压电原理,利用压电晶片的压电 和逆压电效应进行超声波信号的接收与发射,从而通过超声波信号的传递时间来算出
    发表于 02-27 13:46 0次下载

    FS系列超声波流量传感器产品说明书

    FS系列超声波流量传感器用于测量液体流量,测量原理为通 过测量超声波在流体中顺流和逆流传播的时间差来计算流速和流 量,通过检测顺游和逆游的超声波传播时间,并通过电路对
    发表于 02-27 13:41 8次下载

    超声波传感器:未来发展趋势与技术前沿

    在当今快速发展的科技时代,传感器作为物联网、智能制造和自动化领域的核心部件,正经历着前所未有的变革。其中,超声波传感器作为一种非接触式测量技术,因其高精度、低成本和广泛的应用领域而备受瞩目。那么
    的头像 发表于 02-26 18:54 732次阅读

    英飞凌推出新型超声波传感器,开拓全新应用领域

    电子发烧友网综合报道 超声波的应用非常广泛,比如在医疗领域,超声波可以用于各种诊断,甚至是清除结石;在工业领域可以用于无损检测、焊接等。其中关键的超声波传感器过去一般是采用压电材料为主
    发表于 02-17 09:16 1124次阅读
    英飞凌推出新型<b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>,开拓全新应用领域

    英飞凌发布基于MEMS的超声波传感器单芯片解决方案

    英飞凌科技股份公司近期在电容式微机械超声波传感器(CMUT)技术领域取得了显著突破,并成功推出了首款高度集成的单芯片解决方案。 这款创新的解决方案基于微机电系统(MEMS)技术,融合了超声波
    的头像 发表于 02-10 13:43 1070次阅读

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

    在科技的浩瀚星空中,传感器技术如同一颗璀璨的星辰,不断引领着各个行业的创新与发展。其中,超声波传感器以其独特的工作原理和广泛的应用领域,成为了传感器家族中的重要成员。
    的头像 发表于 02-06 14:17 1642次阅读

    超声波传感器的种类原理与设计应用的注意要点

    超声波传感器是一种利用超声波来检测物体位置、距离或速度的传感设备。其工作原理是发射高频声波(通常超过20kHz),然后接收反射回来的
    的头像 发表于 01-26 17:15 2363次阅读
    <b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>的种类原理与设计应用的注意要点

    超声波风速风向传感器:科技与自然风的对话者!

    超声波风速风向传感器,作为科技与自然风的对话者,以其独特的优势在风速和风向测量中发挥着重要作用 ‌。 超声波风速风向传感器的工作原理基于超声波
    的头像 发表于 01-03 09:20 833次阅读

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

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