Medir distância em projetos embarcados é um requisito comum para robótica, automação e sistemas interativos. Ao combinar um microcontrolador ESP32 com um sensor ultrassônico, você pode medir com precisão distâncias até objetos próximos sem contato físico. Este tutorial demonstra como configurar o hardware e executar um script usando MicroPython para ler os valores de distância do sensor.
Hardware necessário
Para acompanhar este tutorial, reúna os seguintes componentes de hardware. Certifique-se de baixar o firmware correto na página de downloads do MicroPython antes de prosseguir com o desenvolvimento.
Placa de desenvolvimento ESP32.
Sensor ultrassônico HC-SR04, especificamente a versão de 3V a 5.5V comumente conhecida como HC-SR04P.
Conectando o sensor
A fiação correta garante que o sensor receba energia adequada e transmita sinais digitais para os pinos de entrada/saída de propósito geral corretos no microcontrolador. Conecte o ESP32 ao HC-SR04 de acordo com a tabela de conexões fornecida abaixo.
ESP32 | HC-SR04 |
3.3V | VCC |
GND | GND |
D22 | TRIGGER |
D23 | ECHO |
Programando o ESP32
Crie um arquivo chamado main.py no seu computador para lidar com os pulsos de disparo e as medições de eco. O script coloca o pino de trigger em nível alto brevemente para emitir um pulso ultrassônico e, em seguida, usa as funções de temporização embutidas para medir quanto tempo o sinal de eco leva para retornar.
import time
from machine import Pin, time_pulse_us
trigger = Pin(22, Pin.OUT)
echo = Pin(23, Pin.IN)
while True:
trigger.value(0)
time.sleep_us(2)
trigger.value(1)
time.sleep_us(10)
trigger.value(0)
duration = time_pulse_us(echo, 1, 30000)
if duration > 0:
print(f"Distance: {(duration * 0.0343) / 2.0:.2f} cm")
else:
print("Reading error")
time.sleep(1)
Para enviar e executar seu código sem gravá-lo permanentemente para testes locais, você pode usar o utilitário de linha de comando detalhado na documentação do mpremote. Execute o seguinte comando no seu terminal:
mpremote run main.py
Tutoriais relacionados
Se você quiser explorar microcontroladores alternativos ou variações de firmware, confira estes guias relacionados:
Sensor ultrassônico HC-SR04 no ESP32 com Arduino
Sensor ultrassônico HC-SR04 no ESP32 com Arduino
Aprenda a conectar e programar um sensor ultrassônico de distância HC-SR04 com uma placa ESP32 usando o framework Arduino e PlatformIO.
Sensor ultrassônico HC-SR04 no RPi Pico com MicroPython
Sensor ultrassônico HC-SR04 no RPi Pico com MicroPython
Aprenda a conectar e programar um sensor ultrassônico de distância HC-SR04 com Raspberry Pi Pico usando MicroPython e funções de pulso temporizado.
Sensor ultrassônico HC-SR04 no STM32 com MicroPython
Sensor ultrassônico HC-SR04 no STM32 com MicroPython
Aprenda a conectar e programar um sensor ultrassônico HC-SR04 com uma placa STM32 BlackPill usando MicroPython e o módulo machine.