Now you've got this nice Kenwood-Receiver, and it even has a remote control unit. Nice. You can hear Music, and to switch it on/off, louder/softer etc. you didn't have to go to the receiver, you can sit on you chair, and use your RC.
But what's about your PC?
You can make a big playlist of all your MP3s, and hear them.
But what's about the not-so-good tunes in your playlist?
You have to hear them, unless you want to go to the PC, switch on
the monitor, search the Win***-window, and press "next".
Couldn't this be easier?
What's about the nice RC, which got all the buttons you need?
I had the same problem, so the "KR-Device-Project" was born. Target was a combination of hard- and software to control my favourite MP3-player with the Kenwood's RC.
So the first thing was to choose the hardware. There are enough projects on the net on how to use an IR-receiver and connecting it to the PC. But this is the hard way, I think, because the Kenwood-devices got a "system-control"-bus plug. The normal use is to connect Kenwood CD-Players and stuff to it. But why not plugging a PC into it? :)
Because I've got no information about the bus, I connected the plug
to an oscilloscope (ok, it was my old soundcard, but who cares ;) and
pressed a key on my remote control. It looked like this:

OK, this is a reconstructered output, as my old soundcard doesn't sample
so sharp edges, it's a SoundBlaster, so what? ;)
Anyway. We'll ignore the "left" channel, because there are no
information in it we desperately need. To get the right channel,
we use a very small hardware. You could connect the right channel
and GND just to some signal on the printerport, but we don't know
which voltage they got (and I still got no real scope ;).
But it can't be so much, so we will use a simple TTL to protect the
printerport.
Because I was to lazy to buy a new one from the electronic-shop,
I searched for some old TTLs. After a lot of useless crap I got a
CD74HCT32E, which seems to be more or less compatible to a 74LS32,
a simple "Quad 2-Input OR Gates".
The IC costs less than $1, so if it gots broken because you
killed a pin, lost it somewhere etc., you can simply buy a new one.
It got 14 pins, with the following layout:
VCC B4 A4 Y4 B3 A3 Y3
14 13 12 11 10 9 8
| | | | | | |
+-+--+--+--+--+--+--+-+
| |
|) |
|* |
+-+--+--+--+--+--+--+-+
| | | | | | |
1 2 3 4 5 6 7
A1 B1 Y1 A2 B2 Y2 GND
(Sorry for this bad painting.)A B | Y -----+-- L L | L L H | H H L | H H H | HWe simple connect the "right" channel to, say A2 and B2, then we got the output on Y2. So the final connection will be:
| printerport | 74LS32 | Kenwood receiver | Description |
|---|---|---|---|
| D0 (2) | VCC (14) | - | power supply |
| D1 (3) | A1 (1) | - | to test the device |
| D2 (4) | B1 (2) | - | - |
| /BUSY (11) | Y1 (3) | - | - |
| ACK (10) | Y2 (3) | - | the "right"-channel |
| - | A2 (4) AND B2 (5) | "right"-channel from the system-control-bus | - |
| GND (18-25) | GND (7) | GND from the SCB | - |
Using the A1 and B1 together with Y1 connected to /BSY, we can check if the device is actually plugged into the printerport, and if everything else is correct.
The reason why I used ACK is easy. Everytime the level toggles at ACK, an interrupt is generated. We don't have to poll the signal, since it's got a frequency of about 200Hz (we'll come to this later). So it's nice to have an IRQ, in combination with the timer we could have an accuracy of more than 0.8 microseconds with no cpu power used. Nice, isn't it?