Адресные светодиоды ws2812b

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем a1000, 24 ноя 2020.

  1. a1000

    a1000 Гик

    Решил немного поизвращаться над адресными светодиодами, а именно - работа с ними напрямую. Немного не понял даташит. Есть в нём два тиких рисуночка
    [​IMG]
    Что-то я в этой диаграмме запутался. Оно работает как сдвиговый регистр? Или первые 24 бита запишутся в первый светодиод, вторые во второй и третьи в третий?
     
  2. b707

    b707 Гуру

    а разве это не одно и то же? :)
     
  3. a1000

    a1000 Гик

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

    b707 Гуру

    а, ну да... в этом смысле наоборот.
     
  5. a1000

    a1000 Гик

    Значит я правильно понял, светодиод сначала запиминает свою пачку из 3 байт а следующую пропускает дальше.
     
  6. parovoZZ

    parovoZZ Гуру

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

    Igor68 Гуру

    Верно! Первый светодиод "откусывает" свои первые 24 бита, остальное отдаёт следующему... и так далее. Последний светодиод ничего не отдаёт... своего рода проверка... вдруг последний что-то выдал - значит что-то не то.
     
  8. parovoZZ

    parovoZZ Гуру

    почему это?
     
  9. a1000

    a1000 Гик

    Главное в сигнал reset не вылезти.
     
  10. Igor68

    Igor68 Гуру

    Потому как сам не в курсе? Картинку смотри.
     
  11. Igor68

    Igor68 Гуру

    Блин что за натура! Что? Лишь бы побрехать?
     
  12. parovoZZ

    parovoZZ Гуру

    Я засылаю посылку в 30 байт, а светодиодов в последовательной линейке всего 5. Что будет делать последний светодиод? Правильно - лишние 15 байт он выставит на пине OUT. Поэтому утверждение
    не верно.
     
  13. a1000

    a1000 Гик

    Если послать "пачек" по 3 байта больше чем светодиодов в цепочке то на DOUT оследнего сигнал будет. Но принимать его будет некому.
     
  14. parovoZZ

    parovoZZ Гуру

    В принципе, если сигнал с последнего светодиода завернуть обратно в МК, то можно:
    1. Контролировать прохождение сигнала
    2. Вычислять количество светодиодов в ленте.
     
    a1000 и Un_ka нравится это.
  15. Igor68

    Igor68 Гуру

    Это что-то не то. Верно? А что не верно? 5 * 3 = 15 байт "съели" эти 5 светодиодов... остальные отданы дальше. Где несоответствие?
    Кстати:
    Это полная глупость... ну или хвостозадирательство:D
     
  16. a1000

    a1000 Гик

    А капризная штука однако. При передаче нуля нужен положительный импульс в 0,4 мкс. При 16 МГц это 6,4 такта. На 6 и 7 не заработало. Уменьшил до 5 - пошло.
     
  17. parovoZZ

    parovoZZ Гуру

    +/- 150 нс на температурные колебания