Исходный код библиотеки доступен на GitHub - https://github.com/3akep/MSG4LED
Все в нашем мире может быть предсталено четыремя основными цветами ( синий, красный, зеленый, желтый ). Информация, передаваемая этими цветами легко воспринимается человеком и быстро обрабатывается головным мозгом. Практически все современные устройства используют цвето-световую индикацию для оповещения пользователя, но зачастую эта технология использует не все возможности цветовой передачи данных.
Arduino-библиотека MSG4LED позволяет устройствам на базе платформы Arduino управлять 4-мя светодиодами с целью организацию интерфейса оповещения пользователя о текущем статусе наблюдаемой среды или другой информации, обрабатываемой и генерируемой устройством.
LEDS[] - Массив разъемов подключения светодиодов.
LEDorder[] - Массив разъемов подключения светодиодов в порядке их обработки. По-умолчанию, соответствует порядку в функции инициализации объекта класса MSG4LED.
Инициализация объекта класса MSG4LED:
MSG4LED (BLUE, RED, GREEN, YELLOW), где цвета-параметры - номера разъемов подключения соответствующих диодов.
void ChangeOrder(byte, byte, byte, byte);
Изменение порядка обработки светодиодов. Параметры - номера разъемов подключения соответствующих светодиодов.
void ResetOrder();
Восстановление порядка обработки светодиодов на основе порядка, заданного при инициализации класса MSG4LED.
byte ReMap(long x, long max_x);
Преобразование любого значения X с максимальным значением MAX_X в номер разъема светодиода, с учетом порядка обработки.
void PowerOnColor(byte ColorPin), где параметр ColorPin - номер разъема светодиода. Повторный вызов функции изменяет текущий статус светодиода.
void PowerOnNum(byte OrderNum), где параметр OrderNum - номер светодиода в массиве порядка обработки. Номера диодов: 1-4.
void TurnOffLine() - функция принудительного отключения всех светодиодов.
void TurnOnLine() - функция реверсного включения всех диодов. Т.е., если до вызова этой функции светодиод горел, то после вызова функции он погаснет.
void FillTo(byte OrderNum, bool TurnOff) - функция реверсного включения светодиодов с первого светодиода до OrderNum, определяемых порядком обработки светодиодов. Необязательный параметр TurnOff позволяет произвести принудительное отключение всех светодиодов перед выполнением функции. По-умолчанию, параметр TurnOff = true. Номера диодов: 1-4.
void FillFrom(byte OrderNum, bool TurnOff) - функция реверсного включения светодиодов, начиная с номера OrderNum и заканчивая четвертым, определяемых порядком обработки светодиодов. Необязательный параметр TurnOff позволяет произвести принудительное отключение всех светодиодов перед выполнением функции. По-умолчанию, параметр TurnOff = true. Номера диодов: 1-4.
void BlinkByColor(byte ColorPin, byte countBlink, unsigned long time) - функция вызывает мигание светодиода на указанном параметром ColorPin номере разъема, количество миганий определяется необязательным параметром countBlink (по-умолчанию: 1). Длительность задержки мигания определяется параметром time (по-умолчанию: 1000).
void BlinkByNum(byte OrderNum, byte countBlink, unsigned long time) - функция вызывает мигание светодиода c номером OrderNum, определяемым порядком обработки (возможные значения: 1-4), количество миганий определяется необязательным параметром countBlink (по-умолчанию: 1). Длительность задержки мигания определяется параметром time (по-умолчанию: 1000).
void BlinkRandom(byte countBlink, unsigned long time) - функция вызывает мигание случайным светодиодом из заданных разъемов в порядке обработки, количество миганий определяется необязательным параметром countBlink (по-умолчанию: 1). Длительность задержки мигания определяется параметром time (по-умолчанию: 1000).
void BlinkLine(unsigned long time) или void BlinkLineRTL(unsigned long time) - функция поочередного мигания каждым светодиодом в порядке справа на лево в порядке обработки. Длительность задержки мигания определяется параметром time (по-умолчанию: 1000).
void BlinkLineLTR(unsigned long time) - функция поочередного мигания каждым светодиодом в порядке слева на право в порядке обработки. Длительность задержки мигания определяется параметром time (по-умолчанию: 1000).
Модификация "Азбуки Морзе" заключается в перераспределение одинарных и двойных знаков азбуки в разные цвета:
"." - мигание синего цвета (или цвета №1 с учетом порядка обработки);
".." - мигание красного цвета (или цвета №2 с учетом порядка обработки);
"-" - мигание зеленого цвета (или цвета №3 с учетом порядка обработки);
"--" - мигание желтого цвета (или цвета №4 с учетом порядка обработки).
void MorseCode(String mcode) - параметр MCODE содержит строку для ее посимвольного преобразования в специальную цифровую последовательность с выводом результата функцией MorseCodeBlinkChar().
void MorseCodeBlinkChar (long DigCode) - вспомогательная функция, реализующая мигание заданного специальным цифровым кодом DigCode каждого символа строки функции MorseCode(). Функция также определяет интервал мигания.