@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);

Функции модуля

connect(spi, length, type)

Создаёт новый объект Strip. Параметры функции:

  • spi — SPI, к которому подключен модуль, например SPI2
  • length — количество диодов в ленте или гирлянде
  • order — порядок цветов в устройстве. Параметр должен иметь вид строки вида 'BGR', 'RBG' и т. д, где каждый символ соответствует своему цвету: 'R' — красный, 'G' — зеленый, 'B' — синий.

Strip

Класс для подключения светодиодной ленты. Для создания нового объекта, используйте функцию connect.

Strip.putColor(index, color)

Устанавливает цвет светодиода с индексом 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();

Strip.brightness([brightness])

При наличии параметра brightness функция устанавливает яркость всех светодиодов ленты одновременно. Параметр brightness принимает значения в диапазоне 0.0…1.0. Если параметр brightness не задан, функция возвращает текущее значение яркости.

// устанавливаем яркость ленты в 2 раза меньше максимальной
ledStrip.brightness(0.5);
 
// узнаем яркость ленты
var brightness = ledStrip.brightness();
// выведет в консоль 0.5
print(brightness);

Strip.clear()

Устанавливает все светодиоды ленты в выключенное состояние.

// гасим все светодиоды
ledStrip.clear()

Strip.apply()

Применяет изменения цвета светодиодов после функции putColor.

Strip.getColor(index[, type])

Возвращает значение цвета светодиода с индексом 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);