0 голосов
Как подсоединить матрицу 4х4 к  Iskra JS через Troyka Slot Shield v2?

По шлейфу (проводам) работает.

Через Troyka Slot Shield v2 нет. Пин 3 слот B на ней распян по i2с. Через SPI2 нижние контакты не работает.

Ощущение, что надо на модуле матрицы капнуть припой на перемычку выхода земли, т.к. напряжения на модуле быстрей всего нет, но боязно.

Никакой инфы в вики как подключать модуль через Troyka Slot Shield v2 к Iskra JS увы нет - http://wiki.amperka.ru/продукты:troyka-rgb-matrix
(220 баллов) 3 5 12

2 Ответы

+1 голос
 
Лучший ответ

С этим кодом из примера матрица подключается в слот B, чтобы пин DI был на пине 3, должно работать.

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

(1.6 тыс. баллов) 3 9 33
выбран
Не работает. Мне кажется питания нет вообще. Т.е. все таки надо закоротить перемычку G на модуле. Но боязно.  Надо бы ответ разработчика получить.
Не вижу смысла в этом, ибо вообще не связано. А Slot Shield исправен?
Сажал на пин 6 слот B светодиод. Работает. Так же сажал на тот же слот OLED экранчик  i2c распаянный на макетке тройка и он тоже работает.
Решение проблемы, но не будет работать i2c:

В программе добавить
[code=JavaScript]

digitalWrite(SDA, 0);
digitalWrite(SCL, 1);

[/code]

Программа (на матрице не ярко меняются рандомно цвета светодиодов)

[code=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);

[/code]
Еще один прикол. Если поставить модуль на тройку слот шилд и сделать все как выше, то при яркости  матрицы больше matrix.brightness(0.015); светодиоды мерцают.
0 голосов
У сына такая же матрица и указанный набор плат, все работало из коробки, на НГ писал программку для рандомного мерцания.
(53 баллов) 2 3 8
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...