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 useg) 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,  multiplicandolo por la velocidad del sonido y dividiendolo por 2.

l = \frac{{340 t}_{H}}{2} = {170 t}_{H}

En la siguiente fórmula, ya tenemos aplicadas las unidades que usaremos ({t}_{H} en \mu s 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

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s