Описание
Библиотека 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, то принятые данные доступны из переменных:
- uint8_t address - переменная хранит принятый байт адреса ИК-устройства.
- uint8_t command - переменная хранит принятый байт команды ИК-устройства.
- uint16_t code - переменная хранит двухбайтное число, из адреса и команды.
- uint32_t code32 - переменная для совместимости с библиотекой iarduino_IR.
- uint8_t length - переменная хранит количество информационных бит в code32.
- uint8_t modeRC6 - переменная хранит режим используемый протоколом IR_RC6.
- bool key_press - флаг получения первого ИК пакета (кнопка нажимается).
- uint8_t device - переменная содержит модуль линейки «Дорожное движение».
Если значение переменной device отлично от 0, то доступны следующие переменные:
- bool track_F - флаг указывающий о наличии дороги прямо.
- bool track_R - флаг указывающий о наличии поворота вправо.
- bool track_L - флаг указывающий о наличии поворота влево.
- uint8_t forvard - флаг светофор разрешает движение прямо.
- uint8_t right - флаг светофор разрешает движение вправо.
- uint8_t left - флаг светофор разрешает движение влево.
- uint8_t gate - флаг открытого состояния шлагбаума.
- char* sign_str - строка хранит обозначение знака ПДД ("1.1" ... "7.63.15").
- uint16_t sign_int - переменная хранит обозначение знака ПДД (10100...76315).
- uint8_t sign[3] - массив хранит группу, номер и пункт знака ПДД ({1,1,0}...{7,63,15}).
- uint8_t sign_tab - переменная хранит назначение таблички под знаком.