Sensor Ultrasónico HC-SR04

Sensor Ultrasónico HC-SR04

La semana pasada me llego (de mi proveedor favorito) un módulo HC-SR04. Es un sensor ultrasonico de 4 pines.


El modo de uso es el siguiente:
Se aplica un pulso de 10us (microsegundos) en el pin Trigger (líneas 17 – 21). Esto le dice al módulo que emita una secuencia de pulsos (10 pulsos de 40kHz) y luego espera el retorno de la señal en el pin Echo. Si asi fuese, el tiempo que este en nivel logico alto dicho pin, será el tiempo (t_H en \museg) desde que salio la señal hasta que la recibio.

El cálculo de la distancia se realiza midiendo el tiempo que tarda la señal en ir y volver,  multiplicándolo por la velocidad del sonido y dividiendolo por 2.

 l = \frac{340 t}{2} = 170t_H

En la siguiente fórmula, ya tenemos aplicadas las unidades que usaremos (t_H en \mus y l en cm)

 l = 0,017 t_H


// Codigo basico para probar el sensor
// Arduino UNO

#define pinTrigger 9
#define pinEcho 8

void setup()
{
  pinMode(pinTrigger, OUTPUT);
  pinMode(pinEcho, INPUT);
  Serial.begin(9600);
  Serial.println("Prueba de sonar");
}

void loop()
{
  digitalWrite(pinTrigger, LOW);
  delayMicroseconds(2);
  digitalWrite(pinTrigger, HIGH);
  delayMicroseconds(10);
  digitalWrite(pinTrigger, LOW);
  long tH = pulseIn(pinEcho, HIGH);

  long distancia = tH * 0.017;
  Serial.print(distancia);
  Serial.println(" cm");
  delay(1000);
}

Información útil:

Datasheet

HC-SR04

Leave a Reply

Your email address will not be published. Required fields are marked *