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
(174 баллов) 1 1 9

1 Ответ

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

(792 баллов) 1 4 23
выбран
Не работает. Мне кажется питания нет вообще. Т.е. все таки надо закоротить перемычку 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); светодиоды мерцают.
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.
  1. parovoZZ

    8 балл(ов)

  2. dmipec

    2 балл(ов)

  3. wickiup

    2 балл(ов)

  4. Un_ka

    2 балл(ов)

  5. antonlewz

    1 балл(ов)

  6. Алексей1307

    1 балл(ов)

Награды месяца
1-е место: Arduino MKR GSM 1400
2-е место: Arduino MKR Wi-Fi 1010
3-е место: Arduino MKR Zero

...