Sensor ultrassônico HC-SR04 no ESP32 com MicroPython

Tutoriais Sistemas Embarcados
Sensor ultrassônico HC-SR04 no ESP32 com MicroPython

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.

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

Diagrama no Fritzing mostrando o ESP32 conectado ao HC-SR04. Circuito real deste mesmo diagrama e tabela de conexões.

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

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

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

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.