You are on page 1of 4

MANEJO DE MODULO SRF02

COMO MANEJAR EL SRF02 MEDIANTE I2C Y NO MORIR EN EL INTENTO CONEXIONES Antes que nada veremos las conexiones de las que dispone este maravilloso modulo.
26 de mar.

Hasta aqu todo claro, a excepcin del pin MODO que parece algo misterioso, bienpara el modo I2C que es el que nos interesa, se deja al aire.

DIRECCION Por defecto, el mdulo viene programado con la direccin 0xE0, aunque mediante software podemos cambiarla, bien por capricho, por experimentacin o por necesidad al utilizar varios SRF02 en el mismo bus. La forma de hacerlo viene descrita en la hoja de caractersticas que proporciona el distribuidor, pero lo recordaremos.

Francisco Jos Domnguez

pako_pepe34@hotmail.com

MANEJO DE MODULO SRF02

26 de mar.

Habria que dejar nicamente conectado al bus, el dispositivo a modificar y a continuacin escribir en el registro de comandos (0x00) esta secuencia en el orden que se indica en la tabla de arriba. A continuacin se muestra un ejemplo en MikroBasic de cambio de la 0xE0(por defecto) a la direccin 0xF2

MEDICIN En primer lugar analicemos el byte de direccin que se descompone en dos partes: Los 7 bits mas significativos (MSB) corresponden a la direccin, y el ltimo bit (LSB) corresponde al modo (recepcin o transmisin) Tomemos como ejemplo la direccin por defecto 0xE0, sta seria la secuencia para iniciar la medida y a continuacin leerla:

Francisco Jos Domnguez

pako_pepe34@hotmail.com

MANEJO DE MODULO SRF02

26 de mar.

Analicemos el cdigo, enviamos el primer byte de direccin en modo envio, seleccionamos el registro de comandos 0x00, escribimos el comando 0x51 (medida en centmetros) y paramos el bus. Hacemos una pausa de 70ms para que el mdulo realice la medida y la guarde. Volvemos a iniciar el bus y enviamos el byte de direccin, seleccionando esta vez el registro 0x02 que es el que contiene el byte alto de la medida, repetimos la seal de start, y ahora es cuando aparece ese bit de modo que se integra con la direccin del dispositivo, pero esta vez en ALTO, con lo cual la direccin queda como 0xE1

0xE0 = 1110 000(0) bit de modo (Escritura SRF02) 0xE1 = 1110 000(1)bit de modo (Lectura SRF02)

Ejemplo con direccin 0xE2 0xE2 = 1110 001(0) bit de modo (Escritura SRF02) 0xE3 = 1110 001(1)bit de modo (Lectura SRF02)

a continuacin el mdulo iniciar el envio de sendos bytes (alto y bajo), paramos el bus y eso es todo.
Francisco Jos Domnguez pako_pepe34@hotmail.com

MANEJO DE MODULO SRF02

Esto explica el misterio de los intervalos entre direcciones disponibles segn la hoja de datos: 0xE0 0xE2 0xE4 0xE6 0xE8 .
26 de mar.

Ya que a mas de uno le pasara por la cabeza la duda del porque no se puede programar el modulo con la direccin por ejemplo: 0xE1, 0xE3, 0xE5, etc. Desafortunadamente estos datos importantsimos no estn incluidos en la hoja de caractersticas del mdulo, pero hay que dar gracias a SAN GOOGLE que es fantstico y nos permite poder encontrar muchsima infomacinjeje

NOTA: El retardo de 70ms es debido a que es el tiempo en el peor de los casos que tardara el sensor en recibir el ECO a la distancia mxima que ste puede medir (6 metros) Velocidad del sonido = 340 m/seg aprox. Regla de 3 simple Si el sonido recorre 340 metros en 1000 milisegundos Recorrer 6 metros en X milisegundos 6 x 1000 / 340 = 17,65 ms x 2 = 35 ms (ida y vuelta) Imagino que enviar 2 rfagas, con lo cual: 35 ms x 2 = 70 ms (tiempo que tardara en recorrer 6 metros de ida y 6 metros de vuelta, dos veces) Estos tiempos variaran dependiendo de la temperatura ambiente, pero son simplemente orientativos.

Francisco Jos Domnguez

pako_pepe34@hotmail.com

You might also like