Библиотека iarduino_I2C_Keyboard позволяет работать с модулем - Клавиатура, I2C-flash, считывать символы из буфера истории нажатия клавиш, получать состояния кнопок, события совершённые с кнопками, а так же управлять светодиодами кнопок.
Данная библиотека может использовать как аппаратную, так и программную реализацию шины I2C.
О том как выбрать тип шины I2C рассказано в статье Wiki - расширенные возможности библиотек iarduino для шины I2C.
Подробное описание работы с библиотекой, находится в разделе Wiki - Клавиатуры, I2C-flash.
#include <iarduino_I2C_Keyboard.h> // Подключаем библиотеку iarduino_I2C_Keyboard для работы с модулем.
iarduino_I2C_Keyboard ОБЪЕКТ( false , КОЛ-ВО , РЯДЫ ); // Создаём объект для работы с методами библиотеки без указания адреса модуля на шине I2C.
iarduino_I2C_Joystick ОБЪЕКТ( АДРЕС , КОЛ-ВО , РЯДЫ ); // Создаём объект для работы с методами библиотеки указывая адрес модуля на шине I2C.
При создании объекта требуется указать кол-во кнопок в одном ряду и количество рядов с кнопками.
Функция begin( [&ШИНА] ); // Инициализация работы с модулем.
Функция changeAddress( АДРЕС ); // Изменение адреса модуля на шине I2C.
Функция reset(); // Перезагрузка модуля.
Функция getAddress(); // Получение текущего адреса модуля на шине I2C.
Функция getVersion(); // Запрос версии прошивки модуля.
Функция setPullI2C( [ФЛАГ] ); // Управление внутрисхемной подтяжкой шины I2C.
Функция getPullI2C(); // Запрос состояния внутрисхемной подтяжки линий шины I2C.
Функция available(); // Запрос количества кодов кнопок в буфере истории их нажатий.
Функция readChar(); // Чтение одного символа из буфера истории нажатых кнопок.
Функция readString( СТРОКА , РАЗМЕР , [ФЛАГ] ); // Чтение строки символов из буфера.
Функция flush(); // Очистка буфера истории нажатых кнопок (FIFO).
Функция setEncoding( НОМЕР , РЯД , СИМВОЛ ); // Присвоение символа одной кнопке.
Функция setEncoding( СТРОКА_СИМВОЛОВ ); // Присвоение символов всем кнопкам.
Функция getEncoding( НОМЕР , РЯД ); // Получение символа присвоенного кнопке.
Функция setDelay( ВРЕМЯ ); // Время после которого кнопка считается удерживаемой.
Функция getDelay(); // Запрос времени задержки до принятия кнопки удерживаемой.
Функция setPeriod( ПЕРИОД ); // Установка периода заполнения буфера историй.
Функция getPeriod(); // Запрос периода заполнения буфера историй.
Функция getKey( НОМЕР , РЯД , ТИП ); // Запрос состояния или события кнопки.
Функция getKey( СИМВОЛ , ТИП ); // Запрос состояния или события кнопки.
Функция getTime( НОМЕР , РЯД , ТИП ); // Запрос времени удержания/простоя кнопки.
Функция getTime( СИМВОЛ , ТИП ); // Запрос времени удержания или простоя кнопки.
Функция setLed( НОМЕР , РЯД , ФЛАГ ); // Установка состояния светодиода.
Функция setLed( СИМВОЛ , ФЛАГ ); // Установка состояния светодиода.
Функция getLed( НОМЕР , РЯД ); // Запрос состояния светодиода.
Функция getLed( СИМВОЛ ); // Запрос состояния светодиода.
Функция setLight( ЯРКОСТЬ [, ГРУППА] ); // Установка яркости свечения светодиодов.
Функция getLight( [ГРУППА] ); // Запрос установленной яркости свечения светодиодов.
Функция setAnimation( НОМЕР [, ВРЕМЯ] ); // Установка светодиодной анимации.
Функция getAnimation(); // Запрос номера установленной светодиодной анимации.