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

第1步:wifi nodemcu-32s esp-wroom-32
第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);
}
}


Vishay为L-NS系列低阻值表面贴装薄膜片式电阻扩充外形尺寸
变压器发生火灾和爆炸的原因分析
AT&T低频段5G网络范围新覆盖90个新市场,正在慢慢赶上T-Mobile
下班了 电脑关机成问题!关还是不关?来看看
安信可TurMass-LPWAN TK8610 evb开发板简介
带超声波传感器的ESP32的制作
俄罗斯科技巨头Yandex推出智能音箱Station
华为nova 3e发布 刘海屏搭配四种颜色可供选择
新品推荐|1机3用手持式蓝牙远距离测温与测振复合传感器-VB13
电池修复 电瓶清零反充
随身携带 aigo移动固态硬盘S7 Pro高速传输不掉速
VR隔离探视系统:当下与未来发展状况
以色列摄像头技术公司Corephotonics对苹果提起诉讼
华为云连接CC :全球互通,万物可连
保时捷电动汽车Tycan碰撞测试中获五星
同步电动机的启动与失步
将人工智能和MIT带到中学教室
看图说话 三张图秒懂中国无人机政策
David Patterson新年首发声:RISC-V开源的产学研之路该怎么走?
眼观六路、耳听八方:汽车雷达系统将成为主流配置