Que Es Un Sensor de Ultrasonidos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

QUE ES UN SENSOR DE

ULTRASONIDOS?
Un sensor de ultra sonidos es un dispositivo para medir
distancias. Su funcionamiento se base en el envío de un pulso de alta
frecuencia, no audible por el ser humano. Este pulso rebota en los
objetos cercanos y es reflejado hacia el sensor, que dispone de un
micrófono adecuado para esa frecuencia.

Midiendo el tiempo entre pulsos, conociendo la velocidad del


sonido, podemos estimar la distancia del objeto contra cuya superficie
impacto el impulso de ultrasonidos

Los sensores de ultrasonidos son sensores baratos, y sencillos de


usar. El rango de medición teórico del sensor HC-SR04 es de 2cm a 400
cm, con una resolución de 0.3cm. En la práctica, sin embargo, el rango
de medición real es mucho más limitado, en torno a 20cm a 2 metros.

Los sensores de ultrasonidos son sensores de baja precisión. La


orientación de la superficie a medir puede provocar que la onda se
refleje, falseando la medición. Además, no resultan adecuados en
entornos con gran número de objetos, dado que el sonido rebota en las
superficies generando ecos y falsas mediciones. Tampoco son
apropiados para el funcionamiento en el exterior y al aire libre.

Anuncio:

Pese a esta baja precisión, que impide conocer con precisión la


distancia a un objeto, los sensores de ultrasonidos son ampliamente
empleados. En robótica es habitual montar uno o varios de estos
sensiores, por ejemplo, para detección de obstáculos, determinar la
posición del robot, crear mapas de entorno, o resolver laberintos.

En aplicaciones en que se requiera una precisión superior en la


medición de la distancia, suelen acompañarse de medidores de distancia
por infrarrojos y sensores ópticos.
Existen otros sensores para detectar distancias. En distancias medias y largas tenemos
el sensor óptico Sharp GP2Y0A02YK0 y en muy cortas distancias el detector de
obstáculos infrarrojos.

PRECIO
El sensor de ultrasonidos HC-SR04 es un sensor barato. Podemos
encontrar unidades por 0,65€ en AliExpress.

¿CÓMO FUNCIONA UN SENSOR


DE ULTRASONIDOS?
El sensor se basa simplemente en medir el tiempo entre el envío y
la recepción de un pulso sonoro. Sabemos que la velocidad del sonido
es 343 m/s en condiciones de temperatura 20 ºC, 50% de humedad,
presión atmosférica a nivel del mar. Transformando unidades resulta
Es decir, el sonido tarda 29,2 microsegundos en recorrer un
centímetro. Por tanto, podemos obtener la distancia a partir del tiempo
entre la emisión y recepción del pulso mediante la siguiente ecuación.

El motivo de divir por dos el tiempo (además de la velociad del


sonido en las unidades apropiadas, que hemos calculado antes) es
porque hemos medido el tiempo que tarda el pulso en ir y volver, por lo
que la distancia recorrida por el pulso es el doble de la que queremos
medir.

ESQUEMA ELÉCTRICO
El esquema eléctrico que necesitamos es el siguiente.
ESQUEMA MONTAJE
Mientras que el montaje en una protoboard sería el siguiente.
EJEMPLO DE CÓDIGO

SIN LIBRERÍAS
Para activar el sensor necesitamos generar un pulso eléctrico en el
pin Trigger (disparador) de al menos 10us. Previamente, pondremos el
pin a Low durante 4us para asegurar un disparo limpio.

Posteriormente usamos la función "pulseIn" para obtener el tiempo


requerido por el pulso para volver al sensor. Finalmente, convertirmos el
tiempo en distancia mediante la ecuación correspondiente.
Observar que intentamos emplear siempre aritmética de
enteros, evitando usar números en coma flotante. Esto es debido a
que las operaciones en coma flotante ralentizan mucho el procesador, y
suponen cargar un gran número de librerías en memoria.

1 const int EchoPin = 5;


2 const int TriggerPin = 6;
3  
4 void setup() {
5    Serial.begin(9600);
6    pinMode(TriggerPin, OUTPUT);
7    pinMode(EchoPin, INPUT);
8 }
9  
10 void loop() {
11    int cm = ping(TriggerPin, EchoPin);
12    Serial.print("Distancia: ");
13    Serial.println(cm);
14    delay(1000);
15 }
16  
17 int ping(int TriggerPin, int EchoPin) {
18    long duration, distanceCm;
19    
20    digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
21    delayMicroseconds(4);
22    digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
23    delayMicroseconds(10);
24    digitalWrite(TriggerPin, LOW);
25    
26    duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
27    
28    distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
29    return distanceCm;
30 }

CON LIBRERÍA NEWPING


Otra opción es emplear una librería para facilitarnos el proceso,
como por ejemplo la librería NewPing disponible en el gestor de librerías
del IDE de Arduino.
La librería NewPing aporta funciones adicionales, como la opción de
realizar un filtro de mediana para eliminar el ruido, o emplear el mismo
pin como trigger y echo, lo que nos permite ahorrar muchos pines en
caso de tener múltiples sensores de ultrasonidos.

La librería proporciona diversos ejemplos para ilustrar su uso. El


siguiente ejemplo basado en ellos, muestra el funcionamiento con un
único pin para trigger y echo.

También podría gustarte