Sensor de distancia HC-SR04: Funcionamiento, Aplicaciones y Programación con Arduino

por | Jul 15, 2024 | Compluino

En el mundo de la electrónica y la robótica, los sensores juegan un papel crucial al permitir a los dispositivos interactuar con su entorno. Entre estos, los sensores de distancia son especialmente importantes, ya que proporcionan información vital sobre la proximidad de objetos, ayudando en la navegación, a que un robot evite obstáculos y muchas otras aplicaciones. Uno de los sensores de distancia más populares y accesibles es el ultrasonidos HC-SR04, un sensor ultrasónico que se utiliza ampliamente en proyectos de Arduino y otros microcontroladores como Crumble.

¿Cómo funciona un sensor de distancia?

El sensor HC-SR04 mide la distancia utilizando ondas ultrasónicas. El funcionamiento básico se puede describir en los siguientes pasos:

  1. Emisión de Pulsos Ultrasónicos: El sensor emite un tren de pulsos ultrasónicos a través de su transductor de emisión.
  2. Reflexión del Pulso: Estos pulsos viajan por el aire y, al encontrarse con un objeto, se reflejan de vuelta hacia el sensor.
  3. Recepción del Eco: El transductor de recepción del sensor detecta los pulsos reflejados.
  4. Cálculo de la Distancia: El sensor calcula el tiempo que tarda el eco en regresar y, conociendo la velocidad del sonido en el aire, calcula la distancia al objeto utilizando la fórmula:

¿Dónde se usan los sensores de distancia?

Los sensores de distancia tienen una amplia gama de aplicaciones prácticas en diversos campos, entre los cuales se incluyen:

  • Robótica: Los robots utilizan sensores de distancia para navegar y evitar obstáculos.
  • Automóviles: Sistemas de asistencia al aparcamiento y detección de obstáculos en vehículos.
  • Industria: Control y monitoreo de niveles de líquidos en tanques, medidas de distancia en procesos de manufactura.
  • Hogar Inteligente: Sistemas de seguridad y automatización que detectan la presencia de personas o movimientos.
  • Dispositivos Médicos: Equipos de medición y diagnóstico que requieren conocer distancias precisas.

El sensor HC-SR04 programado con Arduino

Para este ejemplo, vamos a utilizar el Módulo ultrasónico HC-SR04 que se incluye en el Kit Compluino Modular, con el que el conexionado se simplifica notablemente ya que se conecta a un único pin digital.

A continuación, se presenta un ejemplo de código para medir la distancia utilizando el sensor HC-SR04 y mostrar los resultados en el monitor serial.

// MEDIR DISTANCIAS CON EL SENSOR HC-SR04

#define HCSR04 7  // ultrasonidos

float tiempo = 0, distancia = 0;  // las variables de tipo float permite guardar números con decimales (en coma flotante)

void setup() {

  Serial.begin(9600);
}

void loop() {
  pinMode(HCSR04, OUTPUT);  // iniciamos el pulso de medida
  digitalWrite(HCSR04, LOW);
  delayMicroseconds(5);
  digitalWrite(HCSR04, HIGH);
  delayMicroseconds(10);
  digitalWrite(HCSR04, LOW);
  pinMode(HCSR04, INPUT);
  tiempo = pulseIn(HCSR04, HIGH);  // medimos el tiempo
  distancia = tiempo / 58.3;       // calculamos la distancia en cm
  Serial.print("la distancia es: "); // al abrir monitor serie, aparecerá la distancia al objeto más próximo al sensor
  Serial.print(distancia);
  Serial.println (" cm");
}

  

Recomendaciones para hacer un buen uso del sensor

El uso de sensores de ultrasonidos, como el HC-SR04, ofrece muchas ventajas, pero también requiere tomar ciertas precauciones para asegurar un funcionamiento óptimo y evitar errores en las mediciones. A continuación, se enumeran algunas de las precauciones más importantes:

  • Superficies Irregulares o Absorbentes: Los objetos con superficies irregulares, blandas o absorbentes pueden dispersar o absorber las ondas ultrasónicas, lo que puede resultar en mediciones incorrectas o nulas.
  • Interferencias Acústicas: Ruido ambiental fuerte o interferencias de otros dispositivos ultrasónicos pueden afectar la precisión de las mediciones.
  • Alineación Correcta: Asegúrate de que el sensor esté alineado correctamente con el objeto a medir. Si el ángulo es demasiado grande, las ondas pueden no reflejarse correctamente de vuelta al sensor.
  • Evitar Objetos a los Lados: Los objetos cerca del campo de visión del sensor pueden reflejar las ondas y causar lecturas erróneas.
  • Rango de Distancia: Conoce el rango efectivo del sensor (por ejemplo, el HC-SR04 tiene un rango de aproximadamente 2 cm a 400 cm). Objetos fuera de este rango no se medirán con precisión.
  • Aislamiento de Vibraciones: Si el sensor está montado en un entorno que vibra (como un robot en movimiento), utiliza materiales de amortiguación para minimizar el impacto de las vibraciones.

Compluino Modular

Este y otros muchos Módulos puedes programarlos en Arduino si te haces con el Kit Compluino Modular. La herramienta perfecta para no preocuparte de la electrónica al realizar proyectos. Además siguiendo las actividades y retos del cuaderno «Proyectos STEAM con Arduino» podrás integrar contenido curricular mientras tus alumnos programan, diseñan circuitos y montan proyectos.

¿Listo para llevar la educación a un nivel superior?

¡Explora nuevas posibilidades con nuestra formación especializada en tecnología y robótica educativa! ¿Tienes preguntas o necesitas más información? Estamos aquí para ayudarte. No dudes en contactarnos y con gusto resolveremos todas tus dudas. Juntos podemos construir un futuro educativo más innovador y emocionante.