Proyectos


Medidor de distancias por ultrasonidos
Lorenzo M. Oliver (webmaster@todomicrostamp.com)

Para nuestro módulo medidor de distancias, usaremos el sensor ultrasónico PING de Parallax (PING))) Ultrasonic Sensor). Este sensor está basado en ultrasonidos y es capaz de medir distancias contra un objeto desde 3cm a 3m.

El modo de funcionamiento es el siguiente: una de las cápsulas ultrasónicas emite una señal inaudible para el oído humano. Cuando la señal rebota sobre un objeto, es captada por la otra cápsula. El tiempo que ha tardado en recibirse dicha señal es calculado para determinar la distancia a la que se encuentra el objeto que la ha hecho rebotar.

Este sensor presenta mucha facilidad tanto para la instalación como para la programación en la tarjeta de desarrollo BOE (Board Of Education) que nos servirá como módulo para alojar el BASIC Stamp 2, el sensor ultrasónico y otros dispositivos más, que usaremos en las siguientes etapas del desarrollo de este proyecto.

También será posible en cierta medida utilizar una Home Work, con un BS1, aunque con ciertas limitaciones que podrán hacerse evidentes a lo largo del desarrollo del proyecto. Por esta razón, comenzamos usando un BS2 sobre una BOE para valorar todas las posibilidades y limitaciones que puedan existir.

El conexionado

El conexionado es muy simple: como el sensor ultrasónico presenta un conector de 3 patillas que se ajusta bien a los agujeros de la Board, simplemente procedemos a insertarlo directamente, de manera que por detrás del circuito del sensor podamos disponer el conexionado a la alimentación de +5Vcc (patilla central con cable rojo a Vdd), a masa (patilla GND con cable negro a Vss) y a puerto P9 del BS2 (patilla Signal con cable azul a P9).

LISTADO DEL CÓDIGO

Ahora, lo que nos interesa es visualizar en la pantalla de nuestro monitor, mediante el comando DEBUG, las distancias contra cualquier objeto que pueda proporcionarnos el sensor ultrasónico, en tiempo real.



' PingTest.bs2
' {$STAMP BS2}
' {$PBASIC 2.5}

tiempo VAR Word

DO
PULSOUT 9, 5
PULSIN 9, 1, tiempo
DEBUG HOME, "Tiempo = ", DEC5 tiempo
tiempo = tiempo ** 2251
DEBUG CR, "Distancia = ", DEC4 tiempo, " cm"
PAUSE 100
LOOP

El comando PULSOUT activa el sensor enviando un pulso al pin 9 con una duración de 10µs ("5" x 2µs como unidad de duración en el BS2). A continuación el comando PULSIN nos proporciona el resultado de la "medida del eco" con la variable "tiempo". Esa medida es calculada a continuación para proporcionarnos la distancia del rebote. Mediante DEBUG mostramos en pantalla tanto el valor del tiempo en el rebote ("Tiempo"), como el valor de la distancia de este ("Distancia"). Y todo este proceso se repite continuamente mediante el ciclo DO-LOOP


Más información:

- Hoja técnica del sensor: www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
- Nuts & Volts March 2005: Ping... I See You





Robótica con microcontroladores BASIC Stamp de Parallax. Cualquier nombre de productos o marcas registradas que puedan aparecer en este sitio web, aparecen con fines de identificación y están registradas por sus respectivas compañías. 'BASIC Stamp' es una marca registrada de Parallax, Inc. Aviso legal