You are on page 1of 5

Medir Distancias con el Sensor

Ultrasnico PING
Los sensores ultrasnicos permiten medir distancias desde los 2-3 centmetros
hasta los 3-6 metros (para algunos modelos populares) sin la necesidad de un
contacto fsico, lo cual es muy til en una amplia variedad de aplicaciones,
desde la robtica y los sistemas de alarma, hasta aplicaciones industriales y por
supuesto, tambin en proyectos de pasatiempo para los aficionados al bricolaje
electrnico.
El Sensor Ultrasnico de Distancia PING (o "PING)))" como lo denomina el
fabricante) tiene una interfaz simple de tres terminales y utiliza una sola linea
para lograr una comunicacin bidireccional con su dispositivo de control
(tpicamente un microcontrolador).
No ests muy seguro de cmo hacer las lecturas de distancia de este sensor?
En este tutorial presentamos un sistema bsico con un microcontrolador y un
programa en lenguaje C para la interfaz con el sensor PING de Parallax. El
microcontrolador lee el dato de la distancia del sensor y lo visualiza en una
pantalla LCD genrica.

Diagrama de Circuito con el HC-SR04

Caractersticas Principales del Sensor PING


El sensor PING funciona mediante la transmisin de una rfaga de ultrasonido
en una frecuencia muy por encima del rango auditivo humano y provee un
pulso de salida, el cual corresponde con el tiempo requerido por el eco (rebote)
para retornar hasta el sensor. Al medir la duracin de este pulso se puede
calcular fcilmente la distancia al objetivo.
Las caractersticas ms importantes del sensor PING son las siguientes:

Rango: 2 cm a 3 m

LED indicador de rfaga que muestra la actividad del sensor

Interfaz bidireccional por pulso, en un nico pin de E/S para


comunicacin con microcontroladores TTL (5V) o CMOS (3.3V)
Disparo de entrada: pulso TTL positivo, 2 s mnimo, 5 s tpico
Pulso eco de salida: pulso positivo TTL, 115 s mnimo a 18.5 ms
mximo.

Funcionamiento del Sensor Ultrasnico de Distancia PING


El sensor PING posee solamente tres terminales, dos de las cuales son para la
alimentacin de voltaje (VDD y GND) y la tercera (SIG) es usada para la
comunicacin bidireccional con el microcontrolador.
La comunicacin con el sensor es realmente muy simple. Una vez que se ha
entendido el protocolo, es fcil implementarlo.

Protocolo de Comunicacin
El sensor PING detecta objetos mediante la emisin de una rfaga ultrasnica y
luego "escucha" el eco de retorno.
Bajo el control de un microcontrolador, el cual debe enviar un pulso corto de
disparo, el sensor emite una corta rfaga ultrasnica a una frecuencia de 40
KHz. La rfaga viaja a travs del aire, choca con un objeto y luego rebota hacia
el sensor. El sensor PING provee un pulso de salida al microcontrolador, que

inicia cuando la rfaga es enviada y termina cuando el eco es detectado, de ah


que la longitud del pulso corresponda con la distancia al objeto.

De la explicacin arriba mencionada se puede resumir el siguiente algoritmo


bsico para la lectura del sensor:

1.

Configurar el pin de comunicacin en el microcontrolador como salida.

2.

Escribir un "0" lgico al pin de comunicacin.

3.

Esperar un tiempo corto para estabilizar la lnea de comunicacin (5 s).

4.

Escribir un "1" lgico al pin de comunicacin. (Inicio de pulso de disparo).

5.

Retardo de tiempo (2-5 s) para lograr el ancho de pulso de disparo del


sensor.

6.

Terminar el pulso de disparo escribiendo un "0" lgico al pin de


comunicacin.

7.
8.

9.
10.

Configurar el pin de comunicacin como entrada.


Esperar hasta recibir un "1" lgico en el pin de comunicacin. (Inicio del
pulso de eco de salida del sensor).
Activar el temporizador del PIC
Esperara hasta recibir un "0" lgico en el pin de comunicacin. (Fin del
pulso de eco de salida del sensor).

11.

Desactivar el temporizador del PIC.

12.

Leer conteo efectivo en el temporizador en s.

13.

Calcular la distancia en funcin a la duracin del pulso de eco de salida


del sensor.
Debido a que la duracin del pulso provisto por el sensor contiene la
informacin del tiempo que tarda la rfaga en ir y volver desde el objetivo, esta
duracin se debe dividir por 2 para calcular la distancia, de otro modo
estaramos calculando el doble de la distancia (ida + vuelta).
Referencia:
http://tecbolivia.com/index.php/articulos-y-tutoriales-microcontroladores/17como-medir-distancias-con-el-sensor-ultrasonico-ping

Realizacin del Programa en MikroC para Avr

void main ()
{

int width;
int range;
TRISA=0x08;
TRISB=0x00;
Loop:
PORTB=0x00;
width=0;
range=0;
PORTA=0x04; //send pulse with a 20us width
delay_us(20);
PORTA=0x00;
while (PORTA.F3==0) //wait until an echo is received
{
}
while (PORTA.F3==1) //calculate the width of the echo received
{
delay_us(10);
width++;
}
range=(width*10)/58; //calculate range
if (range<100)
//if range less than 100m turn on LED
{
PORTB=0x10;
delay_ms(500);
}
PORTB=0x00;
delay_ms(100);
goto Loop;
}4444

You might also like