⭐⭐ Principiante avanzado
⏱️ 20 minutos
Sensor de aparcamiento
Vas a construir un sensor de aparcamiento, como en un coche. Cuanto más te acercas al sensor, más rápido pita el zumbador. ¿Muy cerca? Entonces suena un tono largo.
🧰 ¿Qué necesitas?
🗺️ Esquema de conexión
Sigue los cables desde el Arduino hasta cada pieza. Puedes elegir tú los colores de los cables.
| Desde | Hasta |
|---|---|
Arduino UNO · D9 |
Sensor de distancia HC-SR04 · Trig |
Arduino UNO · D10 |
Sensor de distancia HC-SR04 · Echo |
Arduino UNO · 5V |
Sensor de distancia HC-SR04 · Vcc |
Arduino UNO · GND |
Sensor de distancia HC-SR04 · Gnd |
Arduino UNO · D8 |
Zumbador activo · S |
Arduino UNO · 5V |
Zumbador activo · + |
Arduino UNO · GND |
Zumbador activo · - |
🛠️ Así lo construyes
- Conecta el HC-SR04: Trig al pin 9, Echo al pin 10, Vcc a 5V y Gnd a GND.
- Conecta el zumbador: S al pin 8, + a 5V y − a GND.
- Usa las tiras + y − de tu breadboard para 5V y GND.
💻 El código
// Sensor de aparcamiento
// Cuanto más te acercas al sensor, más rápido pita el zumbador. ¡Como en un coche!
const int TRIG_PIN = 9; // Trig del HC-SR04 en pin 9
const int ECHO_PIN = 10; // Echo del HC-SR04 en pin 10
const int ZUMBADOR_PIN = 8; // S del zumbador en pin 8
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(ZUMBADOR_PIN, OUTPUT);
}
// Mide la distancia en centímetros
long medirDistancia() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH); // Envía un sonido corto (que tú no oyes)
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long tiempo = pulseIn(ECHO_PIN, HIGH, 30000); // ¿Cuánto tarda en volver el eco?
if (tiempo == 0) return 999; // Sin eco: nada cerca
return tiempo / 58; // Convertir el tiempo a centímetros
}
void loop() {
long distancia = medirDistancia();
Serial.print(F("Distancia: "));
Serial.print(distancia);
Serial.println(F(" cm"));
if (distancia < 5) {
digitalWrite(ZUMBADOR_PIN, HIGH); // Muy cerca: un tono largo
delay(100);
} else if (distancia < 50) {
digitalWrite(ZUMBADOR_PIN, HIGH); // Pitido corto
delay(50);
digitalWrite(ZUMBADOR_PIN, LOW);
delay(distancia * 10); // Más cerca = pausa más corta = pita más rápido
} else {
digitalWrite(ZUMBADOR_PIN, LOW); // Lejos: silencio
delay(100);
}
}
🧠 ¿Qué hace el código?
medirDistancia()envía un sonidito y mide cuánto tarda en volver el eco. Eso lo convertimos a centímetros.- A más de 50 cm: el zumbador está en silencio.
- Más cerca: la pausa entre los pitidos se hace más corta. Por debajo de 5 cm pita sin parar.
🎯 Prueba esto…
- Haz que el sensor de aparcamiento empiece a pitar ya desde 1 metro
- Añade un LED rojo que se encienda si está demasiado cerca
- Muestra la distancia en el monitor serie, con una barrita de asteriscos
🚀 Construye este proyecto con Codey: abre codey.online/es/starter-kits/uno/projects/parking-sensor y haz clic en HAZ ESTO. Entonces el código y el esquema de conexión estarán listos enseguida.
Codey Online es un producto de OTRONIC