Como usar el sensor de distancia ultrasónico HC-SR04 con Arduino

El sensor de distancia ultrasónico HC-SR04 utiliza los ultrasonidos para determinar la distancia a un objeto. Ofrece una excelente precisión y lecturas estables en un paquete fácil de usar. La operación no se ve afectada por la luz solar o el material negro como los sensores de infrarojos, aunque los materiales blandos como las telas pueden ser difíciles de detectar. Está compuesto por un emisor de ultrasonidos y un módulo receptor.

En este post vamos a explicar cómo funciona, algunas de las características y explicaremos algún ejemplo de código Arduino para ayudarle con sus prototipos.




Características del sensor de distancia ultrasónico HC-SR04

  • Fuente de alimentación: + 5V DC
  • Corriente en reposo: <2 mA
  • Trabajo actual: 15mA
  • Ángulo Eficaz: <15 °
  • Distancia: 2 cm – 400 cm
  • Resolución: 0,3 cm
  • Medición de ángulo: 30 grados
  • Disparo por ancho de pulso de entrada: 10uS
  • Dimensiones: 45mm x 20mm x 15mm

Conexiones del módulo ultrasónico HC-SR04

modulo-HC-SR04-arduino

Este módulo tiene cuatro pines:

  • VCC: + 5V DC
  • Trig: Receptor (INPUT)
  • Echo: Emisor (SALIDA)
  • GND: GND

El sensor de distancia ultrasónico HC-SR04 ofrece un rango de mediciones de entre 2cm y 400cm, la precisión puede alcanzar los 3mm . Los módulos incluyen  el transmisor ultrasónico, el receptor y el circuito de control .

Principio básico de trabajo y diagrama de temporización

  • Solo se necesita un impulso de alto nivel (HIGH) en el emisor (Trigger) de al menos  10us para comenzar.
  • Entonces el módulo comienza a emitir 8 ciclos de ultrasonidos a 40 kHz y recibe su eco.
  • El eco es el tiempo que tarda en ir y volver la señal.
  • Se puede calcular la distancia sabiendo el tiempo que tarda en ir y volver la señal a la velocidad del sonido.




Convertir el tiempo en distancia

La distancia es el tiempo que tarda en ir y volver hasta el sensor. La distancia del objetivo será la mitad de ese tiempo. La velocidad del sonido es la dinámica de propagación de las ondas sonoras. En la atmósfera terrestre es de 343 m/s (a 20 °C de temperatura, con 50 % de humedad y a nivel del mar).

La distancia al objetivo en centímetros la obtenemos al multiplicar el tiempo que tarda entre dos (en milisegundos) por la velocidad del sonido (en milisegundos por centímetro) .

cm = (duración / 2) * 0,0344 (cm/ms)

Como utilizar es sensor HC – SR04 con Arduino

 

En este proyecto el sensor ultrasónico calculará y escribirá la distancia en el monitor de serie de su ordenador. Es muy simple.

 

esquema-circuito-hc-sr04

Nuestro objetivo es ayudarle a entender cómo funciona este sensor y que pueda utilizar este ejemplo en sus propios proyectos.

/* Como usar el sensor de distancia ultrasónico HC-SR04 con Arduino

    Pines del sensor de distancia ultrasónico HC-SR04
        VCC: +5VDC
        Trig : Trigger (INPUT) - Pin10
        Echo: Echo (OUTPUT) - Pin 9
        GND: GND
 */
 
 
int trigPin = 10;   // Elegimos el pin para Trig
int echoPin = 9;    // Elegimos el pin para Echo
long duration, cm; // Variables que utilizaremos
 
void setup() {
  
 
  Serial.begin (9600);   // Iniciamos el puerto serial
 
  pinMode(trigPin, OUTPUT);  //Definimos inputs y outputs
  pinMode(echoPin, INPUT);
}
 
void loop() // Iniciamos la secuencia 
{
 
 
  // El emisor se activa al recibir un impulso HIGH de al menos 10 milisegundos.
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
 

  // La duración es el tiempo, en microsegundos que tarda la señal
  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);
 
  // Convertimos el tiempo en distancia
  cm = (duration/2) *0.0344; 
  
  // Configuramos al información de salida del puerto serial
  Serial.print("Distancia al objetivo >> ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(500); // Tiempo entre mediciones
}

 

puerto-serial-arduino

 

Nota: Hay una biblioteca de Arduino llamada NewPing_v1.5 que puede hacer su vida más fácil cuando se utiliza este sensor.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.