Библиотека iarduino_I2C_Expander позволяет работать с модулем - Расширитель выводов, I2C-flash, конфигурировать выводы на вход или выход, читать аналоговые или цифровые уровни, задавать логические значения или сигналы ШИМ, управлять сервоприводами.
Данная библиотека может использовать как аппаратную, так и программную реализацию шины I2C.
О том как выбрать тип шины I2C рассказано в статье Wiki - расширенные возможности библиотек iarduino для шины I2C.
Подробное описание работы с библиотекой, находится в разделе Wiki - Расширитель выводов, I2C (Trema-модуль).
#include <iarduino_I2C_Expander.h> // Подключаем библиотеку iarduino_I2C_Expander для работы с модулем.
iarduino_I2C_Expander ОБЪЕКТ; // Создаём объект для работы с методами библиотеки без указания адреса модуля на шине I2C.
iarduino_I2C_Expander ОБЪЕКТ( АДРЕС ); // Создаём объект для работы с методами библиотеки указывая адрес модуля на шине I2C.
Функция begin( [&ШИНА] ); // Инициализация работы с модулем.
Функция changeAddress( АДРЕС ); // Изменение адреса модуля на шине I2C.
Функция reset(); // Перезагрузка модуля.
Функция getAddress(); // Получение текущего адреса модуля на шине I2C.
Функция getVersion(); // Получение версии прошивки модуля.
Функция pinMode( ВЫВОД , НАПРАВЛЕНИЕ [, ТИП ] ); // Конфигурирование вывода.
Функция pinPull( ВЫВОД , РЕЗИСТОР ); // Внутрисхемная подтяжка вывода.
Функция pinOutScheme( ВЫВОД , СХЕМА ); // Выбор схемы включения выхода.
Функция digitalRead( ВЫВОД ); // Чтение логического уровня.
Функция digitalWrite( ВЫВОД , УРОВЕНЬ ); // Установка логического уровня.
Функция analogRead( ВЫВОД ); // Чтение аналогового (АЦП) уровня.
Функция analogWrite( ВЫВОД , УРОВЕНЬ ); // Установка аналогового (ШИМ) уровня.
Функция analogAveraging( УСРЕДНЕНИЕ ); // Установка усреднения АЦП.
Функция levelRead( ВЫВОД ); // Чтение логического уровня с аналогового входа.
Функция levelWrite( ГРАНИЦА ); // Указание границы АЦП для функции levelRead().
Функция levelHyst( ГИСТЕРЕЗИС ); // Указание гистерезиса для функции levelRead().
Функция freqPWM( ЧАСТОТА ); // Установка частоты ШИМ.
Функция servoAttach( № , W_MIN , W_MAX [, A_MIN , A_MAX ] ); // Настройка серво.
Функция servoWrite( ВЫВОД , УГОЛ ); // Поворот сервопривода в указанный угол.
Функция servoWriteMicroseconds( ВЫВОД , ШИРИНА ); // Поворот сервопривода.