Страница 2 из 3
Кнопка (Button)
Добавлено: 05 янв 2022, 21:55
Dryundel
Wadim77 писал(а): 05 янв 2022, 21:37
А не подскажете схемку, что бы работал такой алгоритм - одиночным кликом включили свет. долгим удержанием добавили-убавили яркость. и что бы при одинарном клике светодиод плавно выключался до 0 и при следующем клике - включался плавно? Т .е выходил на установленный уровень и выключался плавно.
Для плавного перехода из одного режима в другой можно использовать
Блоки ускорения. Назначить нужное нажатие поможет тот же блок Button. Ну а логику изобретайте.
Wadim77 писал(а): 05 янв 2022, 21:37
П.С. и еще вопросик если можно - как сделать запоминание режима установленной яркости в энергонезависимую память? (на случай пропадания питания на контроллере?
Для этого требуется задействовать EEPROM (есть штатные блоки). Однако при пропадании питания на устройстве, на контроллере оно (питание) должно сохраняться еще несколько миллисекунд. Для этого требуется дополнительный конденсатор достаточной емкости или ионистор. Один из входов контроллера, в этом случае должен следить за наличием общего питания и по пропаданию, давать сигнал на сохранение требуемого значения в EEPROM. Вот и вся логика.
Кнопка (Button)
Добавлено: 22 мар 2022, 19:44
Wadim77
Dryundel писал(а): 05 янв 2022, 14:16
[ref]Wadim77[/ref], используя к примеру выходы одиночного и двойного клика блока Button, можно дополнить проект полным включением (по короткому нажатию) и полным выключением (по двойному клику).
3.jpg
Инкрементная кнопка 3.flp
Есть в этом случае нюанс по направлению счета при длинном нажатии. Но при желании и это можно обойти. Используйте фантазию и логику.
Добрый день! Скажите пожалуйста (или если можно накидайте схемку) как обойти данный нюанс. я сообразить не могу. Не часто ставлю задачки себе по программированию, а тут очень кнопочка такая понадобилась. Заранее большое спасибо! Благодарю!
Кнопка (Button)
Добавлено: 24 мар 2022, 17:40
Dryundel
Wadim77 писал(а): 22 мар 2022, 19:44
Добрый день! Скажите пожалуйста (или если можно накидайте схемку) как обойти данный нюанс. я сообразить не могу. Не часто ставлю задачки себе по программированию, а тут очень кнопочка такая понадобилась. Заранее большое спасибо! Благодарю!
Какой нюанс обойти? Какая кнопочка потребовалась? Что вообще требуется?
[ref]Wadim77[/ref], конкретизируйте вашу задачу.
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 14:18
SaradonNN
Некропостинг, но вдруг.
Во первых огромное спасибо ув. Dryundel за такой замечательный и функциональный блок.
Собственно, вопрос. Применил данный блок в проекте, задействовал одиночный клик, двойной, тройной, пятикратный и удержание.
Проект железно выполнен идентичным дважды, в одном случае на Wemos D1 mini, во втором на ESP-01.
Кнопка замыкает на землю, физического подтягивающего резистора нет, включен программный.
После каждой кнопки установлен TT триггер, т.е. все кнопки срабатывают как переключатели.
Суть проблемы.
К одиночному нажатию и удержанию претензий нет. Всё срабатывает сразу и чётко.
А вот множественные нажатия срабатывают не корректно. Двойное нажатие срабатывает через раз-через два, тройное ещё реже, пятикратное вообще может сработать лишь раз из десятка циклов повторения.
И это идентично на обоих контроллерах.
Защиту от дребезга включал-отключал - ничего не меняется.
Таймаут увеличивал до 500 - так же ничего не изменилось.
Отмечу, что в момент "холостых" многократных нажатий одиночные нажатия не срабатывают. Т.е. попросту не происходит ничего.
Скажите, что можно попробовать с этим сделать, возможно ли победить такую проблему?
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 15:10
montirovka
SaradonNN писал(а): 13 мар 2026, 14:18
Некропостинг, но вдруг.
Во первых огромное спасибо ув. Dryundel за такой замечательный и функциональный блок.
Собственно, вопрос. Применил данный блок в проекте, задействовал одиночный клик, двойной, тройной, пятикратный и удержание.
Проект железно выполнен идентичным дважды, в одном случае на Wemos D1 mini, во втором на ESP-01.
Кнопка замыкает на землю, физического подтягивающего резистора нет, включен программный.
После каждой кнопки установлен TT триггер, т.е. все кнопки срабатывают как переключатели.
Суть проблемы.
К одиночному нажатию и удержанию претензий нет. Всё срабатывает сразу и чётко.
А вот множественные нажатия срабатывают не корректно. Двойное нажатие срабатывает через раз-через два, тройное ещё реже, пятикратное вообще может сработать лишь раз из десятка циклов повторения.
И это идентично на обоих контроллерах.
Защиту от дребезга включал-отключал - ничего не меняется.
Таймаут увеличивал до 500 - так же ничего не изменилось.
Отмечу, что в момент "холостых" многократных нажатий одиночные нажатия не срабатывают. Т.е. попросту не происходит ничего.
Скажите, что можно попробовать с этим сделать, возможно ли победить такую проблему?
Что бы ответить на ваш вопрос нужно видеть ваш проект. Каждый смотрит на проект как правило с разных сторон. У меня первый вопрос, прочитав ваш пост, а что в проекте помимо кнопок. Второй вопрос в какой версии вы делаете проект?
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 16:12
SaradonNN
Физически помимо кнопки в проекте ещё экранчик SSD1306 и светодиод.
Проект делаю в 9.6.4
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 16:39
montirovka
Я примерно так и думал. Ресурсы контроллера съедает дисплей. Оставшихся ресурсов не хватает на обработку блока кнопок. А что выводите на дисплей?
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 16:47
SaradonNN
Ресурсы 8266 съедает диспей??
Вывожу напряжение. Пока доставляемое константой.
Суть - будильник по напряжению. Если измеренное напряжение ниже предустановленного - мигает светодиод.
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 16:50
Ander
SaradonNN писал(а): 13 мар 2026, 16:12
Физически помимо кнопки в проекте ещё экранчик SSD1306 и светодиод.
Проект делаю в 9.6.4
Может все таки проект выложите
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 16:55
SaradonNN
Приложил.
Основной вопрос к пятикратному нажатию.
Первый раз срабатывает практически всегда.
Последующие - очень трудно добиться срабатывания.
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 17:28
Ander
SaradonNN писал(а): 13 мар 2026, 16:55
Приложил.
Основной вопрос к пятикратному нажатию.
Первый раз срабатывает практически всегда.
Последующие - очень трудно добиться срабатывания.
Основной ответ - вы используете очень не сбалансированный блок для дисплея.
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 17:35
SaradonNN
Ander писал(а): 13 мар 2026, 17:28
Основной ответ - вы используете очень не сбалансированный блок для дисплея.
Буду благодарен, если посоветуете проверенный.
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 17:35
Ander
В левом меню есть штатный
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 17:44
SaradonNN
Ander писал(а): 13 мар 2026, 17:35
В левом меню есть штатный
Вроде-бы только в последней бэтке.
Тем не менее, признаюсь, у меня не хватило ума им воспользоваться.
Я привык, что блоки вытаскиваются в рабочую зону. А что делать с этим меню так и не сообразил.
И уроков внятных тоже не нашёл.
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 17:52
Ander
SaradonNN писал(а): 13 мар 2026, 17:44
Ander писал(а): 13 мар 2026, 17:35
В левом меню есть штатный
Вроде-бы только в последней бэтке.
Тем не менее, признаюсь, у меня не хватило ума им воспользоваться.
Я привык, что блоки вытаскиваются в рабочую зону. А что делать с этим меню так и не сообразил.
И уроков внятных тоже не нашёл.
Он там давно! И там всё не сложно. там графический редактор. Пробуйте.
Re: Кнопка (Button)
Добавлено: 13 мар 2026, 18:52
SaradonNN
Ander писал(а): 13 мар 2026, 17:52
Он там давно! И там всё не сложно. там графический редактор. Пробуйте.
Да я даже не могу сообразить, как добавить его в проект...
Re: Кнопка (Button)
Добавлено: 23 мар 2026, 23:49
SaradonNN
Ander писал(а): 13 мар 2026, 17:52
Он там давно! И там всё не сложно. там графический редактор. Пробуйте.
Собрал тестовый проект с этим блоком на встроенном в бетку SSD1308.
Ожидаемо, дело оказалось не в блоке дисплея.
Пятикратно нажатие так и не работает.
Точнее работает, но криво. Первый раз после загрузки контроллера вероятность срабатывания 90%.
Последующие циклы пятикратного нажатия приводят к успеху крайне редко и бессистемно.
После перезагрузки контроллера всё повторяется.
Re: Кнопка (Button)
Добавлено: 24 мар 2026, 09:36
kulibinsvv
Проект делаю в 9.6.4
Попробуйте собрать проект в FLProg 7.5.2
Re: Кнопка (Button)
Добавлено: 24 мар 2026, 09:47
Phazz
отключите диспетчер для платы на которой находится блок
Re: Кнопка (Button)
Добавлено: 25 мар 2026, 13:51
SaradonNN
kulibinsvv писал(а): 24 мар 2026, 09:36
Попробуйте собрать проект в FLProg 7.5.2
Собрал в 7.5.2
Ничего не изменилось.
Phazz писал(а): 24 мар 2026, 09:47
отключите диспетчер для платы на которой находится блок
Аналогично. Никаких улучшений.
Вообще исключил из проекта экранчик.
Теперь кнопка просто включает и выключает светодиод по пятикратному нажатию.
И никаких изменений.