While learning how to implement my Robot's Infrared LED Tangential Collision
Detection, I stopped along the way to write two programs that run in an
Arduino Nano.
The first one captures and records Infrared Codes, i.e., from TV Remote Controls,
using the:
It confirms that the codes have been recorded correctly, by matching each
recording with the Remote's transmissions, to ensure that they all have
been correctly identified.
The other program plays the recorded codes back on demand,
emitting/clocking them out using a IR LED and two of the AT328's
three internal Timers.
I'm using these programs to implement an IFF-beacon on my collaborating
Robots, which they use when encountering each other while hunting
in my living room for balloons, both to indentify each other, and to
exchange map updates and location data about their quarry.
[Update: 8/6/14]:
I observed very recently this unfortunate fact in the
IR Receiver's datasheet above: