renat2985 / rgb

Offline smart home - esp8266 and WS2811/WS2812/NeoPixel LEDs Smart home / Gudra māja / Умны дом
GNU General Public License v3.0
117 stars 24 forks source link

Помогите пожалуйста #4

Open Vika1283 opened 6 years ago

Vika1283 commented 6 years ago

Здравствуйте помогите пожалуйста написать код для кнопки включения выключения подключенной к 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(); }

renat2985 commented 6 years ago

Может проще установить нашу прошивку с bin файлов и поменять пины на нужные вам?

Vika1283 commented 6 years ago

хотелось на примере этой кнопки понять как это устроено у вас очень сложный код

renat2985 commented 6 years ago

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

Как установить прошивку здесь: https://www.youtube.com/watch?v=OqyQ_-sJ-lE&list=PL6NJTNxbvy-IPTDQk8XjTV41oRrFafrRi

Смена pin-ов, модулей и количества led здесь: https://www.youtube.com/watch?v=TNiup8WdwBk&list=PL6NJTNxbvy-IPTDQk8XjTV41oRrFafrRi

Vika1283 commented 6 years ago

Я уже установила ваш код на 200 лампочек и бывает подлагивает а с этим простым кодом глюков не наблюдается помогите пожалуйста написать кусочек кода на кнопку вкл/выкл

tretyakovsa commented 6 years ago

include

define LED_COUNT 200

define LED_PIN 2

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(); }

Vika1283 commented 6 years ago

Спасибо только гирлянда изначально включена а хочется что было выключено

tretyakovsa commented 6 years ago

ws2812fx.init(); ws2812fx.setBrightness(255); ws2812fx.setSpeed(200); ws2812fx.setColor(0x007BFF); ws2812fx.setMode(FX_MODE_STATIC); state = 0; //ws2812fx.start(); initTach();

Vika1283 commented 6 years ago

Да теперь работает но очень плохо срабатывает нажатие пробовала менять значения if (millis() - 500 от 100 до 1000 из 10 нажатий 3 раза срабатывает кнопки пробовала различные разницы ни какой резистор 10кОм между контактами +3.3В и GPIO5, кнопка GND и GPIO5

Zhiv4ik commented 6 years ago

Здравствуйте, купил ленту 2812в и nodemcu подключил питание к ленте отдельно а мсю с юсб din вывел на контроллер через 470 Ом, прошил бин файлами сайт открылся все настроил нона ленте загораются 11 диодов белых и 12-й зеленым и все на смену режимов не реагирует. что может быть? и как можна исправить?

renat2985 commented 6 years ago

@Zhiv4ik пожалуйста создавайте новый Issues. Не надо писать все в 1 тему. Сфотографируйте, что-то я не понимаю зачем вам 470Ом. Так же попробуйте установить количество лед в ленте вот здесь: pins-edit

Zhiv4ik commented 6 years ago

VID_20180424_224050.zip зажглась почти вся но просто хаотично сменяя цвета на режимы не реагирует, многие советували подсоединять через резистор 200-500 ом в стандарт библиотеке в ардуино тоже написано но что с ним что без результат тот же.

renat2985 commented 6 years ago

У вас слишком длинная LED лента, ESP не хватает сил для обработки динамических режимов. Рекомендуется использовать до 100 LED.

Zhiv4ik commented 6 years ago

VID_20180426_225438.zip отпаял 30 штук внес в настройках 30 результат тот же, в чем может біть проблема?

renat2985 commented 6 years ago

@Zhiv4ik у меня были подобные проблемы на коротких лентах. Причиной был плохой контакт, плохие провода, попробуйте заменить провода, сделайте их более короткими.

Zhiv4ik commented 6 years ago

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