Now that we have actually captured an IR signal in Part 1, we will move on to discover why the IR signal was only being captured on the Line-In input, and not on our desired input, CD-In. I mentioned that this could be due to a 1.6Vrms voltage restriction on the CD-In input pins on the ALC883/ALC889a codec on the motherboard. So in this part I will go over a very simple modification to the circuit to restrict the signal voltage to around 1.6Vrms.
I decided not to use a diode as Andrew Zabolotny suggests in his article on the LIRC website and opted to use a potential divider instead. There were two reasons for this is;
Follow up:
- there is less wasted current when using a potential divider over a diode due to the output impedance of a diode based circuit being much lower.
- using a potential divider we can get the load voltage closer to 1.6Vrms.
So here is a revised circuit with a potential divider added to the output pin of the TSOP1736.
I have chosen R1 to be 22k and R2 10k. Using Ohm's law we can calculate what the output voltage of the potential divider will be by using the following formula
R2/(R1+R2) * Vin = Vout
Vin for the potential divider will be the output from the TSOP1736 (pin 3). So assuming our output voltage from the TSOP1736 will be +5v we can calculate Vout to be
10/(22+10) * 5 = 1.5625v
The IR receivers output may not be as high as +5v so using the same calculation but with a lower supply voltage to the potential divider, say around +4v it will give us a 1.25V Vout.
So, armed with all this information, I went ahead and done my second prototype, but this time using a breadboard to build the potential divider. I only done this because it was easier as I didn't have the 2 value resistors at hand, so I had to use 5 resistors with the same value in series, but took the Vout after the first resistor to give me a ratio of 4:1. Here is a shot of the spaghetti of resistors and wires for the potential divider.
.
Well, here we go, time to test it again via the CD-In input. After booting Ubuntu again, and launching xoscope, I pressed the Select button on my Sky+ remote, pointing it at the receiver; viola, it worked. So after this successful test, I came to the conclusion that the input for CD-In had to be lower than 1.6Vrms for it to work.
Moving on, it was time to actually try to set up the remote to use with LIRC. As you already know, I planned on using my Sky+ remote to use with LIRC/MythTV, mainly because I want the transfer from using Sky+ to MythTV to be as painless as possible for it's users. What better way that using the same remote for the same features. Lucky for me there was already a lircd.conf file available on the LIRC website for the Sky+ remote.
Onto the LIRC configuration. Starting LIRC with the following command initializes the lird daemon.
sudo lircd --driver=audio_alsa -d hw@8000
Instantly I had a problem, the audio_alsa driver attempts to open the sound capture device in mono, but my on board codec did not support mono, neither did it support 8 Khz. I made some changes to the hw_audio_alsa.c file so that if it can't open the device in the requested mode, it falls back to the more common 44.1 Khz Stereo capture mode and then covert the left channel down to unsigned 8 bit samples, then let the driver do what it originally did. After these changes, lircd started up normally
Pages: 1 · 2

What do you get when you click on the link, it seems to work for me?
Thanks for pointing that out. The link now works without being logged in. Although you don't really need it any more since the latest version of LIRC has the patch merged already
10/(80+22+10) * 5 = 0.446 V
(if 5 V is the supply voltage, then the correct value for the calculation is 5 V - nothing else...)
The internal pull-up resistor in TSOP1736 makes R1 completely unnecessary. Replacing R1 with a copper wire and selecting R2 = 15 kohm will give:
15/(80+15) * 5 = 0.789 V.
(I wouldn't recommend a higher output than ½ of max input voltage)
http://ubuntuforums.org/showpost.php?p=8339472&postcount=6
If I could figure out how to set the timings of the pulses then the signal could be cleaned up and have the right timings for a given protocol, all the time. Currently the timings are not reliable enough from press to press.