Creative Commons images are CC BY-NC-SA 3.0

9.95

added to your
shopping cart

quantity
In stock 38 in stock
9.95 1+ units
8.96 10+ units
7.96 100+ units

Description: This is a very small infrared receiver based on the TSOP85 receiver from Vishay. This receiver has all the filtering and 38kHz demodulation built into the unit. Simply point a IR remote at the receiver, hit a button, and you'll see a stream of 1s and 0s out of the data pin.

Documents:

Comments 22 comments

  • Here is a document that describes the 3 main types of IR protocols and how to decode them (with permission to redistribute):
    http://tinkerish.com/docs/ir%20remote%20control%20details.pdf
    Here is an AVR project with source code for decoding the signal using the Sony protocol:
    http://tinkerish.com/blog/?p=50
    In summary, one can purchase an IR demodulator such as this one, connect it to interrupt pin on a microcontroller and use a universal remote as a general input device for one’s projects. Very nifty since it only uses one pin on the micro.

  • Is there something for doing the reverse of this board, ie taking the ‘stream of 1s and 0s’ and later transmitting a proper IR signal again. Ideally something simple I can manage with an Arduino.

  • I used this on my Uno with SparkFun’s red remote and it works flawlessly. It’s really responsive. I’m now running my same sketch on the Mega 2560. I changed the IR receiver to pin 9 per the library. Performance is really bad. I have to press the button multiple times for it to be detected. Am I missing something when it comes to using this on a Mega?

    UPDATE: I just re-ran the sketch again that’s posted above and it works really well on the Mega without my code in the mix. I must have introduced some kind of delay in my sketch that’s causing the Mega to “miss” the button presses. Strange how the Uno doesn’t skip a beat with my sketch.

    I’m using the remote on a clock that get its timebase from Adafruit’s Ultimate GPS module. Does anyone see a problem with using both at the same time?

  • Great little receiver!! Easy setup on Raspberry Pi / Raspbmc with LIRC.

  • is there a Raspberry Pi tutorial or example on how to use this out there? I’ve tried connecting ‘out’ to the ‘RxD’ pin on the Pi but i’m running into some issues.

    • You have to use the GPIO pins on the Pi.

      I connected mine as follows: VCC to 3.3v, OUT to GPIO18 and GND to GND with a 160ohm pull-up resistor on the VCC.

      Then I used LIRC to setup the remotes / read the codes. There are many guides online on this. Hope this helps.

    • Usually this is pluged into a GPIO attached to an interupt and interpreted by software, I couldn’t tell you how the PI works but that would get you closer then trying to read it like a Serial Communications stream

  • So - I have this connected to my Netduino. Supplied by 5v, the data pin idles at 5v, and when transmitting data it oscillates between 5v and about 3.8v. How are people getting this to trigger an interrupt? The voltage doesnt drop low enough to do it…. (excuse my noob lack of knowledge)

  • I hacked up a small Arduino library which uses this sensor to receive commands from the keychain remote (http://www.sparkfun.com/products/10280).

    https://github.com/konstantint/ArduinoSparkfunIRReceiver

  • Can I use this to determine distance? The circuit would be stationary and I would have a moving light pointed at it.

  • http://mbed.org/users/4180_1/notebook/ir-and-rf-remote-controls/ has a code example for mbed sending characters from the IR LED breakout board.

  • Is this analogue interface

  • SE:

    Has anyone used this with a normal IR LED, driving it at certain frequencies such that this IR receiver can read a string of ones and zeros?
    I’ve tried using a 555 timer to make a transmitter. It should work, but without an oscilloscope its impossible to get the frequency right.
    I’ve found this site:
    http://www.rentron.com/remote_control/TX-IR.htm
    which sells an IC who can drive the circuit on 40khz or 38khz.
    (edited out, couldn’t find view cart button, but its below the add to cart button :-|)

    • Don’t bother wasting your time with a 555. Just use a PWM output from your micro to create the 38KHz pulse.
      There are a couple of methods that you could use:
      1.) Bit-bang the PWM output (turn the PWM on and off according to your data. This is the most computationally intensive method.)
      2.) Use the PWM as an oscillator, then use the UART line to control a FET feeding this signal to an LED. (Least computationally intensive, yet requires additional hardware)
      3.)Connect your UART output pin to an interrupt pin in your micro. In the interrupt routine, change the PWM pin ON or OFF. (my favorite method, especially if you have the extra pins)

      • another option (arduino compatible):

        1. generate a pwm stream using normal controller functionality
        2. send data out usart
        3. use a descrete and gate to combine the two into required signal.

        simple and effective :)

  • I contacted Vishay and they actually emailed me back heh
    “Dear Jason xxxxx
    The data in the section "Absolute Maximum Ratings” have a different meaning. These values indicate the limit at which the device is damaged. If you achieved to apply a current of more than 3mA to the TSOP852xx then the circuit might be damaged.
    The data in the section “Electrical and optical characteristics” are related to the normal usage of the part. The supply current will be in the range between 0.27mA and 0.45mA.
    The resistor that is mentioned in the application circuit does not influence the supply current significantly. The current is limited by the circuit inside the TSOP852xx.
    Best Regards,
    Thomas Mistele"
    So i guess the most important fact is:
    “The current is limited by the circuit inside the TSOP852xx.”

  • just some info. The data sheet is kinda screwed up. It says the current max is 0.45mA which would be 450uA i doubt thats correct. I think its supposed to be more like 45mA… if so i would recommend a minimum of a 120ohm resistor for R1…
    Also it shows under “Absolute Maximum Ratings”:
    Supply current: 3 mA
    Output current: 5 mA
    Whats up with that?
    So that means the current supposed to be 450uA ? if so then R1 should be more like 12k for 5v systems and 7.3K for 3.3v systems…
    This datasheet is confusing as hell :D

    • I would bet that is correct. This is a very low current receiver that contains nothing more than an op-amp, a receive LED. It is an ?Open collector? output with an internal pull-up resistor of 30k, so the data line will be whatever voltage level you put on pin 2, and the max current is Vin/30k. This is not meant to drive some LED, just a data line. There is usually no reason to have a smaller pull-up than this, ESPECIALLY at these speeds.

  • SE:

    Has anyone used this with a normal IR LED, driving it at certain frequencies such that this IR receiver can read a string of ones and zeros?
    I’d also like to know. I want to get RS232 communication going with two netduino’s via IR communication with this receiver. Any help is greatly appreciated :)

    • You have to create a 38KHz signal. Otherwise the module will not see it. Once you do that when the 38KHz is there it will either be a one or zero. When it is not there it will be the opposite. It depends on how you want to interpret it. Other IR turns it on and off, but uses pulse width to determine one or zero. Most remotes do it this way.

  • Has anyone used this with a normal IR LED, driving it at certain frequencies such that this IR receiver can read a string of ones and zeros?


Related Products