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
|