
SRF04 es un sensor de distancias por ultrasonidos capaz de detectar objetos y calcular la distancia a la que se encuentra
en un rango de 3 a 300 cm. El sensor funciona por ultrasonidos y contiene toda la electrónica encargada de
hacer la medición. Su uso es tan sencillo como enviar el pulso de arranque y medir la anchura del pulso de
retorno. De muy pequeño tamaño, SRF04 destaca por su bajo consumo, gran precisión y bajo precio
por lo que esta reemplazando a los sensores polaroid en los robots mas recientes.

Funcionamiento
El sensor SRF04 funciona emitiendo impulsos de ultrasonidos inaudibles para el oído humano. Los impulsos emitidos
viajan a la velocidad del sonido hasta alcanzar un objeto, entonces el sonido es reflejado y captado de nuevo por
el receptor de ultrasonidos. Lo que hace el controlador incorporado es emitir una ráfaga de impulsos ya continuación
empieza a contar el tiempo que tarda en llegar el eco. Este tiempo se traduce en un pulso de eco de anchura proporcional
a la distancia a la que se encuentra el objeto.
Desde un punto de vista práctico, lo que hay que hacer es mandar un señal de arranque en el pin 3 del
SRF04 y después leer la anchura del impulso que nos proporciona en el pin 2. El pulso de disparo tiene que
tener una anchura mínima de 10 uS. Después leemos el pulso de salida de Eco y medimos su longitud que
es proporcional al eco recibido. En caso de que no se produzca ningún eco, por que no se encuentra un objeto,
el pulso de eco tiene una longitud aproximada de 36 ms. Hay que dejar un retardo de 10 ms desde que se hace una lectura
hasta que se realiza la siguiente, con el fin de que el circuito se estabilice.

SRF04 Característica Técnicas
Tensión |
5V |
Consumo |
30 mA Tip. 50mA Max. |
Frecuencia: |
40 Khz. |
Distancia Mínima: |
3 cm. |
Distancia Máxima: |
300 cm. |
Sensibilidad: |
Detecta un palo de escoba a 3 m. |
Pulso de Disparo |
10 uS min. TTL |
Pulso de Eco: |
100 uS - 18 mS |
Retardo entre pulsos: |
10 mS Mínimo |
Pulso de Eco: |
100 uS - 18 mS |
Tamaño: |
43 x 20 x 17 mm |
Peso: |
10 gr. |

El Rango efectivo del SRF04 es de unos 30º como puede verse en este diagrama
Aplicaciones
Las aplicaciones del detector srf04 son múltiples, pero sobre todas ellas, destaca su utilización como
detector de obstáculos en robots con navegación autónoma, es decir, en aquellos robots que se
mueven encontrando el camino a seguir y sorteando obstáculos. En los robots de pequeño tamaño,
es suficiente con un solo detector, ya que su cono de detección de unos 30 grados es suficiente para cubrir
el frontal del robot. En las plataformas de mayor tamaño, es necesario varias unidades para cubrir de una forma
segura todo el perímetro. Para un robot de unos 30 cm es necesario un mínimo de 2 unidades, para cubrir
solo el frontal. Si queremos cubrir todo el perímetro de avance, es necesario de 3 a 5 unidades para el mismo
tamaño. Una posibilidad es la de montar el sensor en un servo y mover este 180 grados a la vez que se efectúan
diversas mediciones a modo de radar.
Medidas

Como el modulo srf04 solo requiere de una entrada y una salida, se puede conectar fácilmente a cualquier microprocesador
o microcontrolador del mercado, entre los que cabe destacar el basic X24 y los basic stamp, como puede verse en el
siguiente esquema.

Ejemplos de programación SRF04
Ejemplo para el BasicX-24
'***********************************************************
'* Programa de Ejemplo del SRF04 conectado al BasicX-24
'*
'* Copyright 2002 - Devantech Ltd
'* Prohibido el uso comercial de este software
'* Solo para uso privado y educacional
'*
'* Escrito por Gerald Coe - Febrero 2002
'***********************************************************
Sub Main()
Const EchoPin As Byte = 14 ' Indica el pin para Pulso de eco
Const TrigPin As Byte = 13 ' Indica el pin para Puso de disparo
Dim Range As Integer
Call PutPin(EchoPin, bxInputTristate)
Call PutPin(TrigPin, bxOutputLow)
do
Call PulseOut(TrigPin, 10, 1) ' Pulso de disparo de 10 us
Range = PulseIn(EchoPin, 1) \ 54 ' Usar 54 para cm y 137 para pulgadas
Debug.Print "Range is "; CStr(Range) ' Manda la distacia
Call Delay(0.1) ' 100mS de retardo entre mediciones
 
loop
End Sub
Puede bajarse el archivo bas desde aqui
Ejemplo para el Basic Stamp
'Esta subrutina mide la distancia de un sensor SRF04
'conectado a un Basic Stamp. La distancia en cm se envia al puerto
'serie para su visualizacion en la pantalla.
'Escrito por Pablo Pompa --- pablo@superrobotica.com---
'
wDistancia var word
Disparo con 13 'Este es el pin usado para el pulso de disparo
Eco con 14 ' Este es el pin de entrada del pulso de eco
'
Principal:
Gosub Medida 'Llama a la rutina de medir
Debug dec wDistancia, cr 'Muestra el valor en la pantalla
pause 200 'Pausa entre medidas
Goto Principal 'Repite el proceso
'
Medida:
pulsout Disparo,5 'Pulso de disparo
output Disparo 'quita el pulso
rctime Eco,1,distI 'Mide el pulso de eco
wDistancia = wDistancia/29 ' Usar 29 para cm y 74 para pulgadas
Return

Haga clic en el botón COMPRAR para añadir este producto a su carrito de la compra.
26,35-Euros.
IVA incluido
|
SRF04 SENSOR DISTANCIAS POR ULTRASONIDOS SRF04
Vea mas productos de esta categoría en:
Sensores y detectores para robótica.
Ir a la Página Principal de www.SuperRobotica.com
Actualizada el 04/04/2025 © 2002 -2025 INTPLUS ®. Todos los derechos reservados
|