⭐⭐⭐ Reto ⏱️ 30 minutos

Sensor de aparcamiento deluxe

¡La versión deluxe del sensor de aparcamiento! Pita más rápido cuando te acercas, y la pantalla OLED muestra la distancia en centímetros. Con una barrita que se hace más larga cuando te acercas.

Primero inicias sesión un momento. Después tu proyecto está listo enseguida.

🧰 ¿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 · -
Arduino UNO · A4 Pantallita OLED 0,91" · SDA
Arduino UNO · A5 Pantallita OLED 0,91" · SCL
Arduino UNO · 5V Pantallita OLED 0,91" · VCC
Arduino UNO · GND Pantallita OLED 0,91" · GND

🛠️ Así lo construyes

  1. Conecta el HC-SR04: Trig al pin 9, Echo al pin 10, Vcc a 5V y Gnd a GND.
  2. Conecta el zumbador: S al pin 8, + a 5V y − a GND.
  3. Conecta la pantalla OLED: SDA a A4, SCL a A5, VCC a 5V y GND a GND.
  4. Tres piezas necesitan 5V y GND. Usa las tiras + y − de tu breadboard.

💻 El código

// Sensor de aparcamiento deluxe
// Como el sensor normal, pero ahora también ves la distancia en la pantalla OLED.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

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

Adafruit_SSD1306 pantalla(128, 32, &Wire, -1);  // OLED: SDA = A4, SCL = A5

// Mide la distancia en centímetros
long medirDistancia() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  long tiempo = pulseIn(ECHO_PIN, HIGH, 30000);
  if (tiempo == 0) return 999;   // Sin echo: nada cerca
  return tiempo / 58;
}

// Pone la distancia grande en la pantalla, con una barrita debajo
void mostrarDistancia(long distancia) {
  pantalla.clearDisplay();
  pantalla.setTextSize(2);
  pantalla.setCursor(0, 0);
  if (distancia >= 999) {
    pantalla.print(F("---"));
  } else {
    pantalla.print(distancia);
    pantalla.print(F(" cm"));
  }
  // Barrita: cuanto más cerca, más larga
  int largo = map(constrain(distancia, 0, 100), 0, 100, 128, 0);
  pantalla.fillRect(0, 24, largo, 8, SSD1306_WHITE);
  pantalla.display();
}

void setup() {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(ZUMBADOR_PIN, OUTPUT);
  pantalla.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  pantalla.setTextColor(SSD1306_WHITE);
}

void loop() {
  long distancia = medirDistancia();
  mostrarDistancia(distancia);

  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 = más pitidos
  } else {
    digitalWrite(ZUMBADOR_PIN, LOW);
    delay(100);
  }
}

🧠 ¿Qué hace el código?

  • medirDistancia() mide la distancia en centímetros con el HC-SR04.
  • mostrarDistancia() pone el número grande en la pantalla y dibuja una barrita con fillRect().
  • El zumbador pita más rápido cuanto menor es la distancia.

🎯 Prueba esto…

  • Muestra "¡STOP!" en la pantalla si estás a menos de 5 cm
  • Muestra la distancia en metros si algo está a más de 1 metro
  • Añade el anillo LED que cambia de verde a rojo

🚀 Construye este proyecto con Codey: abre codey.online/es/starter-kits/uno/projects/parking-sensor-deluxe y haz clic en HAZ ESTO. Entonces el código y el esquema de conexión estarán listos enseguida.

Primero inicias sesión un momento. Después tu proyecto está listo enseguida.
⬇️ Descarga esta página como PDF 📚 Descarga el tutorial completo (PDF)

Codey Online es un producto de OTRONIC

Crea tu proyecto de Arduino o ESP32 con IA

Describe lo que quieres construir. Codey Online escribe el codigo, dibuja el esquema de conexiones, lo compila y graba tu placa directamente desde el navegador.

Empieza gratis