Medir distâncias com precisão em projetos de sistemas embarcados é simples ao combinar o eficiente firmware MicroPython com componentes de hardware confiáveis. Este guia demonstra como fazer a interface de um sensor ultrassônico de distância HC-SR04 com uma placa microcontroladora STM32 usando MicroPython. Antes de gravar o seu dispositivo, obtenha o binário de firmware correto na página oficial de downloads do MicroPython e consulte a documentação do mpremote para entender como gerenciar arquivos e executar scripts diretamente da sua máquina host durante o desenvolvimento.
Componentes Necessários
Para acompanhar esta montagem, certifique-se de ter os seguintes componentes de hardware prontos na sua bancada:
Placa de desenvolvimento STM32 BlackPill para a lógica principal do microcontrolador.
Sensor ultrassônico HC-SR04 para medição de distância.
Fiação e Conexões
Uma fiação adequada garante uma comunicação precisa entre o sensor e o microcontrolador. Conecte os pinos do STM32 BlackPill ao sensor HC-SR04 de acordo com a tabela de conexões fornecida abaixo.
STM32 BlackPill | HC-SR04 |
3.3V | Vcc |
GND | Gnd |
B9 | Trig |
B8 | Echo |
Os diagramas a seguir ajudam a visualizar como o circuito deve ficar. Primeiro, consulte o layout esquemático para verificar o alinhamento dos pinos.
Em seguida, verifique o layout físico para garantir que as conexões da sua protoboard correspondam ao projeto do circuito antes de ligar tudo.
Implementação em MicroPython
Crie um arquivo chamado main.py no seu computador e preencha-o com o script abaixo. Este código configura o pino de disparo para enviar um breve pulso ultrassônico e usa a função integrada time_pulse_us() para medir o tempo de viagem do sinal de retorno do eco, convertendo-o em uma distância em centímetros.
import time
from machine import Pin, time_pulse_us
trigger = Pin('B9', Pin.OUT)
echo = Pin('B8', 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)
Com o seu código salvo, você pode executar o script instantaneamente na placa de desenvolvimento conectada executando o seguinte comando no seu terminal:
mpremote run main.py
Tutoriais Relacionados
Se você quiser explorar configurações de hardware e plataformas alternativas para projetos de medição de distância, confira estes guias relacionados:
Sensor ultrassônico HC-SR04 no STM32 com Arduino:
Sensor ultrassônico HC-SR04 no STM32 com Arduino
Aprenda a conectar um sensor de distância ultrassônico HC-SR04 a uma STM32 BlackPill usando o framework Arduino e o 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 ESP32 com MicroPython:
Sensor ultrassônico HC-SR04 no ESP32 com MicroPython
Aprenda a conectar e programar um sensor ultrassônico HC-SR04 com um microcontrolador ESP32 usando MicroPython e scripts de medição de distância.