Инструменты пользователя

Инструменты сайта


Светодиодная RGB матрица 4×4 (Troyka-модуль)

RGB Matrix — цепочка из шестнадцати цветных светодиодов, собранная на одноюнитовом модуле.

Видеообзор

Подключение и настройка

RGB-матрица общается с управляющей электроникой по трём проводам. При подключении к Arduino или Iskra JS удобно использовать Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов.

Примеры работы

Пример работы для Arduino

matrixRGB.ino
  1. // библиотека для работы с RGB-матрицей
  2. #include <Adafruit_NeoPixel.h>
  3.  
  4. // номер пина, к которому подключена RGB-матрица
  5. constexpr uint8_t MATRIX_PIN = 4;
  6. // количество светодиодов в матрице
  7. constexpr uint8_t LED_COUNT = 16;
  8. // яркость матрицы,
  9. // задаётся в диапазоне от 0 (минимальная яркость) до 255 (максимальная яркость)
  10. constexpr uint8_t BRIGHTNESS = 20;
  11.  
  12. // создаём объект класса Adafruit_NeoPixel
  13. Adafruit_NeoPixel matrix = Adafruit_NeoPixel(LED_COUNT, MATRIX_PIN, NEO_GRB + NEO_KHZ800);
  14.  
  15. void setup() {
  16. // инициализация RGB-матрицы
  17. matrix.begin();
  18. // очищаем матрицу
  19. matrix.show();
  20. // устанавливаем яркость светодиодов
  21. matrix.setBrightness(BRIGHTNESS);
  22. }
  23.  
  24. void loop(){
  25. // заполняем RGB-матрицу по сегментам «бегущий огонь» красного цвета
  26. colorWipe(matrix.Color(255, 0, 0), 50);
  27. // заполняем RGB-матрицу по сегментам «бегущий огонь» зелёного цвета
  28. colorWipe(matrix.Color(0, 255, 0), 50);
  29. // заполняем RGB-матрицу по сегментам «бегущий огонь» синего цвета
  30. colorWipe(matrix.Color(0, 0, 255), 50);
  31. // гасим RGB-матрицу по сегментам «бегущая тень»
  32. colorWipe(matrix.Color(0, 0, 0), 50);
  33. }
  34.  
  35. // функция заполнения каждого сегмента
  36. void colorWipe(uint32_t c, uint8_t wait) {
  37. // для каждого светодиода
  38. for (uint16_t i = 0; i < matrix.numPixels(); i++) {
  39. // задаём цвет
  40. matrix.setPixelColor(i, c);
  41. // обновляем матрицу
  42. matrix.show();
  43. // ждём
  44. delay(wait);
  45. }
  46. }

После прошивки управляющей платформы, вы увидите заполнение по очереди каждого светодиода матрицы из красного, зелёного и синего цветов.

Пример работы для Iskra JS

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

Элементы платы

RGB-светодиод SK6812

SK6812 представляет собой RGB-светодиод со встроенным контроллером. Протокол управления этим светодиодом аналогичен протоколу популярной микросхемы WS2812.

Буфер преобразования логических уровней

Необходим для сопряжения устройств с разными напряжениями логических уровней. Родное напряжение модуля — 5 В, но он будет отлично работать и с Iskra JS, рабочее напряжение которой 3,3 В.

Перемычки выходных пинов

Соедините капелькой припоя контакты специальных перемычек на модуле. Это позволит соединить несколько RGB-матриц последовательно.

Использовать модуль совместно с Troyka Slot Shield безопаснее с нераспаянными перемычками.

Контакты подключения трёхпроводных шлейфов

Входная группа контактов

  • Сигнальный (DI) — цифровой вход первого RGB-светодиода. Подключите к любому цифровому пину микроконтроллера.
  • Питание (V) — питание модуля. Соедините с питанием микроконтроллера.
  • Земля (G) — земля модуля. Соедините с землёй микроконтроллера.

Выходная группа контактов

Используется, если требуется подключить несколько RGB-матриц в одну сигнальную линию. По умолчанию выключена. Для включения капните немного припоя на перемычки выходных пинов.

  • Сигнальный (DO) — цифровой выход последнего RGB-светодиода.
  • Сигнальный (V) — питание линии.
  • Сигнальный (G) — земля линии.

Принципиальная и монтажная схемы

Характеристики

  • Модуль: адресный RGB-светодиод SK6812
  • Количество светодиодов: 16
  • Рабочее напряжение: 3,3–5 В
  • Потребляемый ток: до 0.6 А
  • Габариты: 25,4×25,4 мм

Ресурсы