Странное поведение адресной ленты лента 2812B

Тема в разделе "Arduino & Shields", создана пользователем mikespb, 26 апр 2018.

  1. mikespb

    mikespb Нуб

    Всем привет ,
    подскажите куда можно копать со странным поведением ленты
    Для ознакомления сделал мигалку 3-мя цветами
    опуская подключения библиотек и тп код выглядит проще некуда
    while(true){
    LEDS.showColor(CRGB(255,0,0));
    delay(500);
    LEDS.showColor(CRGB(0,255,0));
    delay(500);
    LEDS.showColor(CRGB(0,0,255));
    delay(500);
    LEDS.showColor(CRGB(0,0,0));
    delay(500);
    }
    30 светодиодов дополнительное питание от мобильной USB зарядки на 2А
    Лента затыкается в произвольном месте но через какое то время отвисает, почему так понять не могу
    ссылка на видео для наглядности

     
  2. А какая библиотека?
     
  3. Slaiterx

    Slaiterx Гик

    Нужна еще информация код целиком
     
  4. mikespb

    mikespb Нуб


    //----------------------НАСТРОЙКИ-----------------------
    #define NUM_LEDS 30 // число светодиодов в ленте
    #define DI_PIN 3 // пин, к которому подключена лента

    #define start_flashes 1 // проверка цветов при запуске (1 - включить, 0 - выключить)

    //----------------------НАСТРОЙКИ-----------------------


    #define serialRate 9600 // скорость связи с ПК
    #include <FastLED.h>
    CRGB leds[NUM_LEDS]; // создаём ленту

    void setup()
    {
    FastLED.addLeds<WS2812B, DI_PIN, GRB>(leds, NUM_LEDS); // инициализация светодиодов
    LEDS.setBrightness(20);
    LEDS.showColor(CRGB(0, 0, 0));
    while (start_flashes) {
    LEDS.showColor(CRGB(255, 0, 0));
    delay(500);
    LEDS.showColor(CRGB(0, 255, 0));
    delay(500);
    LEDS.showColor(CRGB(0, 0, 255));
    delay(500);
    LEDS.showColor(CRGB(0, 0, 0));
    delay(500);
    }


    }

    void loop() {

    }
     
  5. Slaiterx

    Slaiterx Гик

    А случаем часть кода в loop не надо перенести setup исполняется один раз при загрузке а loop работает как петля
     
  6. mikespb

    mikespb Нуб

    с точки зрения обычного программирования можно и так и так(по крайней мере для "мигалки" чтоб проверить первичную работоспособность ленты ),
    вставлять такую конструкцию в setup может быть идеологически не правильно,
    но в любом случае должно работать