NEC IR Protocol remote decoder, help me before I kill myself!


Closed Thread
Results 1 to 26 of 26

Hybrid View

  1. #1
    Join Date
    Jan 2009
    Posts
    78


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    the code was for a samsung tv .... close, but not the same like the nec protocol

    SAMSUNG IR protocol:
    http://www.samsung.com/global/busine...000_090108.pdf (check "Figure 1. IR Signal")



    NEC IR protocol:
    http://www.mcselec.com/index.php?opt...=223&Itemid=57

    ... the leader/header for nec should be 9msec

    change the
    DEFINE PULSIN_MAX 990 (try with 10% deviation... 900*1.1)
    - - - - - - - - - - - - - - - - - - - - -
    IF (Header < 810) OR (Header > 990) THEN GOTO IRIN (again the -/+10% deviation)

  2. #2
    Join Date
    Dec 2004
    Location
    Scarborough UK
    Posts
    77


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    I've looked at the nec ir protocol but i'm non the wiser :-(

    Just if anyone is interested I have attached the actual code that came with my remote and reciver IC kit, it was written for the arduino and commented in japanese, I have translated the comments to english but I cant translate the code, if anyone wants to look at it it might reveal to someone more experienced what I need to do to get it to work maybe ?.
    Attached Files Attached Files
    Reading the datasheet & understanding it are two different things.

  3. #3
    Join Date
    Mar 2006
    Location
    China
    Posts
    266


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    Plan B:

    Use an other pic and set up the HPWM manually for 38 kHz. Then you connect an IR diode to the HPWM pin using a resistor to get aprox 20 mA in the led.

    Then in the code you make a simple main loop. Turn on the HWPM, delay 9 ms, and then turn off the HPWM, wait a while (i.e 5 ms) and then goto main again. Point this led towards the ir-receiver from a close distance and now you have a signal that you really know how it looks like. Then you put a shoebox upside down over both the receiver and the transmitter led so they get a nice dark space to be in.

    Have you ever thought about catching the IR signal using the CCP module or by using interupts and a timer?

    This way you can even build a text signal for the NEC protocol ... [startpulse] delay [bit0] delay etc..

    Which way to decode the signal is the best? Well it all depends what other things your pic will do. If it will only decode the IR signal you can just read the pin in a fast loop and increment a counter when it is LOW.

    Keep in mind that the receiver you are using is ACTIVE LOW.. so the pin will be high when there is no modulated IR light present.

  4. #4
    Join Date
    Dec 2005
    Posts
    1,073


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    Quote Originally Posted by bogdan View Post
    Here's a more authoritative source for the NEC protocol...

  5. #5
    Join Date
    Dec 2004
    Location
    Scarborough UK
    Posts
    77


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    Thanks dhouston, but looking at more protocol descriptions is just giving me headache lol, I've been at it all week, I think I've actually looked at the description before when I was first googling the nec protocol.

    What I need is a simple working code example that I can then develop...

    If you or anyone can give me a code example for a 18f4550 at 4 or 20 mhz i would be extreemly gratefull..

    Thanks guys
    Last edited by Bonxy; - 28th August 2011 at 19:41.
    Reading the datasheet & understanding it are two different things.

  6. #6
    Join Date
    Aug 2010
    Location
    Maryland, USA
    Posts
    869


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    Quote Originally Posted by bogdan View Post
    the code was for a samsung tv .... close, but not the same like the nec protocol

    SAMSUNG IR protocol:
    http://www.samsung.com/global/busine...000_090108.pdf (check "Figure 1. IR Signal")



    NEC IR protocol:
    http://www.mcselec.com/index.php?opt...=223&Itemid=57

    ... the leader/header for nec should be 9msec

    change the
    DEFINE PULSIN_MAX 990 (try with 10% deviation... 900*1.1)
    - - - - - - - - - - - - - - - - - - - - -
    IF (Header < 810) OR (Header > 990) THEN GOTO IRIN (again the -/+10% deviation)
    Did you try this?
    -Bert

    The glass is not half full or half empty, Its twice as big as needed for the job!

    http://foamcasualty.com/ - Warbird R/C scratch building with foam!

  7. #7
    Join Date
    Dec 2004
    Location
    Scarborough UK
    Posts
    77


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    cncmachineguy

    Yes I did, i still did not get valuses to match, I got values in the range of 552 to 614 and everything in between.
    Reading the datasheet & understanding it are two different things.

  8. #8
    Join Date
    Jan 2009
    Posts
    78


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    please let us now the model # of the remote

    (i will try to upload the codes into a universal remote and i will check the protocol later today)

  9. #9
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    There are much better/faster ways to do this, but this should get you started with something that's fairly easy to understand.

    Assuming you have an NEC transmitter that outputs something like the top portion of the graphic below;

    Name:  NEC2.JPG
Views: 11548
Size:  33.3 KB



    This should return similar results to what's shown in the serial terminal window just above.
    Code:
    #CONFIG
      __config _XT_OSC & _WDT_ON & _MCLRE_OFF & _LVP_OFF & _CP_OFF
    #ENDCONFIG
     
    DEFINE OSC 4
     
    Leader VAR WORD     ' will be up to 900 for a 9mS leader pulse
    BtnVal VAR BYTE[32] ' holds 32 pulse results
    DByte1 VAR BYTE     ' address byte
    DByte2 VAR BYTE     ' inverse of address byte
    DByte3 VAR BYTE     ' command byte
    DByte4 VAR BYTE     ' inverse of command byte
    X      VAR BYTE     ' loop count
     
    Main: 
      PULSIN PORTB.0,0,Leader  ' leader pulse is ~9mS low-going
      IF Leader < 850 THEN Main
     
      FOR X = 0 TO 31          ' grab 32 incoming pulses
          PULSIN PORTB.0,1,BtnVal(X) ' now measuring high-going pulse widths
      NEXT X
     
      ' now we'll decode 4 bytes from 32 pulses
      FOR X = 0 TO 7               ' sort 1st 8 pulses
          IF BtnVal[X] > 150 THEN  ' > 150 x 10uS = > 1.5mS pulse period
             DByte1.0[X]=1
          ELSE
             DByte1.0[X]=0
          ENDIF
      NEXT X
     
      FOR X = 8 TO 15              ' sort 2nd 8 pulses, etc....
          IF BtnVal[X] > 150 THEN
             DByte2.0[X-8]=1
          ELSE
             DByte2.0[X-8]=0
          ENDIF
      NEXT X
     
      FOR X = 16 TO 23
          IF BtnVal[X] > 150 THEN
             DByte3.0[X-16]=1
          ELSE
             DByte3.0[X-16]=0
          ENDIF
      NEXT X
     
      FOR X = 24 TO 31
          IF BtnVal[X] > 150 THEN
             DByte4.0[X-24]=1
          ELSE
             DByte4.0[X-24]=0
          ENDIF
      NEXT X
     
      HSEROUT [BIN8 DByte1,13,10,BIN8 DByte2," Address",13,10,13,10]
      HSEROUT [BIN8 DByte3,13,10,BIN8 DByte4," Command",13,10,13,10]
      PAUSE 1000
      GOTO Main
    Last edited by Bruce; - 30th August 2011 at 00:10.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  10. #10
    Join Date
    Dec 2004
    Location
    Scarborough UK
    Posts
    77


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    Bruce, thanks for uploading that code, I am going to try the code on my next day off work and will report back, I've had a look and its well commented and I can understand it, so I have fingers crossed that it's going to work :-), I think where I am falling down is my poor understanding of math, eg the osc speed and its relation to ms's & pulsin, I just dont get that, anyway I'm going to give your code a good go, thanks again.

    Bogdan, I have attached my remote pictures & instruction PDF that came with it, thanks also for your help with this :-)
    Attached Images Attached Images   
    Attached Images Attached Images
    Last edited by Bonxy; - 29th August 2011 at 20:31.
    Reading the datasheet & understanding it are two different things.

  11. #11
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,170


    Did you find this post helpful? Yes | No

    Default Re: NEC IR Protocol remote decoder, help me before I kill myself!

    Quote Originally Posted by Bonxy View Post
    I think where I am falling down is my poor understanding of math, eg the osc speed and its relation to ms's & pulsin
    Look at post #8. Also the manual at the Pulsin command explains why is that.

    Ioannis

Members who have read this thread : 1

You do not have permission to view the list of names.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts