Уважаемая Амперка, укажите пожалуйста в описании модуля RGB матрица 4×4 (Troyka-модуль) https://amperka.ru/product/troyka-rgb-led-4x4 , что он несовместим с Iskra JS + Troyka Slot Shield v2. Если только каким-то образом на Iskra JS возможно назначить на SDA - GND, а на SCL - 5V, т.к. в Troyka Slot Shield v2 пин 3 сидит в связке с SDA и SCL.
Решение проблемы, но не будет работать i2c: В программе добавить Код (Javascript): digitalWrite(SDA, 0); digitalWrite(SCL, 1); Программа (на матрице не ярко меняются рандомно цвета светодиодов) Код (Javascript): digitalWrite(SDA, 0); digitalWrite(SCL, 1); 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()/100; var greenTone = Math.random()/100; var blyTone = Math.random()/100; // устанавливаем цвет светодиода matrix.putColor(i, [redTone, greenTone, blyTone]); } // применяем изменения matrix.apply(); }, 1000);
Еще один прикол. Если поставить модуль на тройку слот шилд и сделать все как выше, то при яркости больше matrix.brightness(0.015); светодиоды мерцают. Еще сделал накладку на матрицу. Скачать модель для печати на 3D принтере модно по этой ссылке https://www.thingiverse.com/thing:4212996
Такое чувство, что это ограничение в библиотеке @amperka/led-strip. Ведь этом примере с UNO на C++ RGB-матрица подключается к 4-му пину, который совсем не MISO:
Всё оказалось просто: можно слать сигналы массивом байтов: Код (Javascript): require("neopixel").write(P4, [255,0,0, 0,255,0]); Тут DI-вход RGB-матрицы должен попасть на пин 4. Цвета вводятся в формате Green, Red, Blue от 0 до 255.