Medir distâncias com precisão em projetos embarcados é um requisito comum para tarefas de robótica e automação. Ao combinar a potência compacta de um microcontrolador com um transdutor ultrassônico confiável, você pode construir sistemas de medição sem contato facilmente. Este guia explica como interligar um sensor ultrassônico HC-SR04 a um Raspberry Pi Pico usando MicroPython.
Para acompanhar este tutorial adequadamente, certifique-se de que seu ambiente e seus componentes estão prontos. Você pode baixar o firmware mais recente na página de downloads do MicroPython e gerenciar sua placa usando a documentação do mpremote para implantação eficiente via linha de comando.
Materiais necessários
-
Raspberry Pi Pico
-
HC-SR04 (versão de 3V–5.5V, também conhecido como HC-SR04P)
Conectando o sensor
Conexões corretas são essenciais para proteger seus componentes e garantir a transmissão adequada de sinal. O sensor HC-SR04 envia ondas sonoras e aguarda o eco para calcular a distância. Preste muita atenção à fonte de alimentação e aos níveis lógicos. Observe que sensores HC-SR04 padrão de 5V exigem um divisor de tensão no pino de eco para evitar danos ao Pico, mas o uso do modelo HC-SR04P compatível com 3V permite uma conexão direta segura.
Raspberry Pi Pico | HC-SR04 |
3.3V | VCC |
GND | GND |
GP17 | TRIGGER |
GP16 | ECHO |
Implementação em MicroPython
Assim que a disposição do seu hardware corresponder à tabela de conexões e aos diagramas, crie um arquivo chamado main.py no seu computador. Este script dispara um pulso ultrassônico e ouve o comprimento do pulso de eco usando a função nativa time_pulse_us. A duração retornada em microssegundos é então convertida em centímetros.
import time
from machine import Pin, time_pulse_us
trigger = Pin(17, Pin.OUT)
echo = Pin(16, 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 executar o script diretamente no seu dispositivo sem salvá-lo permanentemente como o script de inicialização, você pode executar o seguinte comando no seu terminal:
mpremote run main.py
Tutoriais relacionados
Se você quiser explorar microcontroladores alternativos ou paradigmas de programação com o mesmo sensor, confira estes guias relacionados:
Sensor ultrassônico HC-SR04 no RPi Pico com Arduino
Sensor ultrassônico HC-SR04 no RPi Pico com Arduino
Aprenda a conectar o sensor ultrassônico HC-SR04 a um Raspberry Pi Pico usando o framework Arduino e o PlatformIO.
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.
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.