Usando o HC-SR04 com o Raspberry Pi

Using the HC-SR04 With the Raspberry Pi

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!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.