Sensor Ultrasónico HC-SR04
El HC-SR04 es un sensor electrónico diseñado para medir distancias sin necesidad de contacto físico. Utiliza ondas ultrasónicas de alta frecuencia (aproximadamente 40 kHz), las cuales son inaudibles para el oído humano. Es uno de los sensores más utilizados en proyectos de robótica, automatización y sistemas de navegación debido a su bajo costo, facilidad de uso y buena precisión.
¿Cómo funciona?
El sensor posee dos transductores:
- TRIG (Transmisor): Emite un pulso de ultrasonido.
- ECHO (Receptor): Detecta el eco cuando las ondas rebotan en un objeto.
El proceso de medición ocurre de la siguiente manera:
- El Arduino envía un pulso de 10 microsegundos al pin TRIG.
- El HC-SR04 emite un tren de 8 pulsos ultrasónicos de 40 kHz.
- Las ondas viajan por el aire hasta encontrar un objeto.
- Las ondas rebotan y regresan al sensor.
- El pin ECHO permanece en nivel alto durante el tiempo que tarda el sonido en ir y regresar.
- El Arduino mide ese tiempo y calcula la distancia utilizando la velocidad del sonido.
Fórmula utilizada
La distancia se calcula mediante la siguiente expresión:
Donde:
- Velocidad del sonido ≈ 343 m/s (0.0343 cm/μs).
- Se divide entre 2 porque el sonido realiza un viaje de ida y vuelta.
Aplicaciones
El HC-SR04 es ampliamente utilizado en:
- Robots móviles para evitar obstáculos.
- Vehículos autónomos.
- Sistemas de estacionamiento asistido.
- Medición del nivel de agua en tanques.
- Automatización de puertas.
- Alarmas y sistemas de seguridad.
- Proyectos educativos de Arduino y electrónica.
- Medición de distancia en laboratorios y prototipos.
Ventajas
- Bajo costo.
- Fácil integración con Arduino y otros microcontroladores.
- Buena precisión para proyectos educativos.
- No requiere contacto con el objeto.
- Bajo consumo de energía.
Limitaciones
- La superficie del objeto influye en la medición; materiales blandos o absorbentes pueden reflejar menos sonido.
- El rango útil disminuye con objetos muy pequeños o inclinados.
- La temperatura y la humedad pueden afectar ligeramente la velocidad del sonido y, por tanto, la precisión.
- No funciona correctamente en el vacío, ya que el sonido necesita un medio (como el aire) para propagarse.
Conclusión
El HC-SR04 es un sensor de distancia basado en el principio del eco ultrasónico, similar al funcionamiento del sonar utilizado por murciélagos y submarinos. Su facilidad de programación, bajo costo y precisión lo convierten en una excelente opción para proyectos de robótica, automatización y aprendizaje de sistemas embebidos con Arduino.
CODIGO A EJECUTAR EN CLASE
SIGA LAS INSTRUCCIONES DEL PROFESOR
// ===============================
// Prueba Sensor Ultrasónico HC-SR04
// Arduino UNO / Nano / Mega
// ===============================
const int TRIG = 9;
const int ECHO = 10;
long duracion;
float distancia;
void setup() {
Serial.begin(9600);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
digitalWrite(TRIG, LOW);
Serial.println("=== PRUEBA HC-SR04 ===");
}
void loop() {
// Generar pulso de disparo
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
// Leer el tiempo del eco
duracion = pulseIn(ECHO, HIGH);
// Calcular distancia en centímetros
distancia = duracion * 0.0343 / 2;
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
delay(500);
}
