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:
- Distância segura (> 50 cm): LED verde aceso
- Aproximação (30 a 50 cm): LED amarelo aceso
- Perigo (< 30 cm): LED vermelho + buzzer sonoro
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:
- 1 Arduino Uno
- 1 Sensor ultrassônico HC-SR04
- 1 Protoboard
- 1 Buzzer
- 6 LEDs (verde, amarelo, vermelho) – pode ser feito com 3
- 3 Resistores 220Ω
- Jumpers (cabos macho-macho)
- Cabinho flexível
- 1 Cabo USB
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:
- Conecte o HC-SR04 ao Arduino:
- VCC → 5V
- GND → GND
- Trig → Pino digital 4
- Echo → Pino digital 5
- VCC → 5V
- Conecte os LEDs:
- Verde → Pino 10
- Amarelo → Pino 9
- Vermelho → Pino 8 (todos com resistores)
- Verde → Pino 10
- Conecte o buzzer ao pino 3 e GND.
- 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.


Deixe um comentário