TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Zero13 en 24 de Noviembre de 2003, 10:27:00
-
Hola a Todos!,
Alguien a conseguido hacer funciona el gp2d02 con un pic y con picbasic...ya se que muchos sera que si...pero no me tira ni a la de tres.... 
Utilizo dos pins RA0 y RA1....Como salida para enviar el mandato:
salida var byte
freqout porta.0,1,38500 a la puerta RA0
salida=porta.1
y despues compruebo el estado del pin RA1 si es 0 ó si es 1, simplemente enviandolo con el mandato:
Hserout ["Estado",#salida,13,10]
No se...posiblemente haga algo mal....ya que siempre me da "0"....que no detecta nada...tambien he probado otros circuitos caseros de infrarrojos y nada
....por favor...ayudadme...si alguien tiene algun ejemplo practico que me lo pase.....
Gracias por adelantado! 
-
Hola
El Sharp GP2D02 es un sensor medidor de distancias por infrarrojos con un rango de trabajo de 10 a 80 cm, con un consumo mínimo cuando esta en reposo. El sensor utiliza solo una línea de entrada y otra de salida para comunicarse con el procesador principal. Su utilización es tan sencilla como mandar un pulso bajo en la entrada de control, esperar 70 ms y mandar 8 pulsos de reloj para leer el valor de la distancia medida. El sensor se entrega con un conector de 4 pines y un diodo para poder conectarlo a cualquier circuito CMOS/TTL. Tensión de funcionamiento 5V, Temperatura funcionamiento :-10 a 60ºC, Consumo Max - Min: 35 mA, 3uA.
mas info
http://www.superrobotica.com/S320095.htm
datasheet http://www.superrobotica.com/download/sharp/gp2d02.pdf
-
hay que mudar el codigo para pbp
" Programa para sensor Sharp GP2D02 conectado a
" un Basic X-24 de la siguiente forma.
" Cable rojo VCC de alimentacion conectado a +5 V.
" Cable Negro de tierra conectado a 0V.
" Cable verde Vin conectado al pin 19 a traves de un diodo 1N4148
" Cable amarillo Vout conectado al pin 20
" El valor de la medida se muestra en la pantalla del pc.
" Realizado por Pablo Pompa. pablo@superrobotica.com
" Para uso privado y educacional. Prohibido su uso comercial.
" Octubre 2002
Dim data As Byte "Contiene la medida
Sub Main()
Call putpin(19, 1) "Pulso de salida
Do
Call putpin(19, 0) "Comienza la medicion
Call sleep(70) "Retardo de 70 ms
If getpin(20) = 1 Then "Espera a que termine
Call read "Lee el dato desde el sensor
Debug.Print "Medicion: "; CStr(data) "Manda la distacia al PC
Call putpin(19, 1) "Pone el pulso de comienzo arriba
Call sleep(30) "Retardo entre mediciones
End If
Loop
End Sub
"Lee la medida desde el pin 20
Sub read()
Dim bit As Byte
Dim z As Integer
data = 0
bit = 128
For z = 1 To 8
Call putpin(19, 1)
Call putpin(19, 0)
If getpin(20) = 1 Then
data = data Or bit
End If
bit = bit 2
Next
Call putpin(19, 1)
End Sub
-
Mil Gracias!

me piro corriendo a probarlo....
Slds!