Well I need the software to run on a PC, not a microcontroller... So I don't mind learning about MCU's and building something, but it must serve this function:
- Plug into a USB port
- Provide IR input to software on the PC
- Provide IR output from the PC
I'd really like to avoid MCU's for the time being, but if this is the only way, then so be it.
You can buy an Arduino for $25 or so. It interfaces to the computer with USB (its really a serial connection with a USB-to-serial adapter). Arduino was desgined to be super simple. All of the hardware interfacing you need will be abstracted away.
On the PC side, you will interface using the serial port. This is as simple as I/O with the console. Any langauge you're using should have some serial library already available.
On the Arduino side, you also interface using the serial port. Same thing, as simple as I/O with the console. The Arduino has a simple serial library available.
Blinking an IR LED will be as easy as saying DigitalWrite(Pin1, high) or DigitalWrite(Pin1,low).
Reading the input LED will be as easy as saying DigitalRead(Pin2).
Since you're not running anything else on the Arduino, you can handle timing by just using waits or sleeps.
The only hardware you'll need is the Arduino, a usb cable, a few IR LEDs, and a few resistors. The LEDs and resistors will be extremely cheap.