Sensor de aparcamiento con Arduino y el HC-SR04

Sensor de aparcamiento

Casi todos los coches que se producen actualmente tienen un sensor de estacionamiento o sensor de aparcamiento ya integrado. Este tipo de sensores van desde simples sensores de proximidad que te avisan cuando vas a chocar contra un objeto y te avisan con una señal sonora u otros sistemas algo más complejos que incorporan una cámara y te muestran la imagen y unas líneas de los límites en la pantalla de abordo.

Sea como sea, este tipo de dispositivos resulta muy práctico para aparcar adecuadamente y no hacerlo “de oído” como algunos… Eso evitará visitas al chapista por desperfectos al haberle dado a algún bolardo o a otro coche estacionado. Pero por desgracia, no todos los coches cuentan con uno, y la mayor parte de coches antiguos no lo tienen. Pero eso no significa que no puedas implementar uno en tu coche. Aquí te vamos a mostrar cómo hacerlo.

Comprar el sensor de aparcamiento

sensor aparcamiento

En el mercado ya existen sensores de aparcamiento creados para los que son menos manitas para estas cosas. Así que si no eres un maker y no te gusta el DIY, puedes optar por este tipo de productos que no tienen un precio excesivo. Algunos se pueden usar como recambio del sensor de aparcamiento si se te ha estropeado el de tu coche o para ponerlo en un coche que no lo tenía de serie.

Su precio no es demasiado elevado, y puede ir desde los 20 a 30€. Todos suelen tener varios sensores para situar en el paragolpes de la parte trasera de tu coche y llevar el cableado hasta el interior del habitáculo para poner el dispositivo que emite el sonido dentro. Otros incluyen también un pequeño display que muestra la distancia que falta para chocar con el objeto de atrás.

También existen algunos que son algo más avanzados, y en vez de sensores tienen cámaras. En cuanto a la interfaz que hay que instalar en estos casos en el interior, es una pantalla que mostrará la imagen que podrás ver para aparcar el coche de una forma más sencilla. En estos casos, el precio ronda los 50€.

Crear tu propio sensor de aparcamiento

Ahora bien, si quieres crearlo tú mismo, puedes usar este proyecto usando una placa Arduino, un código simple para su programacion, y unos sensores de ultrasonidos para medir distancias como los HC-SR04. Si lo prefieres, puedes variar este sensor de distancia por otros de los que hemos descrito en HwLibre para agregar mayor precisión, aunque con este bastaría.

¿Cómo funciona un sensor de aparcamiento?

Antes de nada, debes comprender bien cómo funciona el sensor de aparcamiento o estacionamiento de un coche. Es un dispositivo muy básico. El principio en el que se basa es en el de medir distancias con ayuda de un sensor de ultrasonidos o de tipo óptico. Cuando se encuentra a una determinada distancia de impactar contra un objeto, emitirá una señal, normalmente sonora mediante un buzzer o similar. De esa forma, el conductor sabrá cuándo debe parar para no chocar.

Así que esto mismo es lo que debes reproducir con Arduino, usar uno o varios sensores de distancia, y que cuando detecten una distancia determinada, que el microcontrolador active un buzzer o sistema de señal visual que avise. Si agregas más de un sensor de distancia permitirá tener mayor precisión desde diferentes ángulos, ya que con un solo sensor no podrá avisar de objetos que no estén al alcance del rango del sensor.

Más información – Sensor láser VL53L0X / Sensor de ultrasonidos HC-SR04

Componentes necesarios

Para crear tu propio sensor de aparcamiento necesitarás:

  • Placa Arduino, puede ser varios de los modelos que tienes a tu disposición e incluso placas compatibles.
  • Sensor de ultrasonidos HC-SR04, aunque puedes usar otro similar.
  • LEDs o buzzer, según lo quieras basar en señal sonora o visual. En este caso se usa ambos, señal visual y también sonora con el zumbador. Recuerda que si compras un zumbador simple, necesitarás algunos elementos extra como detallamos en el artículo que dedicamos al buzzer, pero si lo adquieres en forma de módulo integrará todo lo necesario…
  • Cables Dupont para conexionado.
  • 3 resistencias de 220 ohmios opcionales
  • Protoboard o PCB si lo quieres soldar para hacerlo permanente.

Cómo se hace paso a paso

Circuito con Arduino

Una vez tienes todo lo necesario, lo siguiente es conectar los componentes de forma adecuada. Para ello, puedes seguir el esquema simple de este circuito que te muestro aquí. La conexión es muy sencilla. Una vez está conectado todo, solo faltaría programar el microcontrolador desde Arduino IDE.

En este caso, usamos tres LEDs de colores diferentes. Por ejemplo, puede ser uno verde, otro amarillo y otro rojo, aunque puedes usar otros colores. El verde indicará que se puede seguir dando marcha atrás sin problemas. El amarillo indica que debes ir con precaución porque se aproxima al objeto, y el rojo cuando hay que detener la marcha para no chocar. La distancia marcada como viable, de precaución y de detención habrá que calibrarla adecuadamente…

El sketch de Arduino IDE que habría que programar para que el circuito funcione, sería:


#define pulso 9  //pin para el pulso en el #9
#define rebote 8 //pin donde recibe rebote en el #8
 
#define led_verde 13  //LED verde
#define led_amarillo 12  //LED amarillo
#define led_rojo 11  //LED rojo
 
#define SIN_PROBLEMA 100 //Distancia razonable de 1m
#define PRECAUCION 20  //Distancia peligrosa 20 cm
 
int distancia;  //Variable distancia
float tiempo;  //Variable de tiempo
 
void setup()
{
//Declaraciones para las salidas o entradas de cada pin
  Serial.begin(9600);  
  pinMode(pulso, OUTPUT); 
  pinMode(rebote, INPUT);
  pinMode(led_verde, OUTPUT); 
  pinMode(led_amarillo, OUTPUT); 
  pinMode(led_rojo, OUTPUT); 
}
 
void loop()
{
  digitalWrite(pulso,LOW); //Estabilizar el sensor antes de comenzar
  delayMicroseconds(5);
  digitalWrite(pulso, HIGH); //Enviar pulso ultrasonido
  delayMicroseconds(10);
  tiempo = pulseIn(rebote, HIGH);  //Mide el tiempo
  distancia = 0.01715*tiempo; //Calcula la distancia a la que estás del objeto
   
  if(distancia > SIN_PROBLEMA)  //Evalúa la distancia
  {
    digitalWrite(led_verde, HIGH);
    digitalWrite(led_amarillo, LOW);
    digitalWrite(led_rojo, LOW);
  }
  else if (distancia <= SIN_PROBLEMA && distancia > PRECAUCION) //Distancia de precaución
  {
    digitalWrite(led_verde, LOW);
    digitalWrite(led_amarillo, HIGH);
    digitalWrite(led_rojo, LOW);
  }
  else  //si la distancia es menor de 20 centímetros o menor -> ALERTA
  {
    digitalWrite(led_verde, LOW);
    digitalWrite(led_amarillo, LOW);
    digitalWrite(led_rojo, HIGH);
  }
  delay(10);
}

Puedes modificar los códigos para agregar más de un sensor para poner en los laterales y zona central de tu coche. También puedes cambiar las distancias que se consideran seguras, de precaución o peligrosa según tus habilidades o la sensibilidad que quieras que tenga. Incluso puedes modificar los tonos del zumbador. Para usar cámaras, podrías hacerlo mediante un método diferente, y simplemente conectar una señal de una pantalla LCD a la señal de imagen de las cámaras…

Como ves, es un código muy simple. Ahora sería cuestión de pasar del protoboard a un diseño más estable para dejarlo de forma permanente funcionando en tu coche. Para eso, una ve probado que funciona de forma adecuada, puedes soldar los componentes en una placa perforada o PCB para instalarla en el coche…

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.