Esp32 é uma placa de IoT baseada em microcontrolador comumente usada. É uma placa de microcontrolador de baixo custo e baixa potência que pode controlar vários dispositivos e também pode atuar como escravo em projetos de IoT. O ESP32 melhora a experiência dos usuários com o mundo da IoT, pois integrou os módulos Wi-Fi e Bluetooth.
Como estamos falando de aplicações sem fio do ESP32, também podemos integrar sensores externos para executar tarefas diferentes, como medir a distância dos objetos usando sensores ultrassônicos. Agora vamos falar sobre como fazer isso em detalhes.
Esp32 com sensor ultrassônico HC-SR04
O ESP32 pode ser facilmente integrado a um sensor ultrassônico. Só precisamos de dois fios para medir qualquer distância do objeto sem a necessidade de uma régua ou fita adesiva. Tem uma vasta aplicação onde é difícil usar qualquer outro meio para medir a distância. Vários sensores estão disponíveis, que podem ser integrados ao ESP32.
HC-SR04 é um sensor ultrassônico amplamente utilizado com ESP32. Este sensor determina o quão longe um objeto está. Usa sonar para determinar a distância do objeto. Normalmente, ele tem uma boa gama de detecção com precisão de 3mm, mas às vezes é difícil medir a distância de materiais macios, como o pano. Tem um transmissor e receptor embutido. A tabela a seguir descreve as especificações técnicas deste sensor.
Características | Valor |
Tensão operacional | 5V DC |
Corrente operacional | 15m |
Frequência de operação | 40kHz |
Alcance min | 2cm/ 1 polegada |
Faixa máxima | 400cm/ 13 pés |
Precisão | 3mm |
Ângulo de medição | <15 degree |
HC-SR04 PILOUT
Sensor ultrassônico HC-SR04 tem quatro pinos:
Como as obras ultrassônicas
Uma vez que o sensor ultrassônico esteja conectado ao ESP32, o microcontrolador gerará um pulso de sinal no Trig alfinete. Depois que os sensores recebem uma entrada no pino TRAG, uma onda ultrassônica é gerada automaticamente. Esta onda emitida atingirá a superfície de um obstáculo ou objeto cuja distância devemos medir. Depois disso, a onda ultrassônica voltará ao terminal do receptor do sensor.
O sensor ultrassônico detectará a onda refletida e calculará o tempo total tomado por onda de sensor para objeto e voltará ao sensor novamente. O sensor ultrassônico gerará um pulso de sinal no pino de eco que está conectado aos pinos digitais ESP32 assim que o ESP32 recebe sinal do Echo Pin, ele calcula a distância total entre o objeto e o sensor usando Formula a distância.
Aqui, dividimos a distância com 2 porque multiplicar a velocidade com o tempo dará a distância total do objeto ao sensor e de volta ao sensor após refletir da superfície do objeto. Para obter uma distância real, dividimos essa distância em metade.
O circuito
Interface Esp32 com sensor ultrassônico usando os quatro pinos, como mostrado na imagem abaixo:
A seguir, a configuração será seguida para conectar o ESP32 com sensor ultrassônico. Os pinos Trig e Echo serão conectados no GPIO 5 e 18 pinos de ESP32.
Sensor ultrassônico HC-SR04 | PIN ESP32 |
Trig | GPIO 5 |
Eco | GPIO 18 |
Gnd | Gnd |
VCC | Vin |
Hardware
Para interface Esp32 com sensor ultrassônico, é necessário o equipamento:
Código em Arduino IDE
Para programar ESP32, usaremos o Arduino IDE, pois o ESP32 e o Arduino têm muito em comum na programação, por isso é melhor usar o mesmo software para programá -los. Abra o Arduino IDE e digite o seguinte código:
const int trig_pin = 5;O código acima explica o funcionamento do sensor ultrassônico com o módulo ESP32. Aqui começamos nosso código definindo pinos de gatilho e eco. O pino 5 e o pino 18 do ESP32 são definidos como gatilho e pino de eco, respectivamente.
const int trig_pin = 5;A velocidade do som é definida como 0.034 cm/EUA a 20ºC. Estamos tomando valores em cm/nós para mais precisão.
#Define Sound_speed 0.034Então inicializamos duas variáveis duração e Dist_cm do seguinte modo
longa duração;A variável de duração salvará o tempo de viagem de onda ultrassônica. Dist_cm salvará a distância medida.
No configurar() Parte primeiro comunicação inicializada definindo a taxa de transmissão. Dois pinos definidos anteriormente serão declarados como entrada e saída. Pino de gatilho 5 é definido como saída enquanto pino de eco 18 é definido como entrada.
Serial.começar (115200);No laço() Parte do código primeiro vamos limpar o pino de gatilho, definindo -o baixo e dará 2 microssegundos atrasos, então definiremos esse pino tão alto para 10 microssegundos. A razão pela qual estamos fazendo isso é garantir a leitura correta durante a medição da distância, ela nos dará um pulso alto limpo.
DigitalWrite (trig_pin, baixo); /* pino de gatilho é limpo*/Próximo usando Pulsein Função Vamos ler o tempo de viagem de ondas sonoras. Pulsein A função lê uma entrada como alta ou baixa. Ele retorna o comprimento do pulso em microssegundos usando esse comprimento de pulso, podemos calcular o tempo total tomado por onda do sensor para o corpo do objeto e de volta ao recebimento da extremidade do sensor.
duração = pulseína (echo_pin, alto);Em seguida, usando a fórmula de velocidade, calculamos a distância total do objeto:
dist_cm = duração * sound_speed/2;A distância medida do objeto é impressa no monitor serial:
Serial.print ("Distância do objeto em (cm):");Quando o objeto está próximo
Agora coloque um objeto próximo ao sensor ultrassônico e verifique a distância medida na janela do monitor serial do Arduino IDE.
Saída
A distância do objeto é mostrada no terminal de saída. Agora o objeto é colocado a 5 cm do sensor ultrassônico.
Quando o objeto está longe
Agora, para verificar nosso resultado, colocaremos objetos longe do sensor e verificaremos o funcionamento do sensor ultrassônico. Coloque objetos como mostrados na imagem abaixo:
Saída
A janela de saída nos dará uma nova distância e, como podemos ver que o objeto está longe do sensor, de modo que a distância medida é de 15 cm do sensor ultrassônico.
Conclusão
A distância de medição tem uma ótima aplicação quando se trata de robótica e outros projetos, existem maneiras diferentes de medir a distância um dos métodos amplamente utilizados de medição de distância com o ESP32 está usando um sensor ultrassônico. Aqui, este artigo cobrirá todas as etapas necessárias para integrar e começar a medir sensores com ESP32.