Hola Navaismo, te comento que conecte con sentido comun mi sensor ir que habia conseguido el que te habia contado anteriormente +, - , y la ultima patita que supuse era la salida le conecte a un led y luego de este a positivo al presionar los botones de mi control remoto sony el led parpadea rapidamente, luego cargue una parte del codigo en el PIC16F628A para hacer una pequeña prueba esto fue lo que le cargue :
@ DEVICE MCLR_off, PROTECT_OFF, WDT_OFF
CMCON = 7 ' Comparators OFF
;ANSEL = 0 ' A/D OFF -- Port pins all digital
;TRISB = %010000 ' All I/O but GPIO3 = outputs
PORTB = %00000000 ' All 0 on boot
;Define OSCCAL_1K 1 ' Set OSCCAL for 1K device
DEFINE OSC 4
IRpulse_length var word(13)
xx var Byte
Command Var Byte
clear
Getstartbits:
PuLSIN PORTA.1,0,IRpulse_length(0)
if IRpulse_length(0) < 200 then
goto getstartbits
high PORTB.0
PAUSE 100
LOW PORTB.0
Endif
high PORTB.1
PAUSE 100
LOW PORTB.1
goto getstartbits
end
luego al conectar el pic el diodo en la salida b0 esta prendido y al presionar cualquier boton b0 se apaga y b1 se enciende, lo que a mi parecer me hace suponer que el pic esta ya sensando el codigo enviado por el control remoto verdad????
Ahora viene mi inquietud, al acoplar el respo del codigo y cargar el pic con el mismo:
for xx=1 to 12
pulsin PORTA.1,0,IRpulse_length(xx)
next xx
displaybits:
if IRpulse_length(1) < 100 then ;Primer Bit Recibido
Command.bit0 = 0
Else
Command.bit0 = 1
endif
if IRpulse_length(2) < 100 then ;Segundo Bit Recibido
Command.bit1 = 0
Else
Command.bit1 = 1
endif
if IRpulse_length(3) < 100 then ;Tercer Bit Recibido
Command.bit2 = 0
Else
Command.bit2 = 1
endif
if IRpulse_length(4) < 100 then ;Cuarto Bit Recibido
Command.bit3 = 0
Else
Command.bit3 = 1
endif
if IRpulse_length(5) < 100 then ;Quinto Bit Recibido
Command.bit4 = 0
Else
Command.bit4 = 1
endif
if IRpulse_length(6) < 100 then ;Sexto Bit Recibido
Command.bit5 = 0
Else
Command.bit5 = 1
endif
if IRpulse_length(7) < 100 then ;Septimo Bit Recibido
Command.bit6 = 0
Else
Command.bit6 = 1
endif
if IRpulse_length(8) < 100 then
Command.bit7 = 0
Else
Command.bit7 = 1
endif
If Command.bit7 = 0 then 'Bit 7 is one of the device bits
Command = Command + 1
Endif
If Command = 10 then
Command = 0
Endif
SELECT CASE Command
CASE 0
High portb.0
pause 500
low portb.0
pause 500
end select
SELECT CASE Command
CASE 1
High portb.1
pause 500
low portb.1
pause 500
end select
SELECT CASE Command
CASE 2
High portb.2
pause 500
low portb.2
pause 500
end select
goto Getstartbits
end
y comparlo en mi estructura case ningun led se enciende, estoy ocupando la comparacion con los numeros 0,1,2 corespondientes 1 2 3 respectivamente en mi control remoto segun esta informacion:
http://imajr.com/View3.aspx?Id=cuadro_86829http://imajr.com/sony_trama_86828ahora he tratado de sensar los bits 1 haciendo pasar la señal que entrega el recetor ir por una copuerta inversora pero no he tenido exito, crees que este haciendo algo mal o podrias darme alguna sugerencia respecto al por que no esta funcionandome el receptor de manera apropiada en mi caso??
Muchas gracias por tu ayuda y aporte ......
Saludos ......