Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Anuncios
Dejar de ver anuncio ¿Por qué este anuncio?
XM Registra
Menú
Indice [ocultar]
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 1/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
Anuncios
Dejar de ver anuncio ¿Por qué este anuncio?
Atención: Como el principio de funcionamiento se basa en el ultrasonido, este sensor no es adecuado para determinar la distancia a los
objetos que absorben el sonido. Los objetos con una superficie lisa son óptimos para la medición, mientras que los materiales porosos
absorben más el sonido.
El sensor esperará un pulso alto (HIGH) con una duración de pulso 10 μs (10 microsegundos) para comenzar su ciclo de detección
a distancia.
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 2/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
En el sensor ultrasónico hc sr04 conectado al arduino será convertido en 8 pulsos con una frecuencia de 40 kHz, que serán
enviados a través del trigger (Trig);
Cuando los pulsos emitidos llegan a un obstáculo, rebotan y vuelven, siendo recibidos por el receptor, el cual generará un pulso
alto (HIGH) en la salida (pin Echo) de igual duración que el tiempo transcurrido entre la emisión y la recepción del pulso.
En el lado del controlador, la señal recibida debe ser convertida a distancia utilizando fórmulas. Al dividir el ancho del pulso por
58.2, obtenemos los datos en centímetros, cuando se divide por 148 – en pulgadas.
Conectar el contacto de tierra al terminal GND de la placa Arduino, conectar la salida de potencia a 5V. Conectar las salidas Trig y Echo al
arduino en los pines digitales. En el siguiente ejemplo se muestra la conexión con una placa de prototipado:
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 3/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
Las características de la librería son las siguientes:
El principio de funcionamiento de cualquier sensor ultrasónico se basa en el fenómeno de reflexión de las ondas acústicas que se propagan
en el aire. Pero como se sabe por el curso de la física, la velocidad de propagación del sonido en el aire depende de las propiedades de este
mismo aire (principalmente de la temperatura).
El sensor, sin embargo, al emitir ondas y medir el tiempo antes de su retorno, no tiene idea de en qué entorno se extenderán y toma un
cierto valor promedio para los cálculos. En condiciones reales, debido al factor de temperatura del aire, el sensor HC-SR04 tiene un
margen de error de 1 a 3-5 cm.
El factor de distancia es importante porque la probabilidad de reflexión de los objetos vecinos aumenta y la señal misma se desvanece con
la distancia.
Además, para aumentar la precisión, el sensor debe estar correctamente alineado: el objeto debe estar dentro del cono del patrón
direccional. En pocas palabras, los «ojos» del HC-SR04 deben mirar directamente al objeto.
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 4/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
Para reducir los errores y los errores de medición, normalmente se realizan los siguientes pasos:
Calcular valores promedio (medir varias veces, quitar las ráfagas, luego encontrar el promedio);
Utilizar sensores (por ejemplo, DHT11 o DHT22) para detectar la temperatura e introducir los factores de corrección;
Montar el sensor en un servomotor, con la ayuda del cual lo vamos girando moviendo el patrón hacia la izquierda o hacia la derecha.
En nuestra sección de proyectos ya vimos un ejemplo de uso de este sensor. Veamos a continuación un ejemplo sencillo de su uso con una
placa Arduino Uno y un sensor de distancia HC SR04. En el sketch obtendremos el valor de la distancia a los objetos y los mostraremos en el
monitor del puerto en el entorno IDE de Arduino. Podrá cambiar fácilmente el croquis y el diagrama de cableado para que el sensor señale
la proximidad o alejamiento de un objeto.
VCC: +5V
Trig: pin 12
Eco: pin 11
Tierra: (GND)
El pulso corto (2-5 microsegundos) pone el sensor de distancia en modo de ecolocalización, enviando ondas ultrasónicas con una
frecuencia de 40 kHz al espacio circundante.
Esperar hasta que el sensor analice las señales reflejadas y determine la distancia por retardo.
Obtener el valor de distancia. Para ello, espere hasta que HC SR04 emita un impulso proporcional a la distancia en la entrada de
ECHO. Determinamos la duración del pulso mediante la función pulseIn, que devolverá el tiempo transcurrido antes de que cambie el
nivel de señal (en nuestro caso, antes de que aparezca el borde del pulso).
Una vez recibido el tiempo, lo traducimos a una distancia en centímetros dividiendo el valor por una constante (para el sensor SR04
es 29,1 para la señal de ida, y la misma cantidad para la señal de regreso, que en total dará 58,2).
Si el sensor de distancia no lee la señal, la conversión de la señal de salida nunca tomará un valor de pulso corto (LOW). Dado que algunos
de los sensores tienen diferentes tiempos de retardo dependiendo del fabricante, se recomienda ajustar el tiempo de retardo manualmente
cuando se utilizan los esquemas especificados (lo hacemos al principio del ciclo).
Si la distancia medida es superior a 3 metros y el HC SR04 empieza a funcionar mal, conviene ajustar el tiempo de retardo a más de 20 ms,
se puede poner en 25 ó 30 ms.
#define PIN_TRIG 12
#define PIN_ECHO 11
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 5/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
void setup() {
Serial.begin (9600);
// Inicializar la comunicación del puerto serie a 9600
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
}
void loop() {
digitalWrite(PIN_TRIG, LOW);
delayMicroseconds(5);
digitalWrite(PIN_TRIG, HIGH);
// Después de ajustar un nivel de señal alto, esperamos unos 10 microsegundos. En este punto el sensor enviará señales con una frecuen
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
#include <NewPing.h>
#define PIN_TRIG 12
#define PIN_ECHO 11
#define MAX_DISTANCE 200 // Constante para determinar la distancia máxima, que consideraremos correcta.
void setup() {
// Inicializar la comunicación del puerto serie a 9600
Serial.begin(9600);
}
void loop() {
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 6/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
#include <NewPing.h>
#define PIN_PING 12 // Pin con Arduino conectado a los pines de disparo y eco en el sensor de distancia
#define MAX_DISTANCE 200 // Distancia máxima que podemos controlar (400-500cm).
void setup() {
Serial.begin(9600); // Inicializar la comunicación del puerto serie a 9600
}
void loop() {
Por último podemos agregar que si bien el modelo SR04 es el más difundido y utilizados de los sensores ultrasónicos, existen otros
modelos de sensores para medir distancia. Algunos de ellos son los modelos SRF05, SRF06, DYP-ME007 y el sensor PING))) de Parallax.
En resumen
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 7/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
Los sensores de distancia por ultrasonidos son lo suficientemente versátiles y precisos como para ser utilizados en la mayoría de los
proyectos. Este tutorial trata sobre el popular sensor HC SR04, que se conecta fácilmente a la placa del arduino (para este propósito, debe
proporcionar dos pines libres a la vez, pero hay una opción para conectar con un sólo pin).
Hay varias librerías libres para trabajar con el sensor (en este tutorial sólo vemos una de ellas: NewPing), pero se puede prescindir de ellas –
el algoritmo de interacción con el controlador interno del sensor es bastante simple.
Basándonos en nuestra propia experiencia, podemos decir que el sensor ultrasónico HC-SR04 muestra una precisión de un centímetro a
distancias de 10 cm a 2 m. Las distancias más cortas y más largas pueden causar interferencias fuertes, que dependen en gran medida de
los objetos circundantes y de cómo se utilizan. Pero en la mayoría de los casos el sensor trabaja muy bien.
Existen muchos sensores para usar con Arduino, puedes comprar los mejores sensores en nuestra tienda online o ver mas tutoriales con
ejemplos de uso de algunos de ellos:
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 8/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
Sensores de Flujo
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 9/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 10/11
3/6/23, 22:06 🤖 Sensor Ultrasónico HC-SR04 | Proyectos con Arduino
Crowdfunding
Inmobiliario
Anuncio Bricksave
https://proyectosconarduino.com/sensores/sensor-de-distancia-hc-sr04/ 11/11