Содержание

@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. Параметры функции:

Strip

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

Strip.putColor(index, color)

Устанавливает цвет светодиода с индексом index. Параметр color должен быть массивом или объектом из трёх элементов:

Интенсивность каждого цвета лежит в диапазоне 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 может принимать следующие значения:

Значение type по умолчанию 'object'.

// узнаем цвет 11-го светодиода
var color = ledStrip.getColor(10, 'object');
// выведет в консоль {red: 0.5, green: 0.8, blue: 0.7}
print(color);