Tutorial Completo: sensor de estacionamento com Arduino e HC-SR04

Aprenda como montar um sensor de estacionamento usando o sensor ultrassônico HC-SR04 e Arduino. Ideal para iniciantes, este projeto prático é perfeito para demonstração em bancada.

O que é e como funciona o sensor ultrassônico HC-SR04?

O sensor HC-SR04 é um sensor ultrassônico amplamente usado em projetos de automação e robótica. Ele mede a distância até um objeto emitindo pulsos de ultrassom e calculando o tempo de retorno do sinal refletido.

Essa tecnologia é ideal para simular um sensor de estacionamento com Arduino, detectando obstáculos à frente e acionando alertas visuais e sonoros conforme a proximidade.

Lógica do sistema de estacionamento com Arduino

O sistema funciona com base na distância medida pelo HC-SR04. Conforme o objeto se aproxima, diferentes alertas são acionados:

Esse projeto serve como modelo para sistemas reais de assistente de estacionamento automotivo.

Materiais necessários para montar o sensor de estacionamento

Para montar esse projeto com Arduino e HC-SR04, você vai precisar:

Todos os componentes podem ser encontrados facilmente em kits de robótica ou lojas de eletrônica.

Montagem do circuito com Arduino e HC-SR04

Passo a passo:
  1. Conecte o HC-SR04 ao Arduino:
    • VCC → 5V
    • GND → GND
    • Trig → Pino digital 4
    • Echo → Pino digital 5
  2. Conecte os LEDs:
    • Verde → Pino 10
    • Amarelo → Pino 9
    • Vermelho → Pino 8 (todos com resistores)
  3. Conecte o buzzer ao pino 3 e GND.
  4. Na montagem podem ser utilizados jumpers ou cabinhos flexíveis (fator estético)

Monte tudo na protoboard, com atenção às ligações corretas.


Código para sensor de estacionamento com Arduino

Abaixo está o código Arduino para controlar os LEDs e o buzzer conforme a distância detectada pelo HC-SR04:

// Pinos

const int trigPin = 4;

const int echoPin = 5;

const int ledVerde = 10;

const int ledAmarelo = 9;

const int ledVermelho = 8;

const int buzzer = 3;

void setup() {

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

  pinMode(ledVerde, OUTPUT);

  pinMode(ledAmarelo, OUTPUT);

  pinMode(ledVermelho, OUTPUT);

  pinMode(buzzer, OUTPUT);

  digitalWrite(buzzer, LOW);

  Serial.begin(9600);

}

void loop() {

  long duracao;

  float distancia;

  // Disparo do sensor

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

  duracao = pulseIn(echoPin, HIGH);

  distancia = (duracao * 0.0343) / 2; // cm

  Serial.print("Distancia: ");

  Serial.print(distancia);

  Serial.println("cm");

  // Logica dos leds e buzzer

  if (distancia > 50 && distancia <= 100) {

    // entre 0,5 metro e 1 metro: LED verde acende

    digitalWrite(ledVerde, HIGH);

    digitalWrite(ledAmarelo, LOW);

    digitalWrite(ledVermelho, LOW);

    digitalWrite(buzzer, LOW);

  } else if (distancia > 30 && distancia <= 50) {

    // entre 30cm e 50cm: LED amarelo acende, buzzer toca devagar

    digitalWrite(ledVerde, LOW);

    digitalWrite(ledAmarelo, HIGH);

    digitalWrite(ledVermelho, LOW);

    tone(buzzer, 1000); // 1kHz

    delay(200);

    noTone(buzzer);

    delay(400);

  } else if (distancia <= 30 && distancia > 0) {

    // menor ou igual a 30cm: LED vermelho acende, buzzer toca rápido

    digitalWrite(ledVerde, LOW);

    digitalWrite(ledAmarelo, LOW);

    digitalWrite(ledVermelho, HIGH);

    tone(buzzer, 1000); // 1kHz frequente

    delay(100);

    noTone(buzzer);

    delay(100);

  } else {

    // Maiores que 1 metro ou fora do range, tudo apagado

    digitalWrite(ledVerde, LOW);

    digitalWrite(ledAmarelo, LOW);

    digitalWrite(ledVermelho, LOW);

    digitalWrite(buzzer, LOW);

  }

  delay(50); // Pequeno atraso para leitura estável

}


Testes e resultados do sensor de estacionamento

Com o código carregado e o circuito montado, aproxime um objeto do sensor para simular uma manobra de estacionamento.



Resultado esperado:
  • Objeto longe: LED verde aceso
  • Objeto se aproximando: LED amarelo aceso + som no buzzer
  • Objeto muito próximo: LED vermelho + som intensificado no buzzer

Esse comportamento demonstra, de forma clara, como um sensor de estacionamento detecta e alerta o motorista sobre a distância de obstáculos.


Este projeto é ideal para:

  • Feiras escolares e mostras de tecnologia
  • Protótipos de sistemas automotivos
  • Estudos de sensores e eletrônica básica com Arduino

Como próximo passo, você pode integrar um display LCD, múltiplos sensores ou montar o sistema em um suporte físico que simule um carro.

Se você está começando no mundo da robótica e quer entender melhor quais sensores usar em seus projetos, recomendamos a leitura do artigo Sensores essenciais de robótica para iniciantes. Ele traz uma visão geral dos principais sensores usados em automação, incluindo o HC-SR04, e pode ajudar você a escolher os melhores componentes para expandir este e outros projetos.

Projeto e códigos realizados por Emanuel Sousa – Graduando em Engenharia Mecatrônica

Conclusão

Montar um sensor de estacionamento com Arduino e HC-SR04 é uma excelente forma de aprender eletrônica e programação na prática. Com poucos componentes e um código simples, é possível criar um sistema funcional e visual para testes e demonstrações.

Post navigation

Deixe um comentário

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Projeto Musical com Arduino Uno: Tutorial Completo 

Monitoramento de Rotação e Movimento Linear com Arduino

Projeto de cancela automática com Arduino: guia completo

Montagem de um painel indicador de temperatura com Arduino Uno