Sensor Ultrasonido HC-RS04 Arduino y Microbit
Proyecto Robot Sumo
Sensores de Ultrasonido HC-SR04
Guía de Conexión Paso a Paso
Código Profesional para Robot Sumo
Este programa permite al robot detectar obstáculos en tiempo real para evitar colisiones.
// 1. Definimos los pines de conexión
#define trigPin 9 // Envía el pulso
#define echoPin 8 // Recibe el eco
// 2. Variables de medición
long duracion;
int distancia;
void setup() {
// 3. Monitor Serial para PC
Serial.begin(9600);
// 4. Configuración de pines
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// 5. Limpieza del emisor
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// 6. Activación del pulso (10us)
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// 7. Lectura del tiempo de rebote
duracion = pulseIn(echoPin, HIGH);
// 8. Cálculo de distancia (cm)
// Vel. sonido = 0.034 cm/us (Ida y vuelta / 2)
distancia = duracion * 0.034 / 2;
// 9. Salida de datos
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
delay(500); // Pausa de lectura
}Explicación Técnica
Paso 1: Definición
Usamos #define para que sea fácil cambiar los pines si modificas el hardware del robot.
Paso 2: Configuración
trigPin debe ser OUTPUT para disparar el sonido y echoPin INPUT para escucharlo.
Paso 3: Disparo
El pulso de 10 microsegundos es el "estándar de oro" para despertar al sensor HC-SR04.
Paso 4: Matemática
Dividimos entre 2 porque el sonido viaja hasta el objeto y regresa; solo queremos el camino de ida.
def medir_distancia():
pins.digital_write_pin(DigitalPin.P0, 0)
control.wait_micros(2)
pins.digital_write_pin(DigitalPin.P0, 1)
control.wait_micros(10)
pins.digital_write_pin(DigitalPin.P0, 0)
duracion = pins.pulse_in(DigitalPin.P1, PulseValue.HIGH)
distancia = (duracion * 0.034) / 2
return Math.round(distancia)
def on_forever():
d = medir_distancia()
serial.write_value("distancia_cm", d)
basic.pause(500)
basic.forever(on_forever)Pruebas Experimentales
- Revisa conexiones y cables sueltos.
- Selecciona placa y puerto en Arduino IDE.
- Carga el código (Botón "Subir").
- Abre el Monitor Serial (9600 baud).
- Prueba objetos a diferentes distancias.
- Verifica rango de 2cm a 400cm.
❓ Preguntas Frecuentes (FAQ)
¿Qué conceptos técnicos aborda el recurso 'Sensor Ultrasonido HC-RS04 Arduino y Microbit'?
Este material desarrollado por Andrés Franchi en ServicioTI aborda Robótica Educativa y Programación Física con BBC micro:bit, orientado a la aplicación práctica mediante ejercicios, código funcional y resolución de problemas paso a paso.
¿Para qué nivel educativo o perfil técnico está recomendado?
Está diseñado tanto para estudiantes y docentes de Educación Básica Integrada (EBI) y Educación Media Superior (EMS - ANEP Uruguay) en Ciencias de la Computación, como para autodidactas y entusiastas de Programación, Educación Tecnológica, Informática Uruguay, ServicioTI.
¿Qué herramientas o software se necesitan para ponerlo en práctica?
Para aprovechar al máximo esta guía se recomienda utilizar Microsoft MakeCode / MicroPython y placa BBC micro:bit (Plan Ceibal / ANEP), pudiendo ejecutarse directamente desde el navegador o descargando los recursos adjuntos en este artículo.

