Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Обсуждение ESP8266 и ws2812 в Arduino IDE - это очень просто!

Тема в разделе "Раздел для начинающих", создана пользователем Victor, 19 дек 2016.

Метки:
  1. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.203
    Симпатии:
    379
  2. igrushkin

    igrushkin Читатель

    Сообщения:
    148
    Симпатии:
    11
    а от 3в логики нормально лента работает?
     
  3. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.203
    Симпатии:
    379
    не заметил каких-либо проблем, т.к. все эффекты последовательно выполнялись, как написано в скетче.
     
  4. igrushkin

    igrushkin Читатель

    Сообщения:
    148
    Симпатии:
    11
    ОК, "практика - критерий истины", как говорили классики марксизма-ленинизма. А то везде написано, что не любят WS2812b 3-вольтовую логику
     
  5. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    1.693
    Симпатии:
    172
    Проблемы могут возникнуть, если питание ленты будет больше 5,5 вольт, а у ЕСП будет 3,1 вольт или меньше. В таком случае у меня начинало глючить. Снижение питания ленты до 4,9 вольт полностью ситуацию выправляло даже при 3,1 на ЕСП.
     
    igrushkin нравится это.
  6. igrushkin

    igrushkin Читатель

    Сообщения:
    148
    Симпатии:
    11
    Очень полезно. Спасибо.
     
  7. Faint

    Faint Новичок

    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте, я только начинаю работать с есп и 2812. Подскажите, пожалуйста, я запутался.
    Взял компьютерный блок питания, сделал как в статье. 5в - 5в, гнд - гнд, информация к D2. Включил, заработала половина. Через несколько попытка заработала целиком. Думаю - здорово, сейчас размотаю свои 5 метров и наслажусь эффектами. А после того как размотал начали моргать первые 10-15 светодиодов. Менял настройки, кол-во светодиодов, яркость - никакого эффекта. Подумал дело в плате, заказал еще. Вот недавно пришла, заливаю скетч, подключаю, запускаю - на мгновенье загораются все светодиоды и все, никакой реакции. Что я сделал не так?
    Напряжение мультиметром проверил - всегда 5-5,4В.
    Спасибо!
     
    Последнее редактирование: 29 авг 2017
  8. FatMan

    FatMan Новичок

    Сообщения:
    4
    Симпатии:
    0
    Столкнулся с проблемой при попытке подружить NodeMCU и ленту на ws2812.
    От внешнего блока питания +5 В - к Vin и Gnd на плате.
    Подключаю ленту из 60 пикселей: питающие контакты - к тем же Vin и Gnd, управляющий - к D5 (GPIO14).
    Программирую в Arduino IDE. Беру пример standtest из Adafruit_NeoPixel, правлю значение PIN (на 14), запускаю - лента не светится.
    Менял подключение на D2 (GPIO4), напряжение питания выставлял от 4.7 до 5.1 В - не помогает.
    Управляющий контакт включал через резистор 220 Ом - не помогло.
    Тот же пример с соответствующей правкой значения PIN запускаю на 5-вольтовых Arduino UNO, на Digispark - лента светится.
    Плату NodeMCU заменял на другую - не помогло. (Плата рабочая: нет проблем с lcd1602, подключенным по i2c, с 7-разрядными led-индикаторами.)
    Посоветуйте, pls, как починить ситуацию.

    PS.@Faint, поздно, конечно, но у меня похожие эффекты были на длинных лентах, когда мощности питания не хватало. Снижение яркости или уменьшение числа горящих пикселей помогало.
     
  9. igrushkin

    igrushkin Читатель

    Сообщения:
    148
    Симпатии:
    11
    @FatMan

    Попробуйте подать 5В через диод. Это даст падение напряжения ~0,7В и разница между 3,3В и 4,3В будет достаточной.
    Ws2812b на датапине нужно >0,7VCC. Если у вас 5,1В VCC, то 3,3В от ESP8266 не хватает
     
  10. FatMan

    FatMan Новичок

    Сообщения:
    4
    Симпатии:
    0
    Попробовал - не помогло.

    Подключил к D5 каскад из двух BC547, как на таком рисунке. Через 470 Ом подключил светодиоды к D2, D5 и к катоду второго транзистора. Программа из 6 строк:
    Код (C):
    1. digitalWrite(5,HIGH);
    2. digitalWrite(14,HIGH);
    3. delay(2000);
    4. digitalWrite(5,LOW);
    5. digitalWrite(14,LOW);
    6. delay(2000);
    Всё работает ожидаемо: все светодиоды синхронно зажигаются и гаснут.

    Подключаю выход из каскада к управляющему ленты, запускаю sdandtest - и тишина. Светодиоды тестовые отключал - не помогло.
    Напряжение на выходе из каскада ниже 4.2 В не опускалось при выводе HIGH, БП настроен на 5,05 В.
    Осциллографа нет, посмотреть, что не так с 800-килогерцовым сигналом, нечем.
    С динамической индикацией 6-разрядных часов через 595-е регистры esp8266 справлялась без проблем и без плясок с согласованием уровней. Но там частота, понятно, поскромнее...
    В общем, делаю пока макет на Ардуине - с 5-вольтовой платой лента работает без проблем. Но в финале хотелось бы устройство без лишних кнопок получить - Wi-Fi и web-сервер тут помогли бы...
     
    Последнее редактирование: 20 ноя 2017
  11. FatMan

    FatMan Новичок

    Сообщения:
    4
    Симпатии:
    0
    Поборол связку NodeMCU+WS2812.
    Если опустить промежуточные шаги адаптации к ситуации, то вылечилось обновлением библиотеки Adafruit_NeoPixel.
    К слову, вполне устойчиво работает при питании системы от 5 В: на ленту - напрямую, на ESP8266 - через штатный AMS1117-3.3 на плате NodeMCU. D5 (GPIO14) напрямую к ленте подключен.
    Спасибо всем за помощь.

    PS. Подключил ленту через резистор 330 Ом - работает.
     
    Последнее редактирование: 26 дек 2017
  12. Павел Зорин

    Павел Зорин Новичок

    Сообщения:
    1
    Симпатии:
    0
    Привет! Вопрос - а какая версия была? Столкнулся с такой-же какашкой, на ардуине пашет - на еsp12 (wemos d1) никак. На пине осциллом вижу пачки испульсов, а ленте пофиг.
     
  13. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    1.693
    Симпатии:
    172
    @Павел Зорин
    Для начала попробуйте снизить напряжение питание ленты до 4.9В. Например, через кремниевый диод питание подать. Земли, надеюсь, соединить не забыли у esp8266 и ленты?
    И если Ардуино ИДЕ у вас последней версии, то библиотеки тоже надо обновить до свежей. Сначала удалить старые полностью, затем ставить новые. Это касается как Neopixel, так и FastLed. Если просто апгрейдить через диспетчер библиотек - то не обновляется полностью и не работает.
     
    Последнее редактирование: 11 янв 2018
  14. FatMan

    FatMan Новичок

    Сообщения:
    4
    Симпатии:
    0
    Номер не скажу, но устанавливалась в конце 2016 года. И у меня не наблюдалось импульсов со старой библиотекой ("светодиодным" тестом).
    При наличии импульсов я начал бы с проверки питания и согласования уровней (собственно, я и без импульсов этим путём пошёл). Сколько пикселей в ленте (каждый до 60-80 мА может отжирать), каким источником запитана, есть ли пульсации напряжения? У Adafruit ещё была рекомендация зашунтировать питание ленты электролитом на 1000 мкФ. Ну и то, что Сергей_Ф посоветовал: чуть снизить напряжение питания ленты, убедиться, что "земли" ленты и контроллера соединены.
    (Новая библиотека несёт другую неприятность: не совместима с IR-приёмником. Правда, минимальными правками кода это обходится.)
     
  15. vworld

    vworld Новичок

    Сообщения:
    4
    Симпатии:
    0
    Друзья сделал проект на нано и светодиодах SK6812 (64 шт. матрица 8*8 светодиодов) - набаловался на примерах из библиотеки Adafruit_NeoPixel.
    Приобрел NodeMCU - побаловался с блинком и пришла в голову идея по проекту из этого топика.
    NodeMCU+SK6812 (64 шт.) - пользователь открывает страницу web в которой приглашение для ввода текста - например "Hello word!", нажимает кнопку "отправить" и этот текст бегущей строкой идет на матрицу SK6812.
    Прошу подсказать в какую сторону смотреть для реализации.
    Понятно, что на NodeMCU надо поднять точку доступа, веб сервер и создать html страницу, а дальше уже знаний не хватает
     
    Последнее редактирование: 21 сен 2018

Поделиться этой страницей