Conectando Sensor Ultrassônico HC-SR04 ao Raspberry Pi – Guia Prático
Em projetos anteriores, cobrimos sensores de temperatura, módulos PIR de movimento e interface GPIO básica. O sensor ultrassônico HC-SR04 é uma escolha popular para medição de distância, mas sua saída de 5 V deve ser reduzida para 3,3 V para proteger os pinos GPIO do Raspberry Pi. Este tutorial explica a física, a eletrônica e o código Python necessários para conectar e usar o sensor com segurança.
O que Você Vai Precisar
- Sensor ultrassônico HC-SR04
- Resistor de 1 kΩ
- Resistor de 2 kΩ
- Jumpers (macho-fêmea)
- Opcional: protoboard
Como Funcionam Sensores Ultrassônicos
O som propaga-se como ondas de pressão; o tom é determinado pela frequência dessas ondas. Sensores ultrassônicos emitem som de alta frequência inaudível aos humanos, que reflete em objetos próximos e retorna como eco. Medindo o tempo de ida e volta do pulso, o circuito interno do sensor calcula a distância usando a velocidade do som (≈343 m/s no ar).
Pinout e Funcionalidade do HC-SR04
- Vcc — Alimentação 5 V
- GND — Terra
- TRIG — Entrada de disparo; um pulso de 10 µs inicia a medição
- ECHO — Pulso de saída de 5 V cuja largura equivale ao tempo de viagem do eco
O sensor emite um pulso de 5 V no pino ECHO que dura desde o momento em que o eco é detectado até o sensor estar pronto para o próximo disparo. Como um pino GPIO do Raspberry Pi tolera apenas 3,3 V, devemos reduzir essa tensão.
Circuito Divisor de Tensão
Um divisor de tensão simples usa dois resistores em série. Com a saída de 5 V do ECHO do sensor como entrada, um resistor de 1 kΩ (R1) seguido por um de 2 kΩ (R2) produzirão 3,3 V na junção:
Vout = Vin × (R2 / (R1 + R2))
Conecte o resistor de 1 kΩ entre a linha ECHO e o GPIO do Raspberry Pi, depois conecte o resistor de 2 kΩ dessa junção ao terra. Isso mantém o Pi seguro enquanto permite medição precisa.
Fiação do Hardware (Método Protoboard)
Use os seguintes pinos do Raspberry Pi:
Pino 2— 5 VPino 6— GNDPino 16— GPIO 23 (TRIG)Pino 18— GPIO 24 (ECHO)
- Conecte os pinos do HC-SR04 à protoboard: Vermelho (Vcc), Azul (TRIG), Amarelo (ECHO), Preto (GND).
- Ligue o trilho positivo da protoboard ao 5 V do Pi e o negativo ao GND do Pi.
- Conecte TRIG ao GPIO 23. Pode conectar diretamente ou via trilho da protoboard.
- Para a linha ECHO, coloque o resistor de 1 kΩ no trilho a partir do pino
ECHOdo HC-SR04, depois adicione o resistor de 2 kΩ ao terra. Conecte o GPIO 24 à junção entre os dois resistores. - Verifique todas as conexões antes de ligar o Pi.
Código Python para Ler Distância
O script abaixo demonstra como disparar o sensor e interpretar a largura do pulso de eco para calcular a distância em centímetros.
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
TRIG = 23
ECHO = 24
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
GPIO.output(TRIG, False)
time.sleep(2) # Permite sensor estabilizar
while True:
# Dispara sensor: pulso HIGH de 10 µs
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
# Aguarda eco subir
pulse_start = time.time()
while GPIO.input(ECHO) == 0:
pulse_start = time.time()
# Aguarda eco descer
pulse_end = time.time()
while GPIO.input(ECHO) == 1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150 # Velocidade do som em cm/s
print("Distância: %0.2f cm" % distance)
time.sleep(1)
GPIO.cleanup()
Executar este script exibirá leituras de distância em tempo real. Ajuste o atraso ou intervalo de disparo conforme sua aplicação.
Dicas de Segurança
- Nunca conecte o pino
ECHOdo HC-SR04 diretamente a um GPIO do Pi sem divisor de tensão. - Sempre alimente o Pi e o sensor do mesmo trilho de 5 V para evitar incompatibilidade de tensão.
- Verifique o datasheet do sensor para temperatura máxima de operação e carga recomendada.
Seguindo estes passos, você terá um sistema robusto de medição de distância ultrassônica, seguro para seu Raspberry Pi e preciso para uma ampla gama de projetos de robótica e automação.
Processo de manufatura
- Construa um Registrador de Temperatura com Raspberry Pi e Sensor I2C de $5
- Monitoramento Profissional de Temperatura com Raspberry Pi e DS18B20
- Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
- Construa Estação Meteorológica Raspberry Pi que Envia Dados Diários por Email
- Breakout Compacto DHT de Temperatura e Umidade para Raspberry Pi – ATtiny85 & DHT22/DHT11
- Integração de Dados de Sensores no Raspberry Pi: Guia Prático
- Conectando Sensor Ultrassônico HC‑SR04 ao Raspberry Pi 3 – Guia Completo
- Controle um LED com Sensor de Movimento PIR no Raspberry Pi
- Construa um Sensor de Umidade do Solo de Baixo Custo para Irrigação Inteligente com Raspberry Pi
- Leitura de Sensor Hall Linear com Raspberry Pi: Guia Java e Insights ADC0832