domingo, 4 de noviembre de 2018

Ultrasonido

¿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

343 \frac{m}{s} \cdot{} 100 \frac{cm}{m} \cdot{} \frac{1}{1000000} \frac{s}{\mu s} = \frac{1}{29.2} \frac{cm}{\mu s}

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.

Distancia(cm)= \frac {Tiempo(\mu s)}{29.2 \cdot 2}

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.
sensor-ultrasonico-explicacion
Lo que vamos a realizar es un proyecto donde al detectar un objeto el ultrasonido a menos de 5 cm prenderá un led.

Diagrama



Programación

//Declaramos los pines
 const int led = 11;
const int trig = 9;
const int echo = 8; //Declaramos algunas variables long tiempo; long distancia;
void setup() {
 pinMode(led,OUTPUT);
pinMode(trig, OUTPUT); //Activación del pin trig como salida: para el pulso ultrasónico pinMode(echo, INPUT); //Activación del pin echo como entrada: tiempo del rebote del ultrasonido
 }
void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(5); //Par cuestión de estabilización del sensor
digitalWrite(trig, HIGH); //Enviamos el pulso ultrasónico
delayMicroseconds(10);
tiempo = pulseIn(8, HIGH); /Función para medir la longitud del pulso entrante. Mide el tiempo transcurrido entre el envío del pulso ultrasónico y cuando el sensor recibe el rebote./
distancia = int(0.017*tiempo); //Fórmula para calcular la distancia obtenida en cm if(distancia <= 5){
digitalWrite(led,HIGH); //Si el sensor mide una distancia más pequeña o igual a 5cm, enciende el LED
}
else{
digitalWrite(led,LOW); //Sinó, apaga el LED
 }
 }

Graba el proyecto como ultrasonido

No hay comentarios:

Publicar un comentario