Even better if you can afford the Logic from www.saleae.com to analyse digital signals. It saved me many times when trying to copy signals from similar cases.
Ioannis
Even better if you can afford the Logic from www.saleae.com to analyse digital signals. It saved me many times when trying to copy signals from similar cases.
Ioannis
I spend time with this "killer" code. Now I discover another strange phenomenon : anything I do, can't generate "train" of pulse.
Instead generating for 4 times this sequence : high 2650 ,pause 2500, high 660, pause 100
I have just ONE sequence for about 42.25 mS !!!
WHY ?!?Thanks again for attention !Code:main: zecime CON 106 '// = ( 106 * 25uS) = 2650 uS burst unu CON 24 '// = (24 * 25uS) = 0.60 mS burst delay CON 104 i var byte cycles var byte acycles var byte ;============================ Main: IF but1=0 then ; VOLUME UP goto ir_send endif Goto Main '========================================= ir_send: cycles=zecime acycles=unu for i=1 to 4 call Pulse pauseus delay call Pulser next i Pauseus 100 Goto main ' or Return, have no result ! Pulse: ' Generate "Cycles" number of 40kHz pulses ASM bsf gpio, 2 ; 1uS, LED=on goto $+1 ; + 2uS = 3uS goto $+1 ; + 2uS = 5uS goto $+1 ; + 2uS = 7uS goto $+1 ; + 2uS = 9uS goto $+1 ; + 2uS = 11uS goto $+1 ; + 2uS = 13uS bcf gpio, 2 ; 1uS, LED=off goto $+1 ; + 2uS = 3uS goto $+1 ; + 2uS = 5uS goto $+1 ; + 2uS = 7uS goto $+1 ; + 2uS = 9uS decfsz _Cycles,f ; + 1uS = 10S goto _Pulse ; + 2uS = 12uS return ; Add 2uS for return to caller ENDASM Pulser: ' Generate "Cycles" number of 40kHz pulses ASM bsf gpio, 2 ; 1uS, LED=on goto $+1 ; + 2uS = 3uS goto $+1 ; + 2uS = 5uS goto $+1 ; + 2uS = 7uS goto $+1 ; + 2uS = 9uS goto $+1 ; + 2uS = 11uS goto $+1 ; + 2uS = 13uS bcf gpio, 2 ; 1uS, LED=off goto $+1 ; + 2uS = 3uS goto $+1 ; + 2uS = 5uS goto $+1 ; + 2uS = 7uS goto $+1 ; + 2uS = 9uS decfsz _Acycles,f ; + 1uS = 10S goto _Pulser ; + 2uS = 12uS return ; Add 2uS for return to caller ENDASM
On first row: original Blaupunkt remote, volume up command.
On second row : my remote, volume up command.
Using same sensor (original Blaupunkt).
Original-work; my-NO !!! I'm stuck, dissapointed, sad...
Could you attach the 2 wav/mp3 files? I'll open them in a sound editor at my end; couldnt quite see the whole pulse train.
If this forum doesnt permit audio attachments, you could mail them to me at ardhuru_at_gmail.com.
Also, some remotes send the same frame twice; does your Blaupunkt need that?
Regards,
Anand.
I try different variant of PBP code; no result.
I find the example of Mr.Bruce :
so I write my program, for the hardware like in schematic ( for now I test just Volume Up) :Code:' IR carrier generator routines. Freq.inc. Cycles VAR BYTE ' Number of carrier cycles GOTO OverFreq ' jump over pulse routines ' Generate "Cycles" number of 40kHz pulses ASM _Pulse40 bcf IRTX,PIN ; 1uS, LED=on goto $+1 ; + 2uS = 3uS goto $+1 ; + 2uS = 5uS goto $+1 ; + 2uS = 7uS goto $+1 ; + 2uS = 9uS goto $+1 ; + 2uS = 11uS goto $+1 ; + 2uS = 13uS bsf IRTX,PIN ; 1uS, LED=on goto $+1 ; + 2uS = 3uS goto $+1 ; + 2uS = 5uS goto $+1 ; + 2uS = 7uS goto $+1 ; + 2uS = 9uS decfsz _Cycles,f ; + 1uS = 10S goto _Pulse40 ; + 2uS = 12uS return ; Return to caller ENDASM ' Generate "Cycles" number of ~38.4kHz pulses ASM _Pulse38 bcf IRTX,PIN ; 1uS, LED=on goto $+1 ; + 2uS = 3uS goto $+1 ; + 2uS = 5uS goto $+1 ; + 2uS = 7uS goto $+1 ; + 2uS = 9uS goto $+1 ; + 2uS = 11uS goto $+1 ; + 2uS = 13uS bsf IRTX,PIN ; 1uS, LED=on goto $+1 ; + 2uS = 3uS goto $+1 ; + 2uS = 5uS goto $+1 ; + 2uS = 7uS goto $+1 ; + 2uS = 9uS nop ; + 1uS = 10uS decfsz _Cycles,f ; + 1uS = 11S goto _Pulse38 ; + 2uS = 13uS return ; Return to caller ENDASM OverFreq:
but, OF COURSE ?!?, no results. Somebody, just one little help ? Please...Code:@ DEVICE PIC12F675, intrc_osc, wdt_off, pwrt_off, mclr_off, bod_off DEFINE OSC 4 DEFINE OSCCAL_1K 1 ' Set OSCCAL for 1k -HELPS tuning the crystal for more accurate timing @ #define IRTX GPIO ; Define port to use for IR out @ #define PIN 1 ; Define port pin to use for IR out INCLUDE "Freq.inc" ' but var gpio.5 GPIO.5=1 TRISIO.5=1 GPIO.1 = 1 ' IR LED off -----|<|----/\/\/\----+5 TRISIO.1 = 0 ' Output for IR signal WPU = %00111101 CMCON = 7 ' Comparators disabled ANSEL = 0 ' A/D disabled Loops VAR BYTE Main: if but=0 then FOR Loops = 1 TO 10 Cycles = 102 ' 102 * 26 = 2652 uS CALL Pulse38 Pauseus 2580 ' accurate pause of 2580 uS ?!? Cycles = 25 ' 25 * 26 = 650 uS ; maybe must EXACTLY 660 uS - how ?!? CALL Pulse38 pauseus 50000 pauseus 50000 Next loops endif GOTO Main END
Are you sure your IR LED lights? I mean of course you cannot see it. But with camera or your mobil phone maybe you can see if the LED is lighting.
Do not trust this very much, since my SONY DSC-W17 does not see any IR at all! So test this first with a known IR transmitter to be sure.
Ioannis
I test the function of my schematic with two phones camera (Nokia & S-E) ; and with InfraX soft too. I capture the signal with TSOP 1738 on serial port, for "original" remote and for "PIC" remote...Works fine...but without results on my RC ! Thanks for support !
Bookmarks