🧠 ¿Qué es el Sensor HC SR04?
El Sensor HC-SR04 es un sensor ultrasónico que permite medir distancias utilizando ondas de sonido. Funciona emitiendo un pulso ultrasónico y midiendo el tiempo que tarda en regresar después de rebotar en un objeto.
📐 Especificaciones Técnicas
Característica | Valor |
Tensión de operación | 5V DC |
Corriente de trabajo | 15 mA (aprox.) |
Rango de medición | 2 cm – 400 cm |
Precisión | ±3 mm |
Ángulo de medición | <15° |
Frecuencia ultrasónica | 40 kHz |
Tiempo mínimo entre lecturas | 60 ms |
Pines | VCC, Trig, Echo, GND |
⚙️ ¿Cómo funciona?
- Se envía un pulso de 10 µs al pin Trig.
- El sensor emite 8 pulsos ultrasónicos de 40 kHz.
- El pin Echo se activa mientras el sonido rebota y vuelve.
- Midiendo el tiempo que tarda en volver el sonido se calcula la distancia:
Distancia (cm)=Tiempo (μs)58\text{Distancia (cm)} = \frac{\text{Tiempo (μs)}}{58}Distancia (cm)=58Tiempo (μs)
⚠️ Atención
- El módulo Sensor HC SR04 debe insertarse en el circuito antes de ser alimentado para evitar producir un alto nivel de mal funcionamiento; si se produce, alimenta de nuevo.
- No se sugiere que el módulo se conecte directamente a la electricidad, si se conecta eléctricamente, el terminal GND debe conectarse al módulo primero, de lo contrario, afectará el funcionamiento normal del módulo.
- Cuando se prueban objetos, el rango de área no es inferior a 1.6 ft cuadrados y el avión solicita lo más suave posible, de lo contrario, afectará los resultados de la medición.
🔌 Conexión a Arduino
HC-SR04 | Arduino |
VCC | 5V |
GND | GND |
Trig | Pin digital 9 |
Echo | Pin digital 10 |
🔧 Código Básico en Arduino
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print(“Distancia: “);
Serial.print(distance);
Serial.println(” cm”);
delay(500);
}
🛠️ Proyectos Comunes
- 🚗 Robot evita obstáculos
- 📏 Medidor de distancia digital
- 🧱 Sensor de nivel para líquidos
- 🏠 Sistemas de seguridad o alarmas
- 🚪 Contador de personas o apertura automática
🛠️ Proyectos Comunes con HC-SR04
-
🚗 Robot Evita Obstáculos
Descripción:
El Sensor HC SR04 detecta la distancia frontal. Si el obstáculo está cerca (por ejemplo, < 15 cm), el robot gira o retrocede.
Conexiones básicas:
- HC-SR04 al microcontrolador (Arduino/Nano):
- Trig → Pin 9
- Echo → Pin 10
- Motores controlados con puente H (L298N o L293D)
Condición de control:
if (distance < 15) {
// detener o cambiar dirección
}
Componentes sugeridos:
- Arduino Uno o Nano
- Sensor HC-SR04
- Módulo L298N
- Motores DC
- Batería Li-ion 7.4V
-
📏 Medidor de Distancia Digital (con display LCD/Serial)
Descripción:
Muestra la distancia medida en un display LCD o monitor serial.
Conexiones adicionales:
- LCD I2C → SDA/SCL (A4/A5 en Arduino UNO)
Código básico adicional (LCD):
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
lcd.begin();
lcd.print(“Distancia:”);
lcd.setCursor(0, 1);
lcd.print(distance);
Componentes:
- Sensor HC-SR04
- Display LCD 16×2 con I2C
- Arduino Uno/Nano
- Jumpers + protoboard
-
🧱 Sensor de Nivel de Líquido (tanques)
Descripción:
El sensor se ubica en la parte superior del tanque para medir la distancia hasta la superficie del líquido. Se calcula el nivel restando esa distancia a la altura del tanque.
Fórmula:
nivel_cm = altura_tanque – distancia;
Aplicaciones típicas:
- Control de bombas de agua
- Alertas por nivel bajo/alto
Extras opcionales:
- LED rojo/verde para indicar niveles
- Alarma sonora (buzzer)
-
🏠 Sistema de Alarma por Detección de Movimiento
Descripción:
Se activa una alarma si se detecta movimiento en un rango definido (por ejemplo, un cambio abrupto de distancia).
Lógica básica:
if (abs(distancia – distanciaAnterior) > 10) {
// Activar alarma
}
Componentes:
- Sensor HC-SR04
- Buzzer activo
- Arduino
- LED de estado
-
🚪 Contador de Personas (paso por puerta)
Descripción:
Coloca dos sensores HC-SR04 en una puerta. Detectan el orden de entrada/salida para incrementar o decrementar un contador.
Lógica ejemplo:
- Si Sensor 1 activa antes que Sensor 2 → entrada
- Si Sensor 2 activa antes que Sensor 1 → salida
Requiere:
- Dos sensores HC-SR04
- Algoritmo de control por interrupciones o comparación de tiempos
- Display o salida serial para mostrar el conteo
🔊 ¡Detecta distancias con precisión!
El Sensor HC SR04 mide desde 2 cm hasta 4 metros usando ultrasonido.
Ideal para tus proyectos con Arduino: robots, alarmas, control de nivel ¡y mucho más!
📦 ¡Disponible en MicroElectronics!
📍 Homero Reyes y Manuel de J Calle, La Troncal
📲 WhatsApp: 0991224727