Tutorial Arduino con el Sensor de ultrasonidos AIDARAC 4ºESO Ies Monterroso
1️⃣ ¿Qué es un sensor de ultrasonidos?
Un sensor de ultrasonidos es un dispositivo que mide distancias sin tocar los objetos.
Funciona enviando un pulso de sonido ultrasónico (que no podemos oír porque está por encima de 20.000 Hz) y midiendo el tiempo que tarda en rebotar y volver al sensor.
Es el mismo principio que usan:
- Los murciélagos 🦇
- Los delfines 🐬
- Los sensores de aparcamiento de los coches 🚗
El modelo más utilizado en educación es el HC-SR04.

2️⃣ Material necesario
- 1 × Arduino Mega 2560
- 1 × Sensor ultrasónico HC-SR04
- Cables Dupont
⚠️ No necesitamos resistencias adicionales porque el sensor ya las incorpora.
3️⃣ ¿Cómo funciona el HC-SR04?
El sensor tiene 4 pines:
| Pin | Función |
|---|---|
| VCC | Alimentación (5V) |
| GND | Tierra |
| TRIG | Envía el pulso ultrasónico |
| ECHO | Recibe el rebote |
Proceso:
- Arduino envía un pulso de 10 microsegundos al pin TRIG.
- El sensor emite el sonido.
- Cuando el sonido rebota y vuelve, el pin ECHO se activa.
- Medimos el tiempo que ha tardado.
- Convertimos ese tiempo en distancia.
4️⃣ Conexión en Arduino Mega
Conectamos:
| Sensor | Arduino Mega |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | Pin 9 |
| ECHO | Pin 10 |
📌 Importante: En Arduino Mega podemos usar prácticamente cualquier pin digital.
5️⃣ Código completo
Este es el programa que deben copiar en el IDE de Arduino:
// Definimos los pines
const int trigPin = 9;
const int echoPin = 10;// Variables para el cálculo
long duracion;
float distancia;void setup() {
Serial.begin(9600); // Iniciamos comunicación serie
pinMode(trigPin, OUTPUT); // TRIG es salida
pinMode(echoPin, INPUT); // ECHO es entrada
}void loop() {
// Aseguramos que el TRIG está en LOW
digitalWrite(trigPin, LOW);
delayMicroseconds(2); // Enviamos pulso de 10 microsegundos
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW); // Medimos el tiempo que tarda en volver el sonido
duracion = pulseIn(echoPin, HIGH); // Calculamos la distancia
distancia = duracion * 0.034 / 2; // Mostramos la distancia en el monitor serie
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm"); delay(500);
}
6️⃣ Explicación del cálculo
La clave está aquí:
distancia = duracion * 0.034 / 2;
¿Por qué 0.034?
- El sonido viaja aproximadamente a 340 m/s
- Eso equivale a 0.034 cm por microsegundo
Dividimos entre 2 porque:
- El tiempo medido es de ida y vuelta
- Solo queremos la distancia de ida
7️⃣ ¿Qué deben observar los alumnos?
- Abrir el Monitor Serie
- Poner la velocidad en 9600 baudios
- Acercar y alejar la mano
- Ver cómo cambia la distancia en tiempo real
8️⃣ Posibles errores y soluciones
🔴 Siempre marca 0 cm
→ Revisar conexiones del pin ECHO
🔴 Valores muy grandes o inestables
→ Comprobar que no haya objetos muy lejos o superficies que absorban sonido
🔴 No aparece nada en el monitor
→ Revisar que esté seleccionada la placa correcta:
Arduino Mega 2560
9️⃣ Actividad propuesta para clase
- ¿A qué distancia deja de detectar correctamente?
- ¿Es más preciso a corta o larga distancia?
- ¿Qué ocurre si el objeto es blando (ropa) frente a duro (pared)?
🔟 Ampliación teórica (nivel 4º ESO)
Este sensor se basa en el principio físico de:
Velocidad = Espacio / Tiempo
Reordenando:
Espacio = Velocidad × Tiempo
Aquí estamos aplicando matemáticas reales en un sistema electrónico real.
🎯 Conclusión
Con este proyecto el alumnado aprende:
- Programación en Arduino
- Uso de sensores
- Medición de tiempo
- Aplicación de fórmulas físicas
- Comunicación serie
Es un proyecto perfecto para introducir la robótica y la automatización en 4º ESO.
Etiqueta:#ciencia, 4 de ESO, AIDARAC, Arduino IDE, ies monterroso, Sensor de ultrasonidos, sensores, steam, tecnología, tic
