HC-SR04 com ESP32 – Curso ESP32 básico
Olá, entusiastas da eletrônica e inovação! Nesta aula, vamos conhecer o HC-SR04, um sensor ultrassônico que possibilita a detecção de distância utilizando um sonar semelhante ao utilizado por navios e morcegos. Ele verifica a distância e a comunica ao nosso microcontrolador, que, neste caso, é o ESP32. Vamos explorar seu funcionamento e aprender como utilizá-lo em projetos.
Lembre-se que esse tutorial faz parte do Curso Esp32 que compõe nosso Kit IoT ESP32 – para Professores e Makers iniciantes
Vale dizer que temos um artigo aqui no portal explicando o uso do HC-SR04 com Arduino.
Conhecendo o HC-SR04
O sensor utiliza princípios de ultrassom para medir distâncias. Ele emite um pulso ultrassônico, aguarda o retorno do eco e calcula a distância com base no tempo que o som levou para retornar. É uma ferramenta valiosa em projetos que envolvem detecção de obstáculos, sistemas de navegação e muito mais.
- Sonar inspirado na natureza: O HC-SR04 utiliza a mesma tecnologia de sonar que é encontrada em navios e morcegos para medir distâncias de forma precisa e eficiente.
- Método de medição ultrassônica: Este sensor emite pulsos ultrassônicos e mede o tempo que esses pulsos levam para retornar após atingirem um objeto. Essa técnica permite a determinação precisa da distância.
- Ampla faixa de medição: O HC-SR04 é capaz de medir distâncias em uma faixa que vai de 2 cm a 4 metros, tornando-o versátil para uma variedade de aplicações.
- Precisão notável: Com uma precisão de aproximadamente 3 mm, este sensor é capaz de fornecer leituras detalhadas, garantindo confiabilidade em projetos sensíveis à distância.
- Fácil integração: Sua simplicidade de uso e interface amigável tornam o HC-SR04 acessível mesmo para iniciantes em eletrônica, sendo amplamente utilizado em projetos DIY e educacionais.
- Ampla aplicação em automação: O HC-SR04 é uma escolha popular em projetos de automação, como robôs e sistemas de monitoramento, devido à sua capacidade de detectar objetos e obstáculos com precisão.
- Baixo custo e alto desempenho: Além de suas características impressionantes, o HC-SR04 é conhecido por ser um sensor acessível, proporcionando um excelente custo-benefício para entusiastas e projetistas.
Mergulhando na Prática
Vamos agora colocar a mão na massa! Então pegue o seu kit, pois estamos prestes a mostrar como utilizar o HC-SR04.
Componentes necessários
• ESP32
• Protoboard
• HC-SR04
• LED (qualquer cor)
• Resistor de 100 Ω
• Jumper MXM
• Buzzer Ativo
PROJETO 1
No nosso projeto inicial, estaremos focados na medição de distância utilizando o sensor ultrassônico. O objetivo é exibir, no monitor serial, a distância em centímetros do objeto detectado.
// VIDA DE SILICIO // KIT ESP32 // AULA 5 // PROGRAMA 1 : PROJETO MEDINDO A DISTÂNCIA const int PINO_TRIG = 4; // Pino D4 conectado ao TRIG do HC-SR04 const int PINO_ECHO = 2; // Pino D2 conectado ao ECHO do HC-SR04 void setup() { Serial.begin(9600); // Inicializa a comunicação serial pinMode(PINO_TRIG, OUTPUT); // Configura o pino TRIG como saída pinMode(PINO_ECHO, INPUT); // Configura o pino ECHO como entrada } void loop() { digitalWrite(PINO_TRIG, LOW); delayMicroseconds(2); digitalWrite(PINO_TRIG, HIGH); delayMicroseconds(10); digitalWrite(PINO_TRIG, LOW); long duracao = pulseIn(PINO_ECHO, HIGH); // Mede o tempo de resposta do ECHO float distancia = (duracao * 0.0343) / 2;// Calcula a distância usando a velocidade do som (aproximadamente 343 m/s) Serial.print("Distância: "); Serial.print(distancia); Serial.println(" cm"); delay(1000); // Aguarda 1 segundo antes de fazer a próxima leitura } //long -> A variável "long" é utilizada para armazenar números inteiros longos, ou seja, números inteiros maiores do que os que podem ser armazenados em uma variável "int" //delayMicroseconds -> A função delayMicroseconds() lida com microssegundos (10 elevado a -6 segundos), enquanto a função delay() lida com milissegundos (10 elevado a -3 segundos).
PROJETO 2
No projeto seguinte, incorporaremos um LED à nossa configuração. A proposta é enviar um alerta visual sempre que um objeto ultrapassar o limite de distância predefinido.
// VIDA DE SILICIO // KIT ESP32 // AULA 5 // PROGRAMA 2 : PROJETO ALERTA DE PROXIMIDADE const int PINO_TRIG = 4; // Pino D4 conectado ao TRIG do HC-SR04 const int PINO_ECHO = 2; // Pino D2 conectado ao ECHO do HC-SR047 //INCLUSÃO DO LED const int PINO_LED = 5; // Pino D5 conectado ao LED void setup() { Serial.begin(9600); // Inicializa a comunicação serial pinMode(PINO_TRIG, OUTPUT); // Configura o pino TRIG como saída pinMode(PINO_ECHO, INPUT); // Configura o pino ECHO como entrada pinMode(PINO_LED, OUTPUT); // Configura o pino LED como saída } void loop() { digitalWrite(PINO_TRIG, LOW); delayMicroseconds(2); digitalWrite(PINO_TRIG, HIGH); delayMicroseconds(10); digitalWrite(PINO_TRIG, LOW); long duracao = pulseIn(PINO_ECHO, HIGH); // Mede o tempo de resposta do ECHO float distancia = (duracao * 0.0343) / 2;// Calcula a distância usando a velocidade do som (aproximadamente 343 m/s) Serial.print("Distância: "); Serial.print(distancia); Serial.println(" cm"); if (distancia <= 10) // quando estiver menor ou igual a 10 cm enviará um alerta. ** Valor editável para a distância preferir. { digitalWrite(PINO_LED, HIGH); // Acende o LED se a distância for menor ou igual a 10 cm } else { digitalWrite(PINO_LED, LOW); // Desliga o LED caso contrário } delay(1000); // Aguarda 1 segundo antes de fazer a próxima leitura }
Embora tenhamos inicialmente um LED como parte de nosso circuito, podemos fazer um experimento. Substituiremos o LED por um buzzer ativo, mas é crucial observar a polaridade. Dessa forma, poderemos alternar entre alertas sonoros e visuais de maneira simples.
ENTENDENDO A FUNDO
Arquitetura
A arquitetura de pinos do sensor de ultrassom varia dependendo do modelo do sensor que você está utilizando. No entanto, a maioria dos sensores de ultrassom possui pelo menos dois pinos principais: o pino de “Trigger” (ou “TRIG”) e o pino de
“Echo” (ou “ECHO”). Alem dos pinos de alimentação VCC e GND.
• Pino de Trigger (Envio): Responsável por enviar os pulsos ultrassônicos para o ambiente.
• Pino de Echo (Recebimento): Recebe o sinal refletido após o pulso atingir um objeto.
Esses componentes trabalham em conjunto para permitir que o sensor detecte e meça com precisão as distâncias dos objetos, tornando-o uma ferramenta valiosa
em diversas aplicações.
Funcionamento
O HC-SR04 opera de maneira eficiente através dos pinos Trig (Trigger) e Echo. Aqui está uma breve explicação do funcionamento de cada um:
Trigger (Trig):
- O pino Trig é responsável por iniciar a medição de distância.
- Para iniciar a medição, você envia um pulso de pelo menos 10 microssegundos para o pino Trig.
- Esse pulso ativa o envio de ondas ultrassônicas em direção ao objeto que se deseja medir a distância.
Echo:
- O pino Echo é utilizado para receber o retorno do sinal ultrassônico.
- Quando as ondas ultrassônicas atingem um objeto e retornam, o pino Echo emite um pulso.
- A duração desse pulso no pino Echo é proporcional à distância entre o sensor e o objeto.
Cálculo da Distância:
A distância pode ser calculada aplicando uma manipulação da fórmula de velocidade média, a qual também é familiar do nosso Ensino Médio e é a mesma utilizada em nossos código:
-ΔS é o intervalo de deslocamento (espaço)
-Δt é o intervalo de tempo (tempo final – tempo inicial)
-A velocidade do som é geralmente considerada como 343 metros por segundo.
-Dividir por 2 é necessário porque o pulso viaja para o objeto e retorna, então a distância real é metade do caminho percorrido.
Em resumo, o Trig inicia o processo enviando pulsos ultrassônicos, e o Echo mede o tempo que leva para esses pulsos retornarem após atingirem um objeto. Essa informação de tempo é então utilizada para calcular a distância entre o sensor e o objeto em questão.
Conclusão
Encerramos aqui nossa aula, na qual exploramos o uso do sensor ultrassônico, aprofundando nosso entendimento da física por trás desse componente. Existem diversos projetos interessantes que podem ser realizados com o HC-SR04, como réguas, sensores de estacionamento e detecção de presença no ambiente. Que tal experimentar e conhecer ainda mais esse incrível componente?
Convidamos você a participar ativamente desta comunidade. Deixe seu like, inscreva-se no canal e compartilhe suas dúvidas, conquistas e ideias nos comentários. Sua interação é o que dá vida a este canal. Estamos aqui para aprender juntos e moldar o futuro da tecnologia DIY e IoT. Até a próxima aula!