Rgb матрица 4×4 (troyka-модуль) + iskra js + troyka slot shield v2

Тема в разделе "Обсуждение магазина", создана пользователем Vitaliy-Sh, 7 мар 2020.

  1. Vitaliy-Sh

    Vitaliy-Sh Нерд

    Уважаемая Амперка, укажите пожалуйста в описании модуля 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.
     
  2. Vitaliy-Sh

    Vitaliy-Sh Нерд

    Решение проблемы, но не будет работать 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);

     
     
    Последнее редактирование: 7 мар 2020
  3. Vitaliy-Sh

    Vitaliy-Sh Нерд

    Еще один прикол. Если поставить модуль на тройку слот шилд и сделать все как выше, то при яркости больше matrix.brightness(0.015); светодиоды мерцают.

    Еще сделал накладку на матрицу. Скачать модель для печати на 3D принтере модно по этой ссылке https://www.thingiverse.com/thing:4212996
     

    Вложения:

    Последнее редактирование: 10 мар 2020
    Daniil и issaom нравится это.
  4. zored

    zored Нерд

    Такое чувство, что это ограничение в библиотеке @amperka/led-strip.

    Ведь этом примере с UNO на C++ RGB-матрица подключается к 4-му пину, который совсем не MISO:



    [​IMG]
     
  5. zored

    zored Нерд

    Всё оказалось просто: можно слать сигналы массивом байтов:
    Код (Javascript):
    require("neopixel").write(P4, [255,0,0,  0,255,0]);
    Тут DI-вход RGB-матрицы должен попасть на пин 4.
    Цвета вводятся в формате Green, Red, Blue от 0 до 255.
     
    arkadyf нравится это.