Você está na página 1de 7

Universidad Autonoma de Yucatan Facultad de Ingenieria

Licenciatura en

Ingeniera Mecatrnica

Medidor de distancia ultrasnico con interfaz RS232

Raymundo Senz Coral ngel Castillo Cervera Gerardo Cmara Chale Jonathan Garca Rodrguez

Mrida, Yuc. a 19 de mayo de 2011.

Medidor de distancia Este proyecto se trata de medir distancia utilizando el sensor ultrasnico SRF05 y un microcontrolador 16f877A de microchip desplegando las medidas en un LCD de 16x2 y con comunicacin a la PC va serial por RS232. El sensor medidor de distancia SRF05 es un sensor de US (Ultrasonidos) capaz de medir distancias de hasta 5 metros. Este es una versin actualizada del sensor SRF04. Bsicamente tiene tres mejoras respecto a su antecesor. La primera es la incorporacin de un LED en su parte trasera que nos indica el buen funcionamiento de ste. La segunda mejora es el aumento de la distancia que pasa de 4 a 5 metros. La ltima y no por ello menos importante, es el modo de funcionamiento de ste, permite utilizar el mismo sistema que su antecesor (utilizando dos pines) y el nuevo modo que simplifica el sistema utilizando un nico pin. En este proyecto se utilizo el sensor en modo 1, este modo usa el disparo y el eco de forma separada, para utilizar este modo slo necesitamos conectar el sensor de la siguiente manera.

Su funcionamiento es muy sencillo, tenemos que enviar un pulso de 10us por la patilla del disparador para que este active el sensor y haga la medicin. La salida del sensor no es ms que otro pulso de entre 100 us y 25 ms, donde un pulso de duracin de 30 ms indicara que el obstculo est fuera de rango del sensor.

El sensor tiene como salida un pulso proporcional a la distancia, donde la distancia en centmetros es el tiempo de duracin del pulso en us entre 58. d(cm) = pulso(us)/58 d(inches) = pulso(us)/148 Hay que tener en cuenta que el sensor slo puede hacer una medida cada 50ms, lo que equivale a que podemos realizar medidas a una frecuencia de 20Hz. Para poder realizar el clculo de las distancias se empleo un microcontrolador 16F877A, el cual fue compilado con MicroCode Studio Plus, con l cual enva la seal de activacin del sensor por el pin B.0 con el comando PulsOut y recibe el pulso a travs del pin B.1, este pulso es almacenado con el comando PulsIn en una variable llamada MEDIDA del tipo WORD. Esta variable medida es dividida en entre 58 para poder obtener las distancias en cm. Posterior a esto se realiza el despliegue en la pantalla LCD y en una barra de LEDs los cuales son activados en determinados rangos de distancia. La comunicacin serial RS232, se utilizo el comando SEROUT, el cual enviaba los datos al PC y con ayuda de LabView se hizo una interfaz grafica en la computadora.

Cdigo

'**************************************************************** '* Name : Medidor_SRF05_interfaz_RS232 .BAS * '* Author : Castillo, Saenz, Camara, Rodriguez * '* Notice : Copyright (c) 2010 [Castillo Company] * '* : All Rights Reserved * '* Date : 08/01/2010 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** INCLUDE "modedefs.bas" DISPARO VAR PORTB.0 ECO VAR PORTB.1 MEDIDA VAR Word DATO VAR BYTE TRISA = %00001000 TRISB = %00000010 TRISC = %00000000 LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8 LED9 LED10 DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE VAR VAR VAR VAR VAR VAR VAR VAR VAR VAR PORTC.1 PORTC.0 PORTB.7 PORTB.6 PORTB.5 PORTB.4 PORTC.5 PORTC.4 PORTC.3 PORTC.2 'SELECIONA EL PUERTO PARA SACAR DATOS 'DESDE EL BIT B.4 AL BIT B.7 'UTILIZAR EL RS EN EL PUERTO B 'EN EL BIT B.1 'UTILIZAR EL ENABLE (E) EN EL PUERTO B 'EN EL BIT B.2

LCD_DREG PORTD LCD_DBIT 4 LCD_RSREG PORTD LCD_RSBIT 1 LCD_EREG PORTD LCD_EBIT 2

proceso: pause 40 disparo = 0 PulsOut DISPARO,10 GoSub leer_eco GoTo proceso leer_eco: Select Case eco Case 1 GoTo LEER_ECO Case 0 PulsIn ECO,1,MEDIDA medida=((medida*10)/58) Lcdout $fe, 1, "DISTANCIA:", #medida, " cm" SEROUT PORTB.2,T9600,[#medida,"cm "] If medida <9 Then LED1=1

lcdout $FE, $C0 Lcdout "PELIGRO. CERCA" EndIf IF MEDIDA >=10 THEN LED2=1 ELSE LED2=0 ENDIF IF MEDIDA >= 25 THEN LED3=1 ELSE LED3=0 ENDIF IF MEDIDA >= 50 THEN LED4=1 ELSE LED4=0 ENDIF IF MEDIDA >= 75 THEN LED5=1 ELSE LED5=0 ENDIF IF MEDIDA >= 100 THEN LED6=1 ELSE LED6=0 ENDIF IF MEDIDA >= 125 THEN LED7=1 ELSE LED7=0 ENDIF IF MEDIDA >= 150 THEN LED8=1 ELSE LED8=0 ENDIF IF MEDIDA >= 175 THEN LED9=1 ELSE LED9=0 ENDIF IF MEDIDA >= 200 THEN LED10=1 ELSE LED10=0 ENDIF GoTo proceso End Select

End

Fotos

PCB

Você também pode gostar