Библиотека iarduino_I2C_Joystick позволяет работать с Trema модулем - Джойстик, I2C-flash, получать координаты джойстика, задавать чувствительность, определять размер мёртвой зоны центрального положения, калибровать координатную сетку и задавать адрес модуля на шине I2C. Для версии джойстика с кнопкой, можно получать состояния и события кнопки.
Данная библиотека может использовать как аппаратную, так и программную реализацию шины I2C.
О том как выбрать тип шины I2C рассказано в статье Wiki - расширенные возможности библиотек iarduino для шины I2C.
Подробное описание работы с библиотекой, находится в разделе Wiki - Джойстик, I2C-flash (Trema-модуль).
#include <iarduino_I2C_Joystick.h> // Подключаем библиотеку iarduino_I2C_Joystick для работы с модулем.
iarduino_I2C_Joystick ОБЪЕКТ; // Создаём объект для работы с методами библиотеки без указания адреса модуля на шине I2C.
iarduino_I2C_Joystick ОБЪЕКТ( АДРЕС ); // Создаём объект для работы с методами библиотеки указывая адрес модуля на шине I2C.
Функция begin( [&ШИНА] ); // Инициализация работы с модулем.
Функция changeAddress( АДРЕС ); // Изменение адреса модуля на шине I2C.
Функция reset(); // Перезагрузка модуля.
Функция getAddress(); // Получение текущего адреса модуля на шине I2C.
Функция getVersion(); // Получение версии прошивки модуля.
Функция getPosition_X(); // Запрос текущей координаты джойстика по оси X.
Функция getPosition_Y(); // Запрос текущей координаты джойстика по оси Y.
Функция getPosition( X , Y ); // Запрос текущих координат по осям X и Y.
Функция getADC_X(); // Запрос сырого значения АЦП по оси X.
Функция getADC_Y(); // Запрос сырого значения АЦП по оси Y.
Функция getADC( X , Y ); // Запрос сырых значений АЦП по осям X и Y.
Функция getButton( ЗАПРОС ); // Получение времени, состояния, или события кнопки.
Функция setCalibration_X( ЛЕВО , ЦЕНТР , ПРАВО ); // Калибровка координат по оси X.
Функция setCalibration_Y( НИЗ , ЦЕНТР , ВЕРХ ); // Калибровка координат по оси Y.
Функция getCalibration_X( ЛЕВО , ЦЕНТР , ПРАВО ); // Запрос калибровочных значений.
Функция getCalibration_Y( НИЗ , ЦЕНТР , ВЕРХ ); // Запрос калибровочных значений.
Функция setDeadZone( ЗОНА ); // Установка мертвой зоны центрального положения.
Функция setAveraging( КОЭФФИЦИЕНТ ); // Установка коэффициента усреднения показаний.