Sunday, 9 July 2017

signal - looking to capture an infared code


I am trying to get an infared signal being sent from an emitter (think along the lines of a remote control). I know I can use a fotoransistor on a breadboard to capture/detect the signal, but I have no idea how to get the code being sent out of it. I need the hex so i can re broadca st it. How can I get this info?



There are websites that have IR codes like the one I'm looking for but they don't have particular for this device



Answer



If you only want to rebroadcast the signal without actually decoding it, it is fairly easy: you have to use a circuit that will buffer the signal. There are many techniques to do that. First, you may use a IR receptor such as those on Digikey. That receptor is a phototransistor that includes detection circuitry. It first filters all noise that comes from IR sources in your house, such as fluorescents, lamps, etc. that match certain patterns. Generally speaking those filters are usually 4-th order Chebyshev filters, but other would do the trick as well. Then, a demodulation of the signal is performed in order to get the data stream.


Typically, the data stream as a frequency of 1-2 kHz modulated on a carrier frequency of 37-42 kHz. The demodulation can be performed either by usage of ampli-ops or discrete transistors, as you wish...


Finally, the receiver chip sharpens the digital data by using a digital buffer with input hysteresis, commonly called a schmitt trigger. The hysteresis gives the maximum voltage to be reached for the signal to pass from digital 1 to digital 0, but also the minimum voltage to reach in order to pass from a digital 0 to a digital 1.


You can roll your own circuit that does all of that by yourself if you are enough knowledgeable or wish to learn from the experience, but if you are not truly motivated, use a receiver chip that does that for you! Personally, I'd use the chip anyway, because it will be MUCH cheaper than your circuit.


That being said, I will assume that you have a digital signal at this point. The data stream is actually the binary value that you want to extract "hex values" from. You can use a micro-controller if you want to capture, but it is not required if you are only willing to repeat it.


In order to repeat your signal, you have to remodulated it again. In order to do that, you have to generate a carrier frequency (the same frequency you decoded, so let's say 38kHz for the sake of the example). If you used a micro-controller to read the data, then use it to generate your carrier frequency of 38kHz using an hardware PWM. Otherwise, you may use an LM555 chip to generate a ~50% duty cycle square wave. There are plenty of those circuits on the internet, so I will let you google for it.


Finally, you may use a simple circuit such as this one (on the top of my head, not tested) to retransmit your signal:


schematic



simulate this circuit – Schematic created using CircuitLab


You can replace the FETs with BJTs as well. Choose logic level FETs otherwise it may not work correctly.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...