@amperka/led-strip
Библиотека для управления светодиодной лентой, светодиодными плашками и RGB-матрицами. Работа с массивом байтов каждого цвета светодиодной ленты вызывает путаницу с порядком цветов, усложняет код и увеличивает его размер. Все эти проблемы библиотека берёт на себя, оставляя силы на творчество.
SPI2.setup({baud:3200000, mosi:B15, sck:B13, miso:B14}); var length = 20; var ledStrip = require('@amperka/led-strip').connect(SPI2, length, 'BGR'); // гасим все светодиоды ledStrip.clear(); setInterval(function() { for (var i = 0; i < length; i++) { // выбираем произвольную интенсивность красного цвета var redTone = Math.random(); // устанавливаем цвет светодиода ledStrip.putColor(i, [redTone, 0, 0]); } // применяем изменения ledStrip.apply(); }, 1000);
Функции модуля
Создаёт новый объект Strip. Параметры функции:
spi
— SPI, к которому подключен модуль, напримерSPI2
length
— количество диодов в ленте или гирляндеorder
— порядок цветов в устройстве. Параметр должен иметь вид строки вида'BGR'
,'RBG'
и т. д, где каждый символ соответствует своему цвету:'R'
— красный,'G'
— зеленый,'B'
— синий.
Класс для подключения светодиодной ленты. Для создания нового объекта, используйте функцию connect
.
Устанавливает цвет светодиода с индексом index
. Параметр color
должен быть массивом или объектом из трёх элементов:
- Если
color
— массив, цвет задается в формате[red, green, blue]
(порядок важен). - Если
color
— объект, цвет задается полямиred
,green
иblue
, в данном случае порядок не имеет значения.
Интенсивность каждого цвета лежит в диапазоне 0.0…1.0.
// устанавливаем цвет 11-го светодиода в ленте // вызовы обеих функций эквивалентны ledStrip.putColor(10, [0.5, 0.8, 0.7]); ledStrip.putColor(10, {red: 0.5, green: 0.8, blue: 0.7}); // применяем изменения ledStrip.apply();
При наличии параметра brightness
функция устанавливает яркость всех светодиодов ленты одновременно. Параметр brightness принимает значения в диапазоне 0.0…1.0. Если параметр brightness
не задан, функция возвращает текущее значение яркости.
// устанавливаем яркость ленты в 2 раза меньше максимальной ledStrip.brightness(0.5); // узнаем яркость ленты var brightness = ledStrip.brightness(); // выведет в консоль 0.5 print(brightness);
Устанавливает все светодиоды ленты в выключенное состояние.
// гасим все светодиоды ledStrip.clear()
Применяет изменения цвета светодиодов после функции putColor
.
Возвращает значение цвета светодиода с индексом index
. Параметр type
может принимать следующие значения:
'object'
— возвращаемое значение будет представлено в виде объекта с полями'red'
,'green'
и'blue'
'array'
— возвращаемое значение будет представлено в виде массива из трёх элементов в формате[red, green, blue]
Значение type
по умолчанию 'object'
.
// узнаем цвет 11-го светодиода var color = ledStrip.getColor(10, 'object'); // выведет в консоль {red: 0.5, green: 0.8, blue: 0.7} print(color);