← Todos los proyectos
Proyecto práctico · Nivel Intermedio

Sensor de parqueadero con Arduino

Aprenderás a convertir una medición de distancia en señales visuales y sonoras. En esta guía encontrarás un montaje concreto, criterios de conexión y un programa funcional de referencia para este circuito.

Montaje ilustrado de Sensor de parqueadero con Arduino

¿Qué vas a construir?

Un prototipo funcional pensado para practicar electrónica y programación con Arduino. La ilustración muestra la disposición conceptual de los componentes y sirve como referencia visual del montaje.

Materiales

  • Arduino Uno
  • HC-SR04
  • LEDs
  • buzzer
  • resistencias y jumpers

Cómo funciona

El Arduino recibe las señales de entrada, ejecuta la lógica del programa y controla las salidas. Antes de energizar, verifica polaridad, GND común y el valor de las resistencias. Los pines indicados son una propuesta de montaje y pueden adaptarse si modificas el código.

Cómo van las conexiones

Usa esta tabla junto con el diagrama para montar el circuito. Los pines corresponden al programa incluido en este proyecto.

Componente / terminalConectar a Arduino
HC-SR04 VCC5V
HC-SR04 TRIGD7
HC-SR04 ECHOD6
HC-SR04 GNDGND
LED verde ánodoD9 → resistencia
LED amarillo ánodoD10 → resistencia
LED rojo ánodoD11 → resistencia
Cátodos de LEDsGND
Buzzer +D8
Buzzer −GND

Cada LED debe llevar su resistencia en serie. El buzzer se activa cuando la distancia es de 10 cm o menos según el código actual.

Diagrama detallado de conexiones de Sensor de parqueadero

Programación

Este es un ejemplo funcional para el montaje descrito:

const int TRIG = 7;
const int ECHO = 6;
const int LED_VERDE = 9;
const int LED_AMARILLO = 10;
const int LED_ROJO = 11;
const int BUZZER = 8;

float distanciaCM() {
  digitalWrite(TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  long t = pulseIn(ECHO, HIGH, 30000);
  if (!t) return 999;
  return t * 0.0343 / 2.0;
}

void setup() {
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  pinMode(LED_VERDE, OUTPUT);
  pinMode(LED_AMARILLO, OUTPUT);
  pinMode(LED_ROJO, OUTPUT);
  pinMode(BUZZER, OUTPUT);
}

void loop() {
  float d = distanciaCM();
  digitalWrite(LED_VERDE, d > 40);
  digitalWrite(LED_AMARILLO, d <= 40 && d > 20);
  digitalWrite(LED_ROJO, d <= 20);
  if (d <= 10) tone(BUZZER, 1200); else noTone(BUZZER);
  delay(100);
}

Prueba y ajustes

Componentes que necesitas

Consulta directamente los componentes disponibles en Fasantronic para replicar este proyecto.

Ver todos los componentes →