Ayuda, no he podido hacer andar el sensor,
quiero medir distancia y mostrar en el lcd....
el codigo alparecer funciona pero no muestra la medicion
'DEFINICIÓN DE REGISTROS PARA EL LCD
DEFINE LCD_DREG PORTB 'UTILIZAR 4 BITS DEL PUERTO B PARA TX DE DATOS
DEFINE LCD_DBIT 0 'DESDE EL BIT B.0 AL BIT B.3
DEFINE LCD_RSREG PORTB 'SELECCIÓN DEL PUERTO DEL REGISTRO
DEFINE LCD_RSBIT 4 'EN EL BIT B.4
DEFINE LCD_EREG PORTB 'UTILIZAR EL ENABLE EN EL PUERTO B
DEFINE LCD_EBIT 5 'EN EL BIT B.5
define OSC 4
DISPARO VAR PORTA.2 'PIN USADO PARA EL PULSO DE DISPARO
ECO VAR PORTA.3 'PIN USADO PARA EL ECO
MEDIDA VAR Word 'VARIABLE de 16 bits PARA ALMACENAR LA MEDIDA
TRISA = %00001000
proceso:
pause 100 ' Pausa inicial para estabilizar el circuito (50ms)
disparo = 0 ' Inicializa el valor de DISPARO
PulsOut DISPARO,5 ' Manda un pùlso de disparo para empezar a medir
GoSub leer_eco ' Llamada a funcion para leer el ancho del eco recibido
GoTo proceso ' Vuelve e iniciar cuando se ha leido el eco
leer_eco: 'Funcion de leer el eco
Select Case eco 'si hay eco no manda pulso de disparo
Case 1 'Si no nay eco
GoTo proceso 'Vuelve a iniciar el proceso
Case 0 'Si hay eco
PulsIn ECO,2,MEDIDA 'Lee el acho del pulso de eco y lo guarda en medida
medida= medida/54 'para convertir en cm
Lcdout $fe, 1, "DISTANCIA:", #medida, " cm" 'Muestra el valor medido en el LCD
If medida <10 Then
lcdout $FE, $C0
Lcdout "Cuidado" 'Aviso
EndIf
GoTo proceso 'Vuelve a lanzar el proceso
End Select
End
