Professional Documents
Culture Documents
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.
Rango: 2 cm a 3 m
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
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
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