Open Vika1283 opened 6 years ago
Может проще установить нашу прошивку с bin файлов и поменять пины на нужные вам?
хотелось на примере этой кнопки понять как это устроено у вас очень сложный код
Все что вы хотите можно изменить прямо через веб, вам вообще не нужно лезть в код! Плюс вы получите полное управление через веб и много других плюшек.
Как установить прошивку здесь: https://www.youtube.com/watch?v=OqyQ_-sJ-lE&list=PL6NJTNxbvy-IPTDQk8XjTV41oRrFafrRi
Смена pin-ов, модулей и количества led здесь: https://www.youtube.com/watch?v=TNiup8WdwBk&list=PL6NJTNxbvy-IPTDQk8XjTV41oRrFafrRi
Я уже установила ваш код на 200 лампочек и бывает подлагивает а с этим простым кодом глюков не наблюдается помогите пожалуйста написать кусочек кода на кнопку вкл/выкл
WS2812FX ws2812fx = WS2812FX(LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); uint8_t TACH_PIN = 5; int state = 0; void setup() { Serial.begin(115200); ws2812fx.init(); ws2812fx.setBrightness(255); ws2812fx.setSpeed(200); ws2812fx.setColor(0x007BFF); ws2812fx.setMode(FX_MODE_STATIC); state = 1; ws2812fx.start(); initTach(); }
void loop() { ws2812fx.service(); }
// ----------------- Кнопка GPIO TACH_PIN // void initTach() { pinMode(TACH_PIN,INPUT_PULLUP); // Кнопка будет работать по прерыванию attachInterrupt(TACH_PIN, Tach, FALLING ); //прерывание сработает, когда состояние вывода изменится с высокого уровня на низкий } // Выполняется при нажатии на кнопку void Tach() { static unsigned long millis_prev; // Устроняем дребезг контакта if (millis() - 500 > millis_prev) { if (state) { state = 0; ws2812fx.start(); } else { state = 1; ws2812fx.stop(); }
} millis_prev = millis(); }
Спасибо только гирлянда изначально включена а хочется что было выключено
ws2812fx.init(); ws2812fx.setBrightness(255); ws2812fx.setSpeed(200); ws2812fx.setColor(0x007BFF); ws2812fx.setMode(FX_MODE_STATIC); state = 0; //ws2812fx.start(); initTach();
Да теперь работает но очень плохо срабатывает нажатие пробовала менять значения if (millis() - 500 от 100 до 1000 из 10 нажатий 3 раза срабатывает кнопки пробовала различные разницы ни какой резистор 10кОм между контактами +3.3В и GPIO5, кнопка GND и GPIO5
Здравствуйте, купил ленту 2812в и nodemcu подключил питание к ленте отдельно а мсю с юсб din вывел на контроллер через 470 Ом, прошил бин файлами сайт открылся все настроил нона ленте загораются 11 диодов белых и 12-й зеленым и все на смену режимов не реагирует. что может быть? и как можна исправить?
@Zhiv4ik пожалуйста создавайте новый Issues. Не надо писать все в 1 тему.
Сфотографируйте, что-то я не понимаю зачем вам 470Ом.
Так же попробуйте установить количество лед в ленте вот здесь:
VID_20180424_224050.zip зажглась почти вся но просто хаотично сменяя цвета на режимы не реагирует, многие советували подсоединять через резистор 200-500 ом в стандарт библиотеке в ардуино тоже написано но что с ним что без результат тот же.
У вас слишком длинная LED лента, ESP не хватает сил для обработки динамических режимов. Рекомендуется использовать до 100 LED.
VID_20180426_225438.zip отпаял 30 штук внес в настройках 30 результат тот же, в чем может біть проблема?
@Zhiv4ik у меня были подобные проблемы на коротких лентах. Причиной был плохой контакт, плохие провода, попробуйте заменить провода, сделайте их более короткими.
к ленте провода припаяны, а к есп пин идет на нем хороший контакт. впаял ногу еспн к ленте ничего не изменилось
Здравствуйте помогите пожалуйста написать код для кнопки включения выключения подключенной к GPIO5 очень хочется успеть к новому году. Пока код выглядит так:
include
define LED_COUNT 200
define LED_PIN 2
WS2812FX ws2812fx = WS2812FX(LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800);
void setup() { ws2812fx.init(); ws2812fx.setBrightness(255); ws2812fx.setSpeed(200); ws2812fx.setColor(0x007BFF); ws2812fx.setMode(FX_MODE_STATIC); ws2812fx.start(); }
void loop() { ws2812fx.service(); }