ws 2811b Кто подскажет?

Тема в разделе "Arduino & Shields", создана пользователем sanik, 31 дек 2017.

  1. sanik

    sanik Гик

    Вот код который зажигает все пикселы на ленте
    Код (C++):
    for (byte i = 0; i < total_pixels; i++)
            strip.setPixelColor(i, color);
          strip.show();
    А как к примеру стереть допустим 5 пикселей и эти стертые пиксели прогнать по кругу?
     
  2. ostrov

    ostrov Гуру

    Цвета загоняются в цепь светодиодов как патроны а обойму. Самое понятное - создать массив с колвом элементов равным колву светодиодов, создать функцию вывода этого массива в ленту (типа вашего примера) и менять содердимое массива по любому алгоритму.

     
    sanik и arkadyf нравится это.
  3. sanik

    sanik Гик

    Спасибо! Вот написал я массивы
    Код (C++):
    void stripRED ()
    {
      int matrixRED[35] =
      {
        0,  1,  2,  3,  4,  5,  6,
        42,  43,  44,  45,  46,  47,  48,
        84,  85,  86,  87,  88,  89,  90,
        126, 127, 128, 129, 130, 131, 132,
        168, 169, 170, 171, 172, 173, 174
      };

      for (int i = 0; i < 35; i++)
      {
        byte hue ;
        if (Start != 0 ) {
          hue = musRED ;
        }
        uint32_t color = Wheel(hue);
        strip.setPixelColor(matrixRED[i], color);
      }//close for loop
      strip.show();
    }

    void stripGREEN ()
    {
      int matrixGREEN[28] =
      {
        14,  15,  16,  17,  18,  19,  20,
        56,  57,  58,  59,  60,  61,  62,
        98,  99, 100, 101, 102, 103, 104,
        140, 141, 142, 143, 144, 145, 146
      };

      for (int i = 0; i < 28; i++)
      {
        byte hue ;
        if (Start != 0 ) {
          hue = musGREEN ;
        }
        uint32_t color = Wheel(hue);
        strip.setPixelColor(matrixGREEN[i], color);
      }//close for loop
      strip.show();
    }
    А как теперь их погонять в разных направлениях?
     
  4. ostrov

    ostrov Гуру

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

    sanik Гик

    Спасибо за помощь! Разработал свой алгоритм обработки сигнала для светомузыки. Она боле менее понимает ритм.

     
    CYITEP_BAC9I, arkadyf и ostrov нравится это.
  6. CYITEP_BAC9I

    CYITEP_BAC9I Гик

    респект и уважуха! Была мысля себе сделать на НГ цветомузыку. С Наполеоновским функционалом. Но цигель совсем ай лю лю был. чтоб в зависимости от ритма выбирался цвет и оттенок. если ритм начинал зашкаливать подключать стробоскоп. плюс где то наталкивался на библиотеку эффектов. хотле и ее подтянуть чтоб менялись эффекты через определнные промежутки. но это все мячты мячты. а вы все же нашли время воплотить это в жисть!)