Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
al princicio y al final [/ CODE], no he revisao aun el codigo y si seria bueno un esquematico para probarlo...:aprobacion:
Meta aca lo termine todo anda perfectamente.esta hecho con el diseño que hice arriba en rojo.
Logre hacerlo del modo normal ya que no puedo usar ninguna de las opciones sugeridas amigo Meta porque no tengo ninguna, pero igual gracias por el dato, les dejo el vídeo, no le realice comentarios porque creo que se nota bastante de que se trata y como esta en el mismo hilo, lo vi demás, cualquier duda me avisan...
http://youtu.be/l-cbGrWYzGE
Che probaste este comando de proton? Yo hice un programa pero para recibir NEC-32
SonyIn_Word = SonyIn ' Receive a signal from the infrared sensor
Eso lo hice e incluso realice el codigo para sony, pero con el PBP, pero con el Proton y el comando SONY, no me funciono, de echo baje un programa que me detecta el tipo de comando como inducas por el puerto de sonido y el receptor ir, pero según el programita yo solo tengo sony, de resto los demas controles no los detecta , en fin si lo hiciste con proton y el comando RC5IN o SONYIN, es lo que me interesaría a ver que estoy haciendo mal
Debido a un problema que tengo con la pc no puedo subir el video, mas sin embargo realice unas lecturas como indique por el puerto serial y los resultados fueron muy bueno, aunque hay que decir que dependiendo de la distancia los tiempos de los pulsos cambian un poco no se a que puede deberse a la atenuación por la distancia ya que solo ocurre cuando no apunto directamente el control. Anexo el codigo en pbp y el circuito lo subo luego ya que lo hice directo en el protoboard, anexo tambien las lecturas obtenidas en el serial comunicator del microcode.
Código:'**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 17/03/2012 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** @ DEVICE PIC16F628A @ DEVICE INTRC_OSC_NOCLKOUT @ DEVICE WDT_OFF @ DEVICE PWRT_OFF @ DEVICE MCLR_OFF @ DEVICE BOD_OFF @ DEVICE LVP_OFF @ DEVICE CPD_OFF @ DEVICE PROTECT_OFF INCLUDE "modedefs.bas" DEFINE OSC 4 CMCON = 0 TRISA = %00000000 TRISB = %00000010 PORTA = %00000000 PORTB = %00000000 BIT_IR VAR BYTE(8) COMANDO VAR BYTE SYMBOL IN_TSOP = PORTB.1 SYMBOL TX = PORTB.2 CLEAR INICIO: DETECCION_DE_IR: COMANDO = 0 PULSIN IN_TSOP,0,BIT_IR(0) 'PRIMER PULSO NEGADO SE GUARDA EN BIT_IR IF BIT_IR(0) = 0 THEN GOTO DETECCION_DE_IR 'Si no se recibe nada se queda en DETECCION_DE_IR IF BIT_IR(0) < 240 THEN GOTO DETECCION_DE_IR 'si el pulso no dura 2.4ms se queda en DETECCION_DE_IR EXTRAE_BITS: PULSIN IN_TSOP,0,BIT_IR(1) IF BIT_IR(1) < 120 THEN 'SI EL BIT 1 DE BIT_IR ES MENOR A 120 COMANDO.bit0 = 0 'EL BIT 0 DE COMANDO ES IGUAL A 0 ELSE 'SI NO COMANDO.bit0 = 1 'EL BIT 0 DE COMANDO ES IGUAL A 1 ENDIF PULSIN IN_TSOP,0,BIT_IR(2) IF BIT_IR(2) < 120 THEN 'SI EL BIT 2 DE BIT_IR ES MENOR A 120 COMANDO.bIT1 = 0 'EL BIT 1 DE COMANDO ES IGUAL A 0 ELSE 'SI NO COMANDO.bIT1 = 1 'EL BIT 1 DE COMANDO ES IGUAL A 1 ENDIF PULSIN IN_TSOP,0,BIT_IR(3) IF BIT_IR(3) < 120 THEN 'SI EL BIT 3 DE BIT_IR ES MENOR A 120 COMANDO.bit2 = 0 'EL BIT 2 DE COMANDO ES IGUAL A 0 ELSE 'SI NO COMANDO.bit2 = 1 'EL BIT 2 DE COMANDO ES IGUAL A 1 ENDIF PULSIN IN_TSOP,0,BIT_IR(4) IF BIT_IR(4) < 120 THEN 'SI EL BIT 4 DE BIT_IR ES MENOR A 120 COMANDO.bit3 = 0 'EL BIT 3 DE COMANDO ES IGUAL A 0 ELSE 'SI NO COMANDO.bit3 = 1 'EL BIT 3 DE COMANDO ES IGUAL A 1 ENDIF PULSIN IN_TSOP,0,BIT_IR(5) IF BIT_IR(5) < 120 THEN 'SI EL BIT 5 DE BIT_IR ES MENOR A 120 COMANDO.bit4 = 0 'EL BIT 4 DE COMANDO ES IGUAL A 0 ELSE 'SI NO COMANDO.bit4 = 1 'EL BIT 4 DE COMANDO ES IGUAL A 1 ENDIF PULSIN IN_TSOP,0,BIT_IR(6) IF BIT_IR(6) < 120 THEN 'SI EL BIT 6 DE BIT_IR ES MENOR A 120 COMANDO.bit5 = 0 'EL BIT 5 DE COMANDO ES IGUAL A 0 ELSE 'SI NO COMANDO.bit5 = 1 'EL BIT 5 DE COMANDO ES IGUAL A 1 ENDIF PULSIN IN_TSOP,0,BIT_IR(7) IF BIT_IR(7) < 120 THEN 'SI EL BIT 7 DE BIT_IR ES MENOR A 120 COMANDO.bit6 = 0 'EL BIT 6 DE COMANDO ES IGUAL A 0 ELSE 'SI NO COMANDO.bit6 = 1 'EL BIT 6 DE COMANDO ES IGUAL A 1 ENDIF SEROUT TX,N2400,["COMANDO: " ,#COMANDO,10] IF COMANDO < 10 THEN COMANDO = COMANDO + 1 SEROUT TX,N2400,["BOTON: " ,#COMANDO,10] ENDIF IF COMANDO = 16 THEN SEROUT TX,N2400,["BOTON: +CANAL",10] ENDIF IF COMANDO = 17 THEN SEROUT TX,N2400,["BOTON: -CANAL",10] ENDIF IF COMANDO = 18 THEN SEROUT TX,N2400,["BOTON: +VOMUMEN",10] ENDIF IF COMANDO = 19 THEN SEROUT TX,N2400,["BOTON: -VOMUMEN",10] ENDIF IF COMANDO = 20 THEN SEROUT TX,N2400,["BOTON: SILENCIO",10] ENDIF IF COMANDO = 21 THEN SEROUT TX,N2400,["BOTON: PODER",10] ENDIF IF COMANDO = 59 THEN SEROUT TX,N2400,["BOTON: PODER",10] ENDIF SEROUT TX,N2400,["PULSO 1 : ",#BIT_IR(1),10] SEROUT TX,N2400,["PULSO 2 : ",#BIT_IR(2),10] SEROUT TX,N2400,["PULSO 3 : ",#BIT_IR(3),10] SEROUT TX,N2400,["PULSO 4 : ",#BIT_IR(4),10] SEROUT TX,N2400,["PULSO 5 : ",#BIT_IR(5),10] SEROUT TX,N2400,["PULSO 6 : ",#BIT_IR(6),10] SEROUT TX,N2400,["PULSO 7 : ",#BIT_IR(7),10] GOTO DETECCION_DE_IR
Hasta aquí todo bien espero sirva de ayuda para empezar, ya faltaría ponerse con los
demás protocolos RC5, JVA, NEC, etc... Cualquier cosa que correjir me avisan
Hace tiempo vi dando vueltas un control remoto economico con salida de relay...
aca lo podes ver tal ves te sirve.
Suerte.
http://www.pablin.com.ar/electron/circuito/varios/ir1ch/index.htm
Lo primero son las configuraciones del pic, en tu caso no tienes oscilador interno, así que tendrías que especificar que es externo de 4Mhz y el tipo, y los fuses que no tenga el 84A con respecto al 628A, aparte de eso lo demás quedaría igual.