RGB Matrix — цепочка из шестнадцати цветных светодиодов, собранная на одноюнитовом модуле.
RGB-матрица общается с управляющей электроникой по трём проводам. При подключении к Arduino или Iskra JS удобно использовать Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов.
// библиотека для работы с RGB-матрицей #include <Adafruit_NeoPixel.h> // номер пина, к которому подключена RGB-матрица #define MATRIX_PIN 4 // количество светодиодов в матрице #define LED_COUNT 16 // создаём объект класса Adafruit_NeoPixel Adafruit_NeoPixel matrix = Adafruit_NeoPixel(LED_COUNT, MATRIX_PIN, NEO_GRB + NEO_KHZ800); void setup() { // инициализация RGB-матрицы matrix.begin(); } void loop() { // заполняем RGB-матрицу по сегментам «бегущий огонь» красного цвета colorWipe(matrix.Color(255, 0, 0), 50); // заполняем RGB-матрицу по сегментам «бегущий огонь» зелёного цвета colorWipe(matrix.Color(0, 255, 0), 50); // заполняем RGB-матрицу по сегментам «бегущий огонь» синего цвета colorWipe(matrix.Color(0, 0, 255), 50); // гасим RGB-матрицу по сегментам «бегущая тень» colorWipe(matrix.Color(0, 0, 0), 50); } // функция заполнения каждого сегмента void colorWipe(uint32_t c, uint8_t wait) { for (uint16_t i = 0; i < matrix.numPixels(); i++) { // заполняем текущий сегмент выбранным цветом matrix.setPixelColor(i, c); matrix.show(); // ждём delay(wait); } }
После прошивки управляющей платформы, вы увидите заполнение по очереди каждого светодиода матрицы из красного, зелёного и синего цветов.
Iskra JS использует для работы с модулем пин SPI MOSI, поэтому подключать модуль следует к пину P3
:
SPI1.setup({baud:3200000, mosi:P3, sck:A5, miso:P2}); var length = 16; var matrix = require('@amperka/led-strip').connect(SPI1, length, 'GRB'); // гасим все светодиоды matrix.clear(); setInterval(function() { for (var i = 0; i < length; i++) { // выбираем произвольную интенсивность красного цвета var redTone = Math.random(); // устанавливаем цвет светодиода matrix.putColor(i, [redTone, 0, 0]); } // применяем изменения matrix.apply(); }, 1000);
SK6812 представляет собой RGB-светодиод со встроенным контроллером. Протокол управления этим светодиодом аналогичен протоколу популярной микросхемы WS2812.
Необходим для сопряжения устройств с разными напряжениями логических уровней. Родное напряжение модуля — 5 В, но он будет отлично работать и с Iskra JS, рабочее напряжение которой 3,3 В.
Соедините капелькой припоя контакты специальных перемычек на модуле. Это позволит соединить несколько RGB-матриц последовательно.
Использовать модуль совместно с Troyka Slot Shield безопаснее с нераспаянными перемычками.
Входная группа контактов
Выходная группа контактов
Используется, если требуется подключить несколько RGB-матриц в одну сигнальную линию. По умолчанию выключена. Для включения капните немного припоя на перемычки выходных пинов.