Библиотека iarduino_I2C_Encoder позволяет работать с Trema модулем - Энкодер, потенциометр, I2C-flash, получать положение вала, получать такты направления вращения вала, получать состояния и события кнопки, задавать режим работы программируемого выхода модуля, задавать количество оборотов.
Данная библиотека может использовать как аппаратную, так и программную реализацию шины I2C.
О том как выбрать тип шины I2C рассказано в статье Wiki - расширенные возможности библиотек iarduino для шины I2C.
Подробное описание работы с библиотекой, находится в разделе Wiki - Энкодер, потенциометр, I2C-flash (Trema-модуль).
#include <iarduino_I2C_Encoder.h> // Подключаем библиотеку iarduino_I2C_Encoder для работы с модулем.
iarduino_I2C_Encoder ОБЪЕКТ; // Создаём объект для работы с методами библиотеки без указания адреса модуля на шине I2C.
iarduino_I2C_Encoder ОБЪЕКТ( АДРЕС ); // Создаём объект для работы с методами библиотеки указывая адрес модуля на шине I2C.
Функция begin( [&ШИНА] ); // Инициализация работы с модулем.
Функция changeAddress( АДРЕС ); // Изменение адреса модуля на шине I2C.
Функция reset(); // Перезагрузка модуля.
Функция getAddress(); // Получение текущего адреса модуля на шине I2C.
Функция getVersion(); // Получение версии прошивки модуля.
Функция getButton( ЗАПРОС ); // Получение времени, состояния, события кнопки.
Функция getEncoder( [ НАПРАВЛЕНИЕ ] ); // Получение количества тактов энкодера.
Функция getPosition(); // Получение текущей позиции вала энкодера.
Функция resPosition(); // Сброс текущей позиции вала энкодера.
Функция setPosSettings( ОБОРОТЫ [, ЗНАК ] ); // Настройка получения позиции вала.
Функция setPinOut( РЕЖИМ [, ОБОРОТЫ [, ЧАСТОТА]] ); // Настройка работы выхода.
Функция invEncoder( ФЛАГ ); // Инверсия направления поворота вала энкодера.
Функция setServoLimit( ШИРИНА, ШИРИНА ); // Ограничение углов сервопривода.
Функция getServoWidth(); // Запрос ШИМ текущего положения сервопривода.