Просмотрел я как то видео пользователя Arduino Prom (огромное ему спасибо за его работу), был скачен (ещё на старом сайте) пользовательский блок под WS2812B. Заказана сама лента, всё пришло, поигрался, порадовался что всё работает и ненадолго забыл.
Настал тот момент, когда решил реализовать практически некий проект. Простенький, это элементарная подсветка, но чтоб можно было менять уровень освещения и цвет подсветки. Лента у меня на 60 светодиодов.
Казалось бы, всё просто и элементарно.
В итоге (постепенно) сформировались хотелки:
- цвет и яркость должны меняться на всех светодиодах одновременно
- возможность регулировки потенциометрами непосредственно руками
- возможность переключения уровня яркости физическими кнопками
- возможность управления лентой по блютус
Наверно это всё можно реализовать и на простой РГБ ленте (даже намного проще) но нет её у меня пока.
Начал собирать схему и накидывать проект. Поставил три потенциометра, покрутил, работают)))) Приколхозил экранчик для наглядности. начал собирать сам проект. Понадобилось установить аж 60 блоков светодиодов в проект, т.к. один блок отвечает за один светодиод... ну да ладно, но
программа стала безбожно тормозить уже на 20 блоках. Раскидал блоки по разным платам... но это уж совсем колхоз получается...
Но всё это сделал, отладил. Работает... но с некоторыми тормозами. Поставил кнопку на переключение режимов, но 10-20 светодиодах всё работает нормально, на всех 60-ти притормаживает.
Поставил модуль блютуса (через RemoteXY всё), и вот тут всё и перестало работать нормально.
переделал пользовательский блок сразу под все светодиоды, не помогло, в общем много чего перепробовал, не помогло, блютус постоянно отваливается, ничего не регулируется, без блютуса все 60 диодов притормаживает...
В итоге блок был переписан с нуля практически (остались только наименования входов))). В старом блоке была использована библиотека Adafruit_NeoPixel.h, в новом я использовал FastLED.h. В итоге всё стало работать без блютуса вообще махом, блютус перестал отваливаться и хоть и с некоторой задержкой но всё регулируется и работает.
Сам блок:
Сам проект, с блютусом, кнопкой и экраном (естественно надо будет подправить адреса под себя) .
Адресная светодиодная лента WS2812B
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Адресная светодиодная лента WS2812B
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 14
- Зарегистрирован: 14 фев 2018, 00:41
Адресная светодиодная лента WS2812B
Дружище это просто супер, хоть я и не проверял пока.
Сижу думаю что с кусочком ленты делать оставшийся от подсветки монитора (Ambilight), пришло в голову сделать настольный свет со всякими приколюхами, но блин с кодом разбираться библиотеку изучат это ппц времени надо, дай думаю загляну в готовые блоки мало ли, и тут бац такой подарок.
Респект тебе и уважуха.
Сижу думаю что с кусочком ленты делать оставшийся от подсветки монитора (Ambilight), пришло в голову сделать настольный свет со всякими приколюхами, но блин с кодом разбираться библиотеку изучат это ппц времени надо, дай думаю загляну в готовые блоки мало ли, и тут бац такой подарок.
Респект тебе и уважуха.
Адресная светодиодная лента WS2812B
[ref]FlintFD[/ref], уважаемый, а вас не затруднит переделать ваш блок под ESP8266? А то там с пинами неразбериха..
Точнее не с пинами, я там на стринг поменял. Ругается IDE компилятор:
[spoiler]In file included from C:\Users\Vintjara\AppData\Local\Temp\flprog\pr5\pr5.ino:3:0:
c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.006
# pragma message "FastLED version 3.001.006"
^
In file included from c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/led_sysdefs.h:27:0,
from c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/FastLED.h:44,
from C:\Users\Vintjara\AppData\Local\Temp\flprog\pr5\pr5.ino:3:
c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/platforms/esp/8266/led_sysdefs_esp8266.h:15:17: error: conflicting declaration 'typedef uint8_t boolean'
typedef uint8_t boolean;
^
In file included from sketch\pr5.ino.cpp:1:0:
c:\Program Files (x86)\FLProg\ideV3\portable\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266/Arduino.h:191:14: error: 'boolean' has a previous declaration as 'typedef bool boolean'
typedef bool boolean;
^
In file included from c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/FastLED.h:68:0,
from C:\Users\Vintjara\AppData\Local\Temp\flprog\pr5\pr5.ino:3:
c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output
# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"
^
Несколько библиотек найдено для "BlynkSimpleEsp8266.h"
Используется: c:\Program Files (x86)\FLProg\ideV3\portable\sketchbook\libraries\Blynk
Не используется: c:\Program Files (x86)\FLProg\ideV3\libraries\Blynk
Несколько библиотек найдено для "ArduinoOTA.h"
Используется: c:\Program Files (x86)\FLProg\ideV3\portable\packages\esp8266\hardware\esp8266\2.5.2\libraries\ArduinoOTA
Не используется: c:\Program Files (x86)\FLProg\ideV3\portable\sketchbook\libraries\ArduinoOTA
Не используется: c:\Program Files (x86)\FLProg\ideV3\libraries\ArduinoOTA
exit status 1
Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).
[/spoiler]
Что это он хочет подскажите пожалуйста, а то я неумеющий...
Точнее не с пинами, я там на стринг поменял. Ругается IDE компилятор:
[spoiler]In file included from C:\Users\Vintjara\AppData\Local\Temp\flprog\pr5\pr5.ino:3:0:
c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.006
# pragma message "FastLED version 3.001.006"
^
In file included from c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/led_sysdefs.h:27:0,
from c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/FastLED.h:44,
from C:\Users\Vintjara\AppData\Local\Temp\flprog\pr5\pr5.ino:3:
c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/platforms/esp/8266/led_sysdefs_esp8266.h:15:17: error: conflicting declaration 'typedef uint8_t boolean'
typedef uint8_t boolean;
^
In file included from sketch\pr5.ino.cpp:1:0:
c:\Program Files (x86)\FLProg\ideV3\portable\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266/Arduino.h:191:14: error: 'boolean' has a previous declaration as 'typedef bool boolean'
typedef bool boolean;
^
In file included from c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/FastLED.h:68:0,
from C:\Users\Vintjara\AppData\Local\Temp\flprog\pr5\pr5.ino:3:
c:\Program Files (x86)\FLProg\ideV3\libraries\FastLED-master/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output
# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"
^
Несколько библиотек найдено для "BlynkSimpleEsp8266.h"
Используется: c:\Program Files (x86)\FLProg\ideV3\portable\sketchbook\libraries\Blynk
Не используется: c:\Program Files (x86)\FLProg\ideV3\libraries\Blynk
Несколько библиотек найдено для "ArduinoOTA.h"
Используется: c:\Program Files (x86)\FLProg\ideV3\portable\packages\esp8266\hardware\esp8266\2.5.2\libraries\ArduinoOTA
Не используется: c:\Program Files (x86)\FLProg\ideV3\portable\sketchbook\libraries\ArduinoOTA
Не используется: c:\Program Files (x86)\FLProg\ideV3\libraries\ArduinoOTA
exit status 1
Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).
[/spoiler]
Что это он хочет подскажите пожалуйста, а то я неумеющий...
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 12 раз
- Поблагодарили: 100 раз
- Контактная информация:
Адресная светодиодная лента WS2812B
Этот блок работает с ESP8266. Что Вы там поменяли на стринг. Он аналогичен моему блоку отсюда
Подключите ленту к GPIO 2 (D4)
Адресная светодиодная лента WS2812B
[ref]aidar_i[/ref], это дела минувших дней, уже не помню что я там менял)) уже всё работает благодаря вашим блокам 

Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя