ESP32 - Sensor Ultrassônico

Este tutorial ensina você a usar o ESP32 com o sensor ultrassônico HC-SR04 para medir a distância até um objeto.

Sobre o Sensor Ultrassônico

O sensor ultrassônico HC-SR04 é usado para medir a distância do sensor até um objeto usando ondas ultrassônicas.

Pinagem do Sensor Ultrassônico

O sensor ultrassônico HC-SR04 possui quatro pinos:

  • Pino VCC: conecte este pino ao VCC (5V)
  • Pino GND: conecte este pino ao GND (0V)
  • Pino TRIG: este pino recebe um pulso de controle do ESP32.
  • Pino ECHO: este pino gera para o ESP32 um pulso correspondente à distância medida.
Pinagem do Sensor Ultrassônico
image source: diyables.io

Como o Sensor Ultrassônico Funciona

Veja Como o Sensor Ultrassônico Funciona

Diagrama de Ligação entre o Sensor Ultrassônico e o ESP32

  • Como conectar o ESP32 e o sensor ultrassônico usando protoboard (alimentado pelo cabo USB)
Diagrama de Ligação do Sensor Ultrassônico com ESP32

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

  • Como conectar o ESP32 e o sensor ultrassônico usando protoboard (alimentado pelo pino Vin)
Diagrama de Ligação do Sensor Ultrassônico com ESP32
Como conectar o ESP32 e o sensor ultrassônico
Como ligar o ESP32 e o sensor ultrassônico

Como Programar o Sensor Ultrassônico

digitalWrite(23, HIGH); delayMicroseconds(10); digitalWrite(23, LOW);
  • Meça a duração do pulso (µs) em um pino do ESP32 usando a função pulseIn(). Por exemplo, o pino GPIO22:
duration_us = pulseIn(22, HIGH);
  • Calcule a distância (cm):
distance_cm = 0.017 * duration_us;

Código ESP32

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-ultrasonic-sensor */ #define TRIG_PIN 23 // ESP32 pin GPIO23 connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN 22 // ESP32 pin GPIO22 connected to Ultrasonic Sensor's ECHO pin float duration_us, distance_cm; void setup() { // begin serial port Serial.begin (9600); // configure the trigger pin to output mode pinMode(TRIG_PIN, OUTPUT); // configure the echo pin to input mode pinMode(ECHO_PIN, INPUT); } void loop() { // generate 10-microsecond pulse to TRIG pin digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // measure duration of pulse from ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; // print the value to Serial Monitor Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

Passos Rápidos

Como carregar o código ESP32 na Arduino IDE
  • Abra o Serial Monitor na Arduino IDE
Como abrir o Serial Monitor na Arduino IDE
  • Mova sua mão na frente do sensor ultrassônico
  • Veja a distância do sensor até sua mão no Serial Monitor
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
distance: 19.4 cm distance: 17.6 cm distance: 16.9 cm distance: 27.4 cm distance: 26.9 cm distance: 24.3 cm distance: 25.6 cm distance: 23.1 cm
Ln 11, Col 1
ESP32 Dev Module on COM15
2

Explicação do Código Linha por Linha

O código ESP32 acima contém explicações linha por linha. Leia os comentários no código!

Como Filtrar o Ruído das Medições de Distância do Sensor Ultrassônico

Veja Como Filtrar o Ruído das Medições de Distância do Sensor Ultrassônico

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!