Conexión de dos sensores de distancias SRF08 al controlador BS2
Los sensores de distancias por ultrasonidos SRF08 utilizan un bus de comunicación de tipo I2C. En este ejemplo
comprobará cómo se pueden conectar dos módulos SRF08 al controlador Basic Stamp 2, sin embargo
es posible conectar hasta 16 módulos en el bus I2C. Las líneas SDA (datos) y SCL (reloj)
están conectadas a los pines P8 y P9 en el controlador BS2. Estos son los pines utilizados por el BS2p
para los comandos I2CIN y I2COUT, Para ello es necesario utilizar una versión del firmware C o posterior. El ejemplo que aparece a continuación utiliza una combinación de bits con
los comandos SHIFTIN y SHIFTOUT y por lo tanto permite su uso en todas las variantes BS2 ya que no utiliza los comandos específicos del bus I2C. Se han realizado
comprobaciones con los modelos BS2 y BS2p, aunque los ejemplos deben funcionar con cualquier otro modelo.
El regulador interno de 5 voltios del Basic Stamp 2 no es adecuado para alimentar
los sensores externos. Por lo tanto, se recomienda utilizar un regulador de tensión de 5 voltios independiente.
Esquema de circuito para la conexión de dos módulos de sensores SRF08 al
controlador Basic Stamp BS2
En el esquema anterior aparecen resistencias de tipo pull-up de 4k7 en las líneas SCL y
SDA, tal y como recomienda Parallax.
Para una mayor inmunidad al ruido, se recomienda conectar las resistencias de polarización a la alimentación de 5 voltios de los SRF08
(para no cargar en exceso el módulo BS2) y utilizar resistencias de 1K8.
Cómo cambiar la dirección I2C del sensor de distancias SRF08
Antes de que pueda utilizar sus sensores SRF08 debe re-programar sus direcciones
I2C cambiando la dirección por defecto 0xE0 de fábrica. El sencillo programa que puede bajar mas abajo se encargará de hacerlo. Asegúrese de que sólo tiene un sensor SRF08
conectado cuando haga esta operación. Únicamente deberá cambiar la constante NEW_SRF08_ADDRESS en el programa
con la dirección que desee asignar. Por ejemplo, si desea que su sensor SRF08 esté en la
dirección hexadecimal 0xF2, deberá cambiar la constante NEW_SRF08_ADDRESS por lo siguiente;
NEW_SRF08_ADDRESS with $f2 ' Inserte la nueva dirección para SRF08 aquí
A continuación, deberá ejecutar el programa en el controlador BS2, y verá como se ilumina el led rojo con destellos rápidos en su sensor SRF08 indicando que se ha realizado con éxito el cambio de la dirección. Le aconsejamos que anote la nueva dirección en el mismo sensor SRF08.
Podrá descargar el
programa de cambio de dirección aquí.
Como mostrar las medidas del iluminación y distancias en un PC.
Una vez que haya reprogramado sus sensores SRF08 con sus nuevas direcciones I2C (0xE0 y 0xE2),
en el siguiente código de ejemplo para el BASIC Stamp se visualizarán las lecturas del sensor de luz y la lectura de
la primera medición de la distancia, para cada uno de los sensores SRF08 en una ventana de
depuración (Debug) de un PC.
Puede descargar el código de ejemplo aquí. Para utilizar el código de ejemplo descrito anteriormente, deberá asignar la dirección
0xE0 en uno de sus sensores SRF08 y la dirección 0xE2 en el otro sensor.
Puede encontrar mas información sobre el sensor de distancias por ultrasonidos SRF08 aquí.
|