Tutoriales SENSOR ULTRASONICO



Tutorial: sensor ultrasonidos HC-SR04


El sensor de ultrasonidos se enmarca dentro de los sensores para medir distancias o superar obstáculos, entre otras posibles funciones.
En este caso vamos a utilizarlo para la medición de distancias. Esto lo consigue enviando un ultrasonido (inaudible para el oído humano por su alta frecuencia) a través de uno de la pareja de cilindros que compone el sensor (un transductor) y espera a que dicho sonido rebote sobre un objeto y vuelva, retorno captado por el otro cilindro.

Este sensor en concreto tiene un rango de distancias sensible entre 3cm y 3m con una precisión de 3mm.

¿Qué recibimos en el sensor? 

El tiempo que transcurre entre el envío y la recepción del ultrasonido.


¿Cómo vamos a traducir dicho tiempo en distancia?

Aprovechando que la velocidad de dicho ultrasonido en el aire es de valor 340 m/s, o 0,034 cm/microseg (ya que trabajaremos con centímetros y microsegundos). 

Para calcular la distancia, recordaremos que v = d / t (definición de velocidad: distancia recorrida en un determinado tiempo).

De la fórmula anterior despejamos d, obteniendo d = v · t, siendo v la constante anteriormente citada y t el valor devuelto por el sensor a la placa Arduino.

También habrá que dividir el resultado entre 2 dado que el tiempo recibido es el tiempo de ida y vuelta.

Ahora vamos a la Práctica

        Da click en el siguiente enlace y realiza la actividad descrita.



El siguiente es el código que se debe copiar en el IDE de Arduino

// Se importa la libreria NewPing
#include <NewPing.h>

const int trig = 4;    //Pin trig en pin 4
const int echo = 3;    //Pin Echo en pin 3
const int zumbador = 5;  //zumbador en pin 5
const int led = 8;      //LED en pin 8

int distancia;  //Guardamos la distancia que detecte el sensor
int pausa;      //Guarda el tiempo de espera entre parpadeo

// Se crea un objeto con la libreria NewPing llamado sonar
NewPing sonar(trig, echo, 200); // Each sensor's trigger pin, echo pin, and max distance to ping.

void setup(){
  pinMode(zumbador,OUTPUT); //Declaramos el zumbador como salida
  pinMode(led, OUTPUT);   //Declaramos el LED como salida
}

void loop(){

  // en la variable distancia guardamos la distancia en centimetros que detecta el sonar respecto al objetivo
  distancia = sonar.ping_cm();

  if (distancia < 100){ //restringir el alcance a 1m (100cm)
    pausa = distancia * 10; //guardamos el tiempo de pausa
    digitalWrite(zumbador, HIGH); //encendemos el zumbador
    digitalWrite(led,HIGH); //Encendemos el LED
    delay(pausa); //Agregamos un delay que sea igual al tiempo de pausa
  }

  digitalWrite(zumbador, LOW); //apagamos el zumbador
  digitalWrite(led, LOW);   //apagamos el LED
  delay(pausa);  // esperamos el tiempo de pausa
}





Bibliografía

http://elcajondeardu.blogspot.com.es/2014/03/tutorial-sensor-ultrasonidos-hc-sr04.html

No hay comentarios:

Publicar un comentario