O sensor ultrassônico HC-SR04 é uma ferramenta popular e econômica para medir a distância em vários projetos de bricolage e profissional. Quando combinado com um Raspberry Pi, ele abre um mundo de possibilidades para criar aplicativos como detecção de obstáculos, medição de nível e até instalações interativas. Esta postagem do blog o guiará através do processo de configuração e uso do sensor HC-SR04 com seu Raspberry Pi.
Qual é o sensor ultrassônico HC-SR04?
O HC-SR04 é um módulo de sensor ultrassônico que mede a distância emitindo ondas ultrassônicas e calculando o tempo necessário para o eco retornar. Opera em 5V e é conhecido por sua precisão e confiabilidade em medições de distância de curto e médio alcance, normalmente entre 2 cm e 400 cm.
Componentes que você precisará
- Raspberry Pi (qualquer modelo com pinos GPIO, como Raspberry Pi 4)
- Sensor ultrassônico HC-SR04
- Fios de jumper
- Pão de pão
- Resistor de 10kΩ (para divisão de tensão)
- Opcional: LED e resistor para feedback visual
Fiação do HC-SR04 para o Raspberry Pi
A conexão do HC-SR04 ao Raspberry Pi requer manuseio cuidadoso, especialmente porque os pinos GPIO do Raspberry Pi operam a 3,3V e o HC-SR04 opera a 5V. Para evitar danos ao seu PI, é essencial usar um divisor de tensão no pino de eco.
Conexões de pino
- VCC de HC-SR04 para 5V Pin no Raspberry Pi
- Gnd de HC-SR04 para Gnd em Raspberry Pi
- Trig pino de hc-sr04 a um GPIO PIN no Raspberry Pi (por exemplo, GPIO23)
- Eco Pino de HC-SR04 para Raspberry Pi através de um divisor de tensão
Configurando o divisor de tensão
Para conectar com segurança o pino de eco ao Raspberry Pi, use um divisor de tensão com um resistor de 10kΩ e um resistor de 20kΩ. Isso diminuirá o sinal de 5V para aproximadamente 3,3V.
# Example schematic for voltage divider
# HC-SR04 Echo pin ---- 10kΩ ----> Raspberry Pi GPIO (Echo)
# |
# 20kΩ
# |
# GND
Instalando as bibliotecas necessárias
Antes de escrever o código, verifique se o seu Raspberry Pi está atualizado e possui as bibliotecas necessárias instaladas.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-rpi.gpio
Escrevendo o script python
Abaixo está um script python simples para interface com o sensor HC-SR04. Esse script envia um pulso de gatilho, aguarda o eco e calcula a distância com base no tempo necessário para o eco retornar.
import RPi.GPIO as GPIO
import time
# GPIO Mode (BOARD / BCM)
GPIO.setmode(GPIO.BCM)
# Set GPIO Pins
TRIG = 23
ECHO = 24
print("Distance Measurement In Progress")
# Set GPIO direction (IN / OUT)
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
def distance():
# Set TRIG to LOW
GPIO.output(TRIG, False)
time.sleep(2)
# Send 10us pulse to TRIG
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
start_time = time.time()
stop_time = time.time()
# Save StartTime
while GPIO.input(ECHO) == 0:
start_time = time.time()
# Save Time of Arrival
while GPIO.input(ECHO) == 1:
stop_time = time.time()
# Time difference between start and arrival
time_elapsed = stop_time - start_time
# Multiply with speed of sound (34300 cm/s)
# and divide by 2, because there and back
distance = (time_elapsed * 34300) / 2
return distance
if __name__ == '__main__':
try:
while True:
dist = distance()
print("Measured Distance = %.1f cm" % dist)
time.sleep(1)
except KeyboardInterrupt:
print("Measurement stopped by User")
GPIO.cleanup()
Executando o script
Verifique se a fiação está correta e execute o script usando o Python 3:
python3 hc-sr04.py
Você deve ver a distância medida em centímetros impressos no console. Se você estiver usando um LED para feedback visual, poderá modificar o script para iluminar o LED quando um objeto estiver dentro de um determinado intervalo.
Aprimorando seu projeto
Depois de fazer as medições básicas de distância funcionando, considere integrar recursos adicionais:
- Indicadores LED: Use LEDs para indicar diferentes faixas de distância.
- Tela LCD: Mostre a distância em uma tela LCD.
- Registro de dados: Medições de distância recorde ao longo do tempo para análise.
- Sistemas de alerta: Acionar alarmes ou notificações quando os objetos estão muito próximos.
Solucionar problemas comuns
Trabalhar com sensores e GPIO às vezes pode ser desafiador. Aqui estão alguns problemas comuns e como abordá -los:
- Fiação incorreta: Verifique todas as conexões, especialmente o divisor de tensão no pino de eco.
- Medições barulhentas: Verifique se sua configuração é estável e considere adicionar capacitores para filtrar o ruído.
- Conflitos de GPIO: Certifique -se de que nenhum outro script ou serviços esteja usando os mesmos pinos GPIO.
-
Permissões: Execute seus scripts com permissões apropriadas, usando
sudo
se necessário.
Conclusão
O sensor ultrassônico HC-SR04 é um componente versátil e confiável que, quando combinado com o Raspberry Pi, pode servir uma infinidade de aplicações, desde a medição de distância simples até sistemas de automação complexos. Seguindo as etapas descritas neste guia, você poderá configurar e começar a experimentar o HC-SR04 no seu Raspberry Pi. Feliz mexer!