Библиотека iarduino_I2C_Bumper позволяет работать с Модулем - Бампер с 9 датчиками линий с шагом 14мм или шагом 7мм, I2C-flash, определять наличие линий под датчиками, получать значения АЦП датчиков, управлять поворотниками и калибровать модуль.
Данная библиотека может использовать как аппаратную, так и программную реализацию шины I2C.
О том как выбрать тип шины I2C рассказано в статье Wiki - расширенные возможности библиотек iarduino для шины I2C.
Подробное описание работы с библиотекой, находится в разделе Wiki - Бампер с 9 датчиками линий, I2C-Flash.
#include <iarduino_I2C_Bumper.h> // Подключаем библиотеку iarduino_I2C_Bumper для работы с модулем.
iarduino_I2C_Bumper ОБЪЕКТ; // Создаём объект для работы с методами библиотеки без указания адреса модуля на шине I2C.
iarduino_I2C_Bumper ОБЪЕКТ( АДРЕС ); // Создаём объект для работы с методами библиотеки указывая адрес модуля на шине I2C.
Функция begin( [&ШИНА] ); // Инициализация работы с модулем.
Функция changeAddress( АДРЕС ); // Изменение адреса модуля на шине I2C.
Функция reset(); // Перезагрузка модуля.
Функция getAddress(); // Получение текущего адреса модуля на шине I2C.
Функция getVersion(); // Получение версии прошивки модуля.
Функция setTurnSignal( РЕЖИМ ); // Указание режима работы поворотников.
Функция setTurnPeriod( ПЕРИОД ); // Указание периода мигания поворотников.
Функция settingsTurnAuto( ВКЛ , ВЫКЛ [, ФЛАГ] ); // Условия работы поворотников.
Функция setCalibrationRun( ); // Запуск автоматической калибровки модуля.
Функция setCalibrationEnd( [ФЛАГ] ); // Завершение автоматической калибровки.
Функция setCalibrationManual( АЦП ); // Выполнение ручной калибровки модуля.
Функция getCalibrationStage(); // Получение статуса автоматической калибровки.
Функция getLineDigital( НОМЕР ); // Чтение линий под датчиками модуля.
Функция getLineAnalog( НОМЕР ); // Чтение значений АЦП снятых с датчиков модуля.
Функция getErrPID( [ПОВОРОТ] ); // Чтение ошибки для ПИД регулятора.
Функция getLineSum( [ПЕРЕМЕННАЯ] ); // Запрос количества датчиков над линией.
Функция getLineType(); // Запрос типа трассы для которой откалиброван модуль.
Функция setLineType( ТИП ); // Установка типа линии на трассе.