(Send/receive "TV remote" (+satbox +...) commands)
ArduinoCIR provides the ir_messaging
library, a ready-to-use solution for sending/receiving consumer IR (remote-control) signals on Arduino platforms.
- Simultaneously transmit & receive IR messages.
- (Untested): Build solutions supporting 2+ receivers or 2+ transmitters (Speed & hardware permitting).
- User-selectable hardware units for timers (not hard-coded in library).
The list of supported protocols is listed below.
- NEC: (tx/rx).
- RC-MM: (tx only).
- RC-5: (untested tx/untested rx).
- Sony SIRC: (untested tx/rx).
Note:
- Certain protocols might only be implemented for either transmit (tx) or receive (rx).
- New protocols can be added to libraries/ir_messaging/ir_protocol.cpp/.h.
- Description
- Features
- Purpose of Library
- Supported Hardware
- Sample Sketches
- Usage Tips
- Wiring/Circuit Topology
- Software Documentation
- Resources/Acknowledgments
- Known Limitations
ArduinoCIR was designed to support easily multiple Atmel platforms. At the moment, only a few are actually implemented:
- Atmel ATmega328/328P
- Arduino Uno
- Arduino Redboard (✅ Tested)
- Arduino Pro
- Arduino Fio
- Arduino Mini
- Arduino Nano
- Arduino LilyPad
- Arduino BT
- Arduino Ethernet
- Atmel ATmega1280
- Arduino Mega
- Atmel ATmega2560
- Arduino Mega 2560 (✅ Tested)
- Arduino Mega ADK (✅ Tested)
- IR receiver currently only works using a 16-bit timer (
IRCtrl::Timer16b::RxHw
). - IR transmitter currently supports two resource allocations:
- System clock (Timer0) + an 8-bit timer (
IRCtrl::Timer8b::TxHw
), - or two 16-bit timers (
IRCtrl::Timer16b::TxHw
).
- System clock (Timer0) + an 8-bit timer (
The ir_messaging
library was tested on version 1.0.5+dfsg2-2 (Linux) of the Arduino IDE.
This software is provided "as is", with no guarantee of correctness.