An open API service indexing awesome lists of open source software.

https://github.com/ma-laforge/arduinocir

Communication with consumer IR "remote" signals
https://github.com/ma-laforge/arduinocir

arduino cir consumer-ir infrared ir-receiver ir-transmitter rc-5 rc-mm sirc timer

Last synced: 2 months ago
JSON representation

Communication with consumer IR "remote" signals

Awesome Lists containing this project

README

          

[IRremote]: "IRremote (Ken Shirriff)"

# ArduinoCIR: Communication using consumer IR "remote" signals

(Send/receive "TV remote" (+satbox +...) commands)


## Description

ArduinoCIR provides the `ir_messaging` library, a ready-to-use solution for sending/receiving consumer IR (remote-control) signals on Arduino platforms.


## Features

- **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).


### Supported Protocols

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](libraries/ir_messaging/ir_protocol.cpp)/[.h](libraries/ir_messaging/ir_protocol.h).

## Table of Contents

1. [Description](#Description)
1. [Features](#Features)
1. [Supported Protocols](#Protocols)
1. [Purpose of Library](doc/purpose.md)
1. [Supported Hardware](#Hardware)
1. [Sample Sketches](libraries/ir_messaging/samples)
1. [Usage Tips](doc/tips.md)
1. [Wiring/Circuit Topology](doc/topology.md)
1. [Software Documentation](doc/softwaredoc.md)
1. [Resources/Acknowledgments](doc/resources_ack.md)
1. [Known Limitations](#Limitations)


### Supported Hardware

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)


## Known Limitations

- 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`).

### Compatibility

The `ir_messaging` library was tested on version 1.0.5+dfsg2-2 (Linux) of the Arduino IDE.


## Disclaimer

This software is provided "as is", with no guarantee of correctness.