Arduino Nano - Sensor ultrasónico
Este tutorial te enseña a usar Arduino Nano y un sensor ultrasónico para medir la distancia a obstáculos u objetos. En detalle, aprenderemos:
- Cómo funciona un sensor ultrasónico
- Cómo conectar el sensor ultrasónico al Arduino Nano
- Cómo programar Arduino Nano para medir la distancia utilizando el sensor ultrasónico
- Cómo filtrar el ruido de las mediciones de distancia del sensor ultrasónico en el código de Arduino Nano
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del sensor ultrasónico
El sensor ultrasónico HC-SR04 se utiliza para medir la distancia a un objeto mediante ondas ultrasónicas.
El diagrama de pines del sensor ultrasónico
El sensor ultrasónico HC-SR04 tiene cuatro pines:
- Pin VCC: debe conectarse a VCC (5V)
- Pin GND: debe conectarse a GND (0V)
- Pin TRIG: recibe una señal de control (pulso) desde Arduino Nano
- Pin ECHO: envía una señal (pulso) al Arduino Nano. Arduino Nano mide la longitud del pulso para calcular la distancia.

Cómo funciona
- El Arduino Nano genera un pulso de 10 microsegundos en el pin TRIG, lo que provoca que el sensor ultrasónico emita ondas ultrasónicas.
- Cuando las ondas golpean un obstáculo, se reflejan.
- El sensor ultrasónico es capaz de detectar la onda reflejada y medir su tiempo de viaje.
- Después, el sensor genera un pulso en el pin ECHO, con una duración igual al tiempo de viaje de la onda ultrasónica.
- El Arduino Nano mide la duración del pulso en el pin ECHO y calcula la distancia entre el sensor y el obstáculo.
Cómo obtener la distancia desde un sensor ultrasónico
Para calcular la distancia desde el sensor ultrasónico, solo hay que escribir código de Arduino para realizar dos pasos (1 y 6 en Cómo funciona):
- Arduino Nano genera un pulso de diez microsegundos en el pin TRIG.
- Arduino Nano mide la duración del pulso en el pin ECHO.
- Luego, Arduino Nano utiliza la duración del pulso medida para calcular la distancia entre el sensor y el obstáculo.
Cálculo de distancias
Tenemos:
- El tiempo de viaje de la onda ultrasónica (µs): travel_time = pulse_duration
- La velocidad de la onda ultrasónica: speed = SPEED_OF_SOUND = 340 m/s = 0.034 cm/µs
Entonces:
- La distancia de propagación de la onda ultrasónica (cm): distancia_de_viaje = velocidad × tiempo_de_viaje = 0.034 × duración_de_pulso
- La distancia entre el sensor y el obstáculo (cm): distancia = distancia_de_viaje / 2 = 0.034 × duración_de_pulso / 2 = 0.017 × duración_de_pulso
Arduino Nano - Sensor ultrasónico
Los pines del Arduino Nano pueden generar un pulso de 10 microsegundos y medir la duración del pulso. Esto nos permite utilizar dos de los pines del Arduino Nano para determinar la distancia desde el sensor ultrasónico hasta un objeto. Solo necesitamos:
- Conecta un pin de Arduino Nano al pin TRIG del sensor ultrasónico. Este pin del Arduino Nano se usa para generar un pulso de 10 μs al pin TRIG del sensor.
- Conecta otro pin de Arduino Nano al pin ECHO del sensor ultrasónico. Este pin del Arduino Nano se usa para medir el pulso que devuelve el sensor.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Ver La mejor forma de alimentar Arduino Nano y otros componentes.
Cómo programar para el sensor ultrasónico
- Genera un pulso de 10 microsegundos en el pin 3 de Arduino utilizando las funciones digitalWrite() y delayMicroseconds(). Por ejemplo:
- Mida la duración del pulso (en microsegundos) en el pin 2 de Arduino utilizando la función pulseIn(). Por ejemplo:
- Calcular la distancia (cm):
Código de Arduino Nano
Pasos R\u00e1pidos
- Copia el código y ábrelo con el IDE de Arduino.
- Luego, haz clic en el Subir botón en el IDE de Arduino para compilar y subir el código al Arduino Nano.

- Abre el Monitor Serial
- Coloca tu mano frente al sensor ultrasónico
- Consulta la distancia desde el sensor hasta tu mano que se muestra en el Monitor Serial
Explicación del código
Consulta la explicación línea por línea contenida en los comentarios del código fuente.
Cómo filtrar el ruido de las mediciones de distancia del sensor ultrasónico
El resultado de la medición de un sensor ultrasónico puede contener ruido, lo que puede provocar operaciones no deseadas en algunas aplicaciones. Para eliminar el ruido, podemos usar el siguiente algoritmo:
- Tomar varias mediciones y almacenarlas en un arreglo
- Ordena el arreglo en orden ascendente
- Filtra el ruido de la siguiente manera:
- Las muestras más pequeñas se consideran ruido y deben ser ignoradas
- Las muestras más grandes se consideran ruido y deben ser ignoradas
- Se debe tomar el promedio de las muestras centrales
- Ignora las cinco muestras más pequeñas.
- Ignora las cinco muestras más grandes.
- Obtén el promedio de las diez muestras centrales, de la quinta a la decimocuarta.
El código de ejemplo a continuación toma 20 mediciones:
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.
Desafíate a ti mismo
Utilice un sensor ultrasónico para cualquiera de los siguientes proyectos:
- Construyendo un sistema de evitación de colisiones para un coche controlado a distancia.
- Estableciendo el nivel de llenado de un cubo de basura.
- Monitoreando el nivel de llenado de un cubo de basura.
- Abriendo y cerrando automáticamente un cubo de basura. Consejo: Ver Arduino Nano - Servo Motor.
Aplicaciones de sensores ultrasónicos
- Prevención de colisiones
- Detección de llenado
- Medición de nivel
- Detección de proximidad