Saltar la navegación

5.- Medidor de distancias

   Arduino también permite controlar un sensor de distancia por ultrasonidos como el sensor HC-SR04. Básicamente, este sensor puede detectar objetos, distancia o nivel en un rango mínimo de 2 cm a máximo de 400 cm, midiendo el tiempo que tarda la onda de ultrasonidos en ir y volver al sensor y teniendo en cuenta que la velocidad del sonido a nivel del mar es de aproximadamente 340 m/s.

   Se puede utilizar, por ejemplo, para diferente tipos de proyectos como lo son alarmas de proximidad, medir niveles de agua de un tinaco o cualquier otro objeto que almacene algún tipo de líquidos. Ten en cuenta que para que este sensor funcione de manera correcta, se requiere de una superficie lisa y perpendicular a la dirección de propagación del sensor

Funcionamiento sensor ultrasonidos

Sensor de distancia por ultrasonidos HC-SR04

Características del HC-SR04

  • Alimentación de 5 volts.
  • Interfaz de cuatro hilos (vcc, trigger, echo, GND).
  • Rango de medición: 2 cm a 400cm.
  • Corriente de alimentación: 1.5mA.
  • Frecuencia de pulso: 40Khz.
  • Apertura del pulso ultrasónico: 15°.
  • Señal de disparo: 10us.
  • Dimensiones del módulo: 45x20x15mm.

Tiene 4 pines

  • VCC: Alimentación + 5V
  • TRIG: Pin para comenzar la medición
  • ECHO: Pin que nos indica cuando ha recibido el rebote de ultrasonidos
  • GND: Tierra

Para poder usar las funciones que controlan el sensor de distancia por ultrasonidos hay que instalar la librería correspondiente. Arduino IDE --> Menú Programa --> Incluir Librería --> Gestinar librería, en este caso:

Ejemplo. Metro digital y Alarma

Programa para usar el sensor como un metro digital y enviar las mediciones al monitor del ordenador. Si la distancia es menor de 20 cm se enciende un led de alarma.

La siguiente imagen muestra cómo se conectara el sensor HC-SR04 y el Arduino de manera correcta basándonos en nuestra programación. Por lo general, se recomienda dejar los mismos pines, sin embargo, si quieres cambiarlos, solo revisa que tus conexiones sean correctas en el programa.

Sensor de distancia por ultrasonidos

----------------------------------------------------------------------------------------------------------------------------------

// Programa para medir distancias y las envía al monitor serie. Si la distancia es menor de 20 cm se enciende el led de alarma

long dis;
long tiem;
int led1 = 11;

void setup( ){
Serial.begin(9600);
pinMode(9, INPUT);//entrada del pulso generado por el sensor ultrasonico
pinMode
(10, OUTPUT); //salida del pulso generado por el sensor ultrasónico
pinMode(11, OUTPUT);//alarma de la distancia(encenderá¡ el led)
}

void
loop(){
digitalWrite(10,LOW);//recibimiento del pulso.
delayMicroseconds(5);
digitalWrite(10, HIGH);//envío del pulso.
delayMicroseconds(10);
tiem=pulseIn(9, HIGH); //fórmula para medir el pulso entrante.
dis= long(0.017*tiem); //fórmula para calcular la distancia del sensor ultrasónico.
if(dis<20){ // Si distancia < 20cm el led de alarma se encenderá.
digitalWrite(11, HIGH);
}
else
{
digitalWrite(11,LOW);
}
Serial.print("LA DISTANCIA MEDIDA ES: ");
Serial.print(dis);
Serial.println(" cm");
delay(200);
}

----------------------------------------------------------------------------------------------------------------------------------

Cálculo de distancias con sensor de ultrasonidos

Fuente: