Библиотека iarduino_I2C_IR позволяет работать с Trema модулем ИК-приёмник/передатчик, Flash-I2C, передавать и принимать данные по ИК каналу, задавать ИК протокол для приёма и получения данных, определять протокол принятых данных, принимать ИК данные от ИК пультов ДУ или модулей линейки «Дорожное движение».
Данная библиотека может использовать как аппаратную, так и программную реализацию шины I2C.
О том как выбрать тип шины I2C рассказано в статье Wiki - расширенные возможности библиотек iarduino для шины I2C.
Подробное описание работы с библиотекой, находится в разделе Wiki - ИК-приемник/передатчик, FLASH-I2C.
#include <iarduino_I2C_IR.h> // Подключаем библиотеку iarduino_I2C_IR для работы с модулем.
iarduino_I2C_IR ОБЪЕКТ; // Создаём объект для работы с методами библиотеки без указания адреса модуля на шине I2C.
iarduino_I2C_IR ОБЪЕКТ( АДРЕС ); // Создаём объект для работы с методами библиотеки указывая адрес модуля на шине I2C.
Функция begin( [&ШИНА] ); // Инициализация работы с модулем.
Функция changeAddress( АДРЕС ); // Изменение адреса модуля на шине I2C.
Функция reset(); // Перезагрузка модуля.
Функция getAddress(); // Получение текущего адреса модуля на шине I2C.
Функция getVersion(); // Получение версии прошивки модуля.
Функция setPullI2C( [ФЛАГ] ); // Управление внутрисхемной подтяжкой шины I2C.
Функция getPullI2C(); // Запрос состояния внутрисхемной подтяжки линий шины I2C.
Функция setProtocol( ПРОТОКОЛ [,РЕЖИМ] ); // Указание ИК-протокола.
Можно указать протоколы для приёма setProtocol_RX и передачи setProtocol_TX.
Функция getProtocol(); // Запрос используемого ИК-протокола.
Можно запросить протоколы для приёма getProtocol_RX и передачи getProtocol_TX.
Функция seeProtocol_RX(); // Перевод ИК приёмника в режим определения протокола.
Функция setInterval( ИНТЕРВАЛ [, ФЛАГ ] ); // Установка интервала между пакетами.
Можно задать разные интервалы для приёма setInterval_RX и передачи setInterval_TX.
Функция send( АДРЕС, КОМАНДА ); // Однократная отправка данных по ИК-каналу.
Функция send( КОД ); // Однократная отправка данных по ИК-каналу.
Функция send32( КОД ); // Однократная отправка данных по ИК-каналу.
Функция wait(); // Ожидание завершения однократной отправки данных по ИК-каналу.
Функция autoSend( АДРЕС, КОМАНДА ); // Автоматическая отправка ИК пакетов.
Функция autoSend( КОД ); // Автоматическая отправка пакетов по ИК-каналу.
Функция autoSend32( КОД ); // Автоматическая отправка пакетов по ИК-каналу.
Функция autoStop(); // Остановка автоматической отправки пакетов по ИК-каналу.
Функция check( [ФЛАГ] ); // Проверка наличия принятых по ИК-каналу данных.
Если функция check( [ФЛАГ] ) вернула true, то принятые данные доступны из переменных:
Если значение переменной device отлично от 0, то доступны следующие переменные: