Не работает адресная светодиодная лента ws2812b

Timofey_V
Offline
Зарегистрирован: 14.12.2019

Всем привет! Перестала работать лента ws2812b. Раньше лента работала, но после переезда на другую квартиру горит белым и все. Даже если отпаять сигнальный провод и просто подать питание 5V, все равно вся горит белым. Если потрогать рукой сигнальный контакт один из светодиодов загорается красным, а вся остальная лента горит белым. По идеи если отключить сигнальный провод то лента вообще не должна гореть? Что может быть не так подскажите пожалуйста?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

1-я курортница. Доктор, а отчего у меня под коленкой бывает чувство, похожее на задумчивость?
Доктор. Под которой коленкой?
1-я курортница. Под правой.
Доктор. Пройдет.
(с)

agnec2001
Offline
Зарегистрирован: 08.11.2019

Это вряд ли пройдет. Но можно попробовать полечить. Для начала проверить питание как ленты, так и ардуины. Проверить что земля ленты соединена с землёй контроллера. Проверить наличие и исправность резистора с пина контроллера на вход ленты. Убедиться, что это действительно вход, а не выход. Внимательно посмотреть скетч. Если есть сомнения, то кинуть его сюда в соответствии с правилами.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Скорее всего или в ленте потерялся контакт или сгорел первый светодиод. Подайте сигнал на 2-й - так сможете проверить

Timofey_V
Offline
Зарегистрирован: 14.12.2019

Все проверил, ардуино, питание, резистор - работает. Скетч у меня был готовый пример из библиотеки, чтото типа радуги, раньше все работало.

Я тоже склонен к тому, что в ленте где-то обрыв. Нужно действительно подать питание на второй светодиод и проверить. Но только как это сделать я еще не разобрался. Проблема в том, что на ленте у меня 144 светодиода на 1 метр, они расположены очень близко друг от друга и открытых контактов там нету, все дорожки спрятаны и куда подключатся непонятно.

Лента у меня вот такая

b707
Offline
Зарегистрирован: 26.05.2017

на фото видно, что диоды крупные, наверно 5050. Можно попытаться аккуратно подпаяться прямо к ножкам диода, распиновку смотри в даташите

Timofey_V
Offline
Зарегистрирован: 14.12.2019

b707 пишет:

на фото видно, что диоды крупные, наверно 5050. Можно попытаться аккуратно подпаяться прямо к ножкам диода, распиновку смотри в даташите

Да, наверно так и сделаю, спасибо! По результатам отпишусь.

sadman41
Offline
Зарегистрирован: 19.10.2016

Можно просто тыкать ножкой ардуины через резистор в IN каждого следующего светодиода. В ардуине должен быть какой-то скетч с радугой (например) в лупе зашит.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Timofey_V пишет:
подать питание на второй светодиод и проверить. Но только как это сделать я еще не разобрался. Проблема в том, что на ленте у меня 144 светодиода на 1 метр, они расположены очень близко друг от друга и открытых контактов там нету

Я для таких дел сделал щуп (как у мультиметра) на конце которого швейная игла. И просто тыкаю в контакт, прокалывая защитный изолирующий слой. 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

А светодиод Вы сожгли сами статикой. Так что второй - энто самое правильное решение.

Timofey_V
Offline
Зарегистрирован: 14.12.2019

Пробовал подключать и во второй и в третий и в середину и в конец ленты - результат одинаковый, горит белым и все. Вопрос почему она светится при отпаянном входе, тоесть без подключения к ардуино?

Еще нюанс у меня БП на 4 ампера, а в ленте 144 светодиода, если они горят белым, то ток гдето больше 8 ампер. Когда у меня был скетч с радугой диоды горели в пол яркости и мне 4 ампер хватало, но так как сейчас горит вся белым явно идет нехватка по току. Ардуино питаю от отдельного источника.

agnec2001
Offline
Зарегистрирован: 08.11.2019

Это очень странно, что вся горит. А если вход к земле притянуть ?

И фото места подключения проводов к ленте хотелось бы.

Timofey_V
Offline
Зарегистрирован: 14.12.2019

Если заземлить вход ничего не меняется.

Фото места подключения

 

2 светодиода в ленте горят розовым и лента ели заметно  мерцает

Rostislav_lv
Offline
Зарегистрирован: 12.02.2019

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

Timofey_V
Offline
Зарегистрирован: 14.12.2019

Лента состояла из двух частей, распаял ее пополам, подключил вторую часть, тоже самое горит вся белым. Не знаю, что с ней делать. Заказал новую ленту.

Rostislav_lv
Offline
Зарегистрирован: 12.02.2019

БП проверяли?

Timofey_V
Offline
Зарегистрирован: 14.12.2019

Да, подключал БП от ПК на 5V 28A, результат тот же.

b707
Offline
Зарегистрирован: 26.05.2017

Timofey_V пишет:

Лента состояла из двух частей, распаял ее пополам, подключил вторую часть, тоже самое горит вся белым. Не знаю, что с ней делать. Заказал новую ленту.

ставки принимаете? - ставлю на то, что и новая будет гореть белым...

Смысл моего сообщения - ищите ошибку в своем подключении, вообще в своей логике. На крайний случай - опробуйте отнести ленту знающему человеку

agnec2001
Offline
Зарегистрирован: 08.11.2019

Согласен с b707. Хотел на фото ленты увидеть надпись IN или OUT. Но что-то их не видно. Это точно адресная лента ?

Timofey_V
Offline
Зарегистрирован: 14.12.2019

agnec2001 пишет:

Согласен с b707. Хотел на фото ленты увидеть надпись IN или OUT. Но что-то их не видно. Это точно адресная лента ?

Вот только не нужно из меня дурака делать! Я же писал, что лента раньше работала. В ардуино был скетч из библиотеки FastLED, лента светила разными цветами и с разным количеством огней.

Вот фото

b707
Offline
Зарегистрирован: 26.05.2017

ну я не знаю, кто кого делает в этой ветке :) - но согласитесь, что ситуация. что вдруг сгорели все 30 или сколько там у вас? - 60 диодов? - ситуация эта несколько странная...

Полагаю. что если дать эту ленту грамотному человеку - он найдет в ней исправные диоды.

sadman41
Offline
Зарегистрирован: 19.10.2016

Белый цвет - это постоянный лог. 1 в линии data... Получается, что все светодиоды получают 0xFFFFFF.

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

Белый цвет - это постоянный лог. 1 в линии data... Получается, что все светодиоды получают 0xFFFFFF.

может, просто "сопля" между VCC и DATA?

#добавка - собственно. такое предположение уже высказывалось выше по ветке....

ТС, попробуйте отрезать от ленты последний диод и подключить только его. Только обязательно отделить его от остальной ленты

sadman41
Offline
Зарегистрирован: 19.10.2016

Может, конечно... но почему она не коротит БП?

Наверное тут только осциллографом послушать надо - если после первого светодиода постоянно 1 в линию идёт, то он перешибает весь остальной траффик, даже если ардуиной в разные светодиоды тыкать. Но это гипотеза.

Хотя нет, по даташиту всё равно пульс должен быть даже для единиц:  https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707 пишет:

сколько там у вас? - 60 диодов? - 

144. У меня есть такая лента. Красивая, диоды часто идут.

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

 если после первого светодиода постоянно 1 в линию идёт, то он перешибает весь остальной траффик, даже если ардуиной в разные светодиоды тыкать. Но это гипотеза.

ТС пишет, что разделил ленту пополам и обе половины горят белым.

Из чего я и делаю вывод. что ошибка у него не в ленте, а в его подходе....

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Timofey_V пишет:

Вот только не нужно из меня дурака делать! Я же писал, что лента раньше работала. В ардуино был скетч из библиотеки FastLED, лента светила разными цветами и с разным количеством огней.

Не обижайся! Тут у нас особая "атмосфера"!

Ты пример из фастледа возьми на малое количество диодов. На 2-3 ну может 10 и с ним проверь. Ты ж можешь подключить ардуинку к компу, поставить на него ИДЕ, фастлед загрузить?

Получится у тебя? Если нет, то отдавай тому, у кого получится. Иначе пустой разговор.

Timofey_V
Offline
Зарегистрирован: 14.12.2019

wdrakula пишет:

Получится у тебя? Если нет, то отдавай тому, у кого получится. Иначе пустой разговор.

Конечно получится, я же это уже делал, попробую еще раз. Я ардуино не первый раз в руках держу, у меня спидометр на велике на ардуино сделан.  Вобщем буду пробовать разные варианты, если что-то получится отпишу.

b707
Offline
Зарегистрирован: 26.05.2017

Timofey_V пишет:

Конечно получится, я же это уже делал, попробую еще раз. Я ардуино не первый раз в руках держу, у меня спидометр на велике на ардуино сделан.  Вобщем буду пробовать разные варианты, если что-то получится отпишу.

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

agnec2001
Offline
Зарегистрирован: 08.11.2019

И внимательней со скетчем.

Я один раз одну фигурную скобку потерял и долго не мог понять почему на ленте один эффект проходит нормально, а потом всё гаснет. 

Компилятор при этом никаких ошибок не давал и загрузка проходила нормально.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

agnec2001 пишет:

Я один раз одну фигурную скобку потерял

Компилятор при этом никаких ошибок не давал и загрузка проходила нормально.

Такого не может быть в принципе. Количество открывающих и закрывающих скобок всегда должно быть одинаково. Иначе компилятор обязательно выдаст ошибку и скетч не скомпилируется. Вы могли потерять только две или другое чётное количество скобок.

agnec2001
Offline
Зарегистрирован: 08.11.2019

Вы правы, не одну. Не правильно выразился. Копипастил кусок кода из другого скетча и ошибся с границами выделения. А встроенный редактор IDE добавил недостающую парную скобку. Вот только не туда. В результате для компилятора всё сложилось удачно, а я долго офигевал почему не работает 100% рабочий код :)

Timofey_V, что-то мне Ваша лента совсем не нравится. Сейчас посмотрел на свою ленту, на фотки в инете, везде есть надписи IN-OUT , DI-DO и/или нарисованы стрелки в направлении прохождения управляющего сигнала. На Вашей ничего подобного не наблюдаю. Фотки не очень, но подозреваю, что между светодиодами нарисованы ножницы.

Это точно та самая лента, которая раньше нормально работала ? Или Вы заказали новую, точно такую же у того же самого продавца ? Тогда возможно Вам прислали обычную под видом адресной. Надписи на ленте можно любые слепить. Проверить можно омметром. Короткое должно быть с конца ленты, куда припаян "минус" питания, на вывод светодиода помеченного уголком на корпусе. Любого. Питание у них параллельное. Если точно такое же сопротивление будет с любым другим выводом светодиода, значит Вас обманули и это не адресная лента. Других вариантов не вижу.

Timofey_V
Offline
Зарегистрирован: 14.12.2019

agnec2001 пишет:

Это точно та самая лента, которая раньше нормально работала ?

Да, это та самая лента, что раньше работала. Отрезал последний светодиод, как советовали, подключил его согласно даташиту, он тоже светит белым.

на зеленый провод подаю + на желтый -.

Пришла новая лента, подключил - отлично работает.

agnec2001
Offline
Зарегистрирован: 08.11.2019

Фантастика. Timofey_V, да Вы просто волшебник !

Не поделитесь способом превращения сразу всей адресной ленты в обыкновенную белую ? ;)

Мне только первый светодиод удалось убить при подключении без резистора.

И кстати эта лента точно такая же или маркировка вход/выход есть ?

nik182
Offline
Зарегистрирован: 04.05.2015

Теперь методом деления пополам искать причину. 

Timofey_V
Offline
Зарегистрирован: 14.12.2019

agnec2001 пишет:

И кстати эта лента точно такая же или маркировка вход/выход есть ?

На новой ленте маркировка вход/выход есть. На старой не указанно, но там был припаян фабричный коннектор, я вместо него припаял свои провода и лента работала. Это было где-то полгода назад.

agnec2001 пишет:

Не поделитесь способом превращения сразу всей адресной ленты в обыкновенную белую ?

Единственное логичное предположение, что могло произойти, это то, что лента у меня была наклеена на алюминиевый профиль для светодиодных лент и этот профиль вместе с лентой ехал в грузовой машине почти 1000 км. Возможно статика погубила все светодиоды в ленте. Но это мое предположение, что произошло на самом деле я не знаю.

veroni0803
Offline
Зарегистрирован: 18.01.2018

Добрый вечер. Подскажите пож, в чем дело. Матрица 16х16 работала но не переключала свет. Перезалил скетч. Теперь загорается белым светом. Питаю от АТ блока. Пробовал подключиться не к первому диоду, к следующим. Вообще не загорается. Нет сигнала от Ардуинки - тоже не горит. Надо первый диод отрезать?

b707
Offline
Зарегистрирован: 26.05.2017

veroni0803 пишет:

Нет сигнала от Ардуинки - тоже не горит. Надо первый диод отрезать?

что-то у меня рука плохо слушается... наверно надо пару пальцев отрезать...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

veroni0803 пишет:

Надо первый диод отрезать?

https://www.youtube.com/watch?v=NfwlL3BfrLA

veroni0803
Offline
Зарегистрирован: 18.01.2018

Спасибо.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Не за что! Обращайтесь!

Antivir
Antivir аватар
Offline
Зарегистрирован: 16.09.2011

Народ, подскажите, как в таком коде убрать/исключить красный цвет? Если что это тестовый из библиотеки Adafruit_NeoPixel/RGBWstrandtest

// NeoPixel test program showing use of the WHITE channel for RGBW
// pixels only (won't look correct on regular RGB NeoPixel strips).

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
 #include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif

// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1:
#define LED_PIN     6

// How many NeoPixels are attached to the Arduino?
#define LED_COUNT  150

// NeoPixel brightness, 0 (min) to 255 (max)
#define BRIGHTNESS 100// Set BRIGHTNESS to about 1/5 (max = 255)

// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRBW + NEO_KHZ800);
// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
//   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)

void setup() {
  // These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
  // Any other board, you can remove this part (but no harm leaving it):
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  clock_prescale_set(clock_div_1);
#endif
  // END of Trinket-specific code.

  strip.begin();           // INITIALIZE NeoPixel strip object (REQUIRED)
  strip.show();            // Turn OFF all pixels ASAP
  strip.setBrightness(BRIGHTNESS);
}

void loop() {

//  whiteOverRainbow(75, 5);

//  pulseWhite(5);

  rainbowFade2White(3, 3, 1);
}

// Fill strip pixels one after another with a color. Strip is NOT cleared
// first; anything there will be covered pixel by pixel. Pass in color
// (as a single 'packed' 32-bit value, which you can get by calling
// strip.Color(red, green, blue) as shown in the loop() function above),
// and a delay time (in milliseconds) between pixels.
void colorWipe(uint32_t color, int wait) {
  for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
    strip.setPixelColor(i, color);         //  Set pixel's color (in RAM)
    strip.show();                          //  Update strip to match
    delay(wait);                           //  Pause for a moment
  }
}

void rainbowFade2White(int wait, int rainbowLoops, int whiteLoops) {
  int fadeVal=0, fadeMax=100;

  // Hue of first pixel runs 'rainbowLoops' complete loops through the color
  // wheel. Color wheel has a range of 65536 but it's OK if we roll over, so
  // just count from 0 to rainbowLoops*65536, using steps of 256 so we
  // advance around the wheel at a decent clip.
  for(uint32_t firstPixelHue = 0; firstPixelHue < rainbowLoops*65536;
    firstPixelHue += 256) {

    for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...

      // Offset pixel hue by an amount to make one full revolution of the
      // color wheel (range of 65536) along the length of the strip
      // (strip.numPixels() steps):
      uint32_t pixelHue = firstPixelHue + (i * 65536L / strip.numPixels());

      // strip.ColorHSV() can take 1 or 3 arguments: a hue (0 to 65535) or
      // optionally add saturation and value (brightness) (each 0 to 255).
      // Here we're using just the three-argument variant, though the
      // second value (saturation) is a constant 255.
      strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue, 255,
        255 * fadeVal / fadeMax)));
    }

    strip.show();
    delay(wait);

    if(firstPixelHue < 65536) {                              // First loop,
      if(fadeVal < fadeMax) fadeVal++;                       // fade in
    } else if(firstPixelHue >= ((rainbowLoops-1) * 65536)) { // Last loop,
      if(fadeVal > 0) fadeVal--;                             // fade out
    } else {
      fadeVal = fadeMax; // Interim loop, make sure fade is at max
    }
  }

  for(int k=0; k<whiteLoops; k++) {
    for(int j=0; j<256; j++) { // Ramp up 0 to 255
      // Fill entire strip with white at gamma-corrected brightness level 'j':
      strip.fill(strip.Color(0, 0, 0, strip.gamma8(j)));
      strip.show();
    }
    delay(1000); // Pause 1 second
    for(int j=255; j>=0; j--) { // Ramp down 255 to 0
      strip.fill(strip.Color(0, 0, 0, strip.gamma8(j)));
      strip.show();
    }
  }

  delay(500); // Pause 1/2 second
}

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

А он там есть вообще? Или точнее - что там есть? Потому как есть функция colorWipe но не вижу ее вызова.

natan04g
Offline
Зарегистрирован: 05.07.2021

Доброго времени суток, у меня тоже проблема с лентой: питание есть, сигнальный есть, а не работает. Подключил сигнальный к следующему светодиоду - тоже не работает, подключил чуть дальше - не работает, подключил почти в конце - прекрасно работает. Направление правильное. Ардуино на другой ленте проверил - все работает. Это часть светодиодов не работает?

b707
Offline
Зарегистрирован: 26.05.2017

natan04g, какого ответа вы ждете на свой вопрос? Думаете кто-то поедет к вам домой ленту проверять?
Для начала, как можно что-то обсуждать без схемы и кода.