Библиотека GitHub

iarduino_I2C_Track

Библиотека iarduino_I2C_Track для Arduino: управление модулями светофоров, дорожных знаков и шлагбаумов линейки Дорожное движение через I2C с поддержкой ИК-передачи данных.

tremaru / iarduino_I2C_Track Обновлено 12:57 25.06.2024 Ветка main

Описание

Библиотека iarduino_I2C_Track позволяет работать с модулями Дорожные знакиСветофор и Шлагбаум линейки «Дорожное движение». Определять модули, задавать режим их работы, управлять подсветкой знаков, цветами светофора или положением шлагбаума, передавать данные о модулях по ИК каналу и выбирать ИК протокол передачи данных.

Данная библиотека может использовать как аппаратную, так и программную реализацию шины I2C.

О том как выбрать тип шины I2C рассказано в статье Wiki - расширенные возможности библиотек iarduino для шины I2C.

Подробное описание работы с библиотекой, находится в разделах Wiki - Дорожный знак и Wiki - Светофор и шлагбаум.

Назначение функций:

#include <iarduino_I2C_Track.h> // Подключаем библиотеку iarduino_I2C_Track для работы с модулем.

iarduino_I2C_Track ОБЪЕКТ; // Создаём объект для работы с методами библиотеки без указания адреса модуля на шине I2C.

iarduino_I2C_Track ОБЪЕКТ( АДРЕС ); // Создаём объект для работы с методами библиотеки указывая адрес модуля на шине I2C.

Функции инициализации:

begin( [&ШИНА], МОДУЛЬ, ГРУППА, НОМЕР [, ПУНКТ] [,ТАБЛИЧКА] ); // знака.

begin( [&ШИНА], МОДУЛЬ, ПЕРЕКРЁСТОК [, СЕКЦИИ] ); // светофора.

Функция changeAddress( АДРЕС ); // Изменение адреса модуля на шине I2C.

Функция reset(); // Перезагрузка модуля.

Функция getAddress(); // Получение текущего адреса модуля на шине I2C.

Функция getVersion(); // Получение версии прошивки модуля.

Функция setPullI2C( [ФЛАГ] ); // Управление внутрисхемной подтяжкой линий I2C.

Функция getPullI2C(); // Запрос состояния внутрисхемной подтяжки линий I2C.

Функция backlight( РЕЖИМ [, РЕЖИМ] ); // Управление подсветкой дорожного знака.

Функция indicator( ФЛАГ ); // Разрешение работы индикатора передачи ИК данных.

Функция irProtocol( ПРОТОКОЛ ); // Установка ИК протокола передачи данных.

Функция irSend(); // Однократная отправка пакета данных по ИК-каналу.

Функция irWait(); // Ожидание завершения отправки данных по ИК-каналу.

Функция irAutoSend( [ИНТЕРВАЛ] ); // Автоматическая отправка ИК пакетов данных.

Функция irStop(); // Остановка автоматической отправки пакетов по ИК-каналу.

Функция offline( ФЛАГ ); // Разрешение работы модуля в автономном режиме.

Функция timing(  ЗЕЛЁНЫЙ, ЖЁЛТЫЙ, КРАСНЫЙ ); // Установка времени свечения.

Функция set( ЦВЕТ, ЗНАЧЕНИЕ ); // Управление светофором в ручном режиме.

Функция set( ДЕЙСТВИЕ [,ДЕЙСТВИЕ [,ДЕЙСТВИЕ]]] ); // Управление полуавтомат.

Функция gateSpeed( СКОРОСТЬ ); // Установка скорости работы шлагбаума.

Функция gateWidth( ШИРИНА ); // Управление шлагбаумом при помощи ШИМ.

Функция gateWidthOpen( ШИРИНА ); // ШИМ для полностью открытого шлагбаума.

Функция gateWidthClose( ШИРИНА ); // ШИМ для полностью закрытого шлагбаума.