Кнопка (Button)

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Кнопка (Button)

#1

Сообщение Dryundel » 15.01.2021{, 11:39}

Блок "Кнопка" (Button)
.
2021-01-15_111214.jpg
2021-01-15_111214.jpg (5 КБ) 3657 просмотров
.
Это обработчик различных нажатий.
По сути данный блок является конструктором, с помощью которого можно настроить необходимые выходы и функции блока.
Блок генерирует только необходимый для конкретной конфигурации код и ничего лишнего.
Так выглядит блок с максимальным функционаломПоказать
2021-01-15_113613.jpg
.
ВНИМАНИЕ! Удалите из IDE старую библиотеку GyverButton.
.
Типы кнопок:
Поддерживаются кнопки как на дискретных так и на аналоговых входах,

Поддерживаются следующие типы нажатий:
- Одиночный клик
- Двойной клик
- Тройной клик
- и т.д. до 10 кликов
- Удержание (длинное нажатие)
- Одиночный клик + Удержание
- Двойной клик + Удержание
- и т.д. до 10 кликов + Удержание

Доступны следующие функции:
- Подсчет кликов совершенных подряд
- Подсчет кликов совершенных подряд до удержания
- Инкрементный сигнал
- Адресный инкрементный сигнал
- Ускорение инкрементного сигнала

При установке чек-боксов на необходимых сочетаниях и функциях
у блока формируются соответствующие выходы.
.
Кнопка_(Code_-_Professional).ubi
(1.95 МБ) 509 скачиваний
.
Функционал довольно обширный.
Настройка блока должна быть интуитивно понятной. Везде присутствуют комментарии.
Более подробное описание и примеры работы смотри ниже.
Последний раз редактировалось Dryundel 15.01.2021{, 11:45}, всего редактировалось 2 раза.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Кнопка (Button)

#2

Сообщение Dryundel » 15.01.2021{, 11:39}

Резерв

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Кнопка (Button)

#3

Сообщение Dryundel » 16.01.2021{, 14:25}

Итак, что же умеет блок «Кнопка»(Button) и как его правильно настроить.

Думаю, что с выбором необходимых выходов, сложности возникнуть не должно. Все просто и интуитивно понятно. В параметрах выбираем те выходы, которые требуются и устанавливаем чек-бокс.

Описание выходов:
Press – любое нажатие на кнопку вызывает на этом входе короткий импульс.
Release – срабатывает всякий раз при отпускании кнопки так же короткий импульс.
1click-10click – на этих выходах появляется короткий импульс при конкретном количестве коротких кликов подряд. При этом пауза между кликами в серии, не должна превышать таймаут межу кликами, который настраивается в соответствующем параметре. Как только пауза между кликами превысит настроенный таймаут межу кликами, серия кликов считается завершенной и это сопровождается импульсом на соответствующем выходе.

Lng – на этом выходе возникает короткий импульс при удержании кнопки. Длительность удержания зависит от настройки параметра «Таймаут ожидания удержания».

Long – этот выход подобен выходу Lng, но в отличии от него, при удержании кнопки дольше времени ожидания удержания, на нем устанавливается логическая единица, которая будет сброшена лишь в момент отпускания кнопки.

Count – счетчик кликов. На этом выходе формируется byte значение, соответствующее количеству совершенных подряд коротких кликов в последней серии. Сброс этого значения может быть осуществлен подачей логической единицы на вход сброса «RCount».

LCount – этот счетчик кликов подобен Count, но считает короткие клики предшествующие удержанию. Сброс значения на этом выходе так же может быть осуществлен со входа «RCount».

Incr – на этом выходе формируются инкрементные импульсы при удержании (длинном нажатии)
.
Что такое инкрементные импульсы.Показать
Инкремент (от англ. increment «увеличение») – увеличение переменной на определенное значение.
Декремент – операция обратная инкременту, уменьшение переменной на определенное значение.
Инкрементные импульсы используются, например, для работы со счетчиками импульсов. В том случае, когда требуется увеличивать значение путем удержания кнопки, выход Incr подключается ко входу счетчика и значение на счетчике начинает увеличиваться (уменьшаться) с частотой инкрементных импульсов.
.
Частота инкрементных импульсов может быть настроена с помощью параметра «Таймаут между инкрементами». Чем меньше это значение, тем выше частота импульсов.
По умолчанию Таймаут между инкрементами 500 мс. Соответственно импульсы формируются два раза в секунду.

Пример использования:
2021-01-16_133830.jpg
.
Кроме этого, в блоке можно настроить ускорение инкремента. Иногда это бывает полезно для увеличения скорости изменения значения.

Принцип действия такой:
Удерживаем кнопку, на выходе начинают генерироваться импульсы с таймаутом 500 мс (2 имп. в сек). Если же кнопка удерживается более 3 сек то таймаут уменьшается до 200 мс и импульсы генерируются уже с частотой 5 имп. в сек.

Для использования ускорения инкремента требуется настроить параметры:
- Инкремент с ускорением (чек-бокс)
- Включение 2й ступени через (по умолчанию 3000мс (3сек))
- Инкрементный таймаут 2й ступени

Incr1- Incr10 – это адресные инкрементные выходы. Работа этих выходов аналогична выходу Incr.
Разница в том, что на каждом из них может формироваться независимый инкрементный сигнал. Осуществляется это путем сочетания коротких и длинного нажатия.
К примеру для генерации инкрементного сигнала на выходе Incr2 требуется 2коротких + удержание.

Все вышеперечисленные возможности справедливы при работе как с дискретными, так и с аналоговыми входами контроллера.
Блок легко настраивается для работы с несколькими кнопками на одном аналоговом входе.
Для этого надо в настройках выбрать Тип входа – Аналоговый, после чего вписать аналоговое значение в параметр «Значение аналогового входа для данной кнопки»
При этом вход блока становится аналоговым (inA).

Подключив несколько таких блоков к одному аналоговому входу можно легко работать с резистивной клавиатурой. Каждой такой кнопке доступны все возможности блока.

Пример подключения:
2021-01-16_140130.jpg
2021-01-16_140130.jpg (26.49 КБ) 2739 просмотров
.
Блок имеет встроенный аналоговый антидребезг, что не только влияет на стабильность срабатывания, но и существенно повышает помехоустойчивость при таком подключении.
Параметры антидребезга и полоса пропускания (допуск отклонения) так же могут быть настроены по желанию пользователя.
Последний раз редактировалось Dryundel 18.01.2021{, 11:02}, всего редактировалось 1 раз.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Кнопка (Button)

#4

Сообщение Dryundel » 17.01.2021{, 11:01}

Данный пост для начинающих и посвящен работе с дискретными и аналоговыми пинами контроллеров при подключении к ним кнопок.

У любого микроконтроллера большая часть входов (пинов) служат для приема информации. В большинстве своем, контроллеры имеют как дискретные так аналоговые входы.

Дискретный (цифровой) пин.

Такой пин может принимать информацию в виде логического ноля и логической единицы. Контроллеры широкого применения работают с напряжением от 0 до 5 или 3,3 Вольт. Соответственно логической единицей для них будет напряжение близкое к максимальному 5 или 3,3 вольта. Логическим нолем для контроллера будет напряжение близкое к 0 Вольтам.

Если сказать точнее, к примеру, Atmega328 (Arduino MINI, NANO, UNO) будет считать логической единицей напряжение от 3 до 5 В, а нулем – от 0 до 1,5 В. Напряжение от 1,5 до 3 В считается неопределенным. Свыше 5 В на пин подавать нельзя, это выведет МК из строя.

Кроме того, крайне нежелательно оставлять пин неподключенным (неподтянутым) никуда. Это приводит к негативному воздействию помех.

Существует несколько способов подключения к пину кнопки. С подтяжкой к земле или к питанию.
подтяжка осуществляется физически через сопротивление 4,7-10 кОм или программно.
.
Подтяжка пина.jpg
.
В Arduino программно пин можно подтянуть только к питанию. При этом задействуется внутреннее высокоомное сопротивление контроллера.

В FLProg внутреннюю подтяжку можно сделать, установив соответствующий чек-бокс.

При подтяжке пина к питанию, при выключенной кнопке, на пине будет логическая единица.
Этот факт необходимо учитывать и при необходимости инвертировать выход пина в проекте.
.
Подтяжка пина внутренняя.jpg
.
В Arduino NANO цифровыми пинами могут быть D0-D13 и A0-A5
И только A6 и A7 могут быть исключительно аналоговыми.

Аналоговый пин.

В той же Arduino NANO аналоговыми могут быть пины A0-A7.
Как же работает аналоговый пин.
Принцип его работы основан на АЦП (Аналого Цифровом Преобразователе).
Попросту говоря, контроллер измеряет напряжение на аналоговом входе и преобразует его в цифровое значение. Но значение это не в вольтах, а в условных единицах соответствующих разрядности встроенного в контроллер АЦП. В Arduino NANO встроен 10-битный АЦП. Соответственно значение которое выдаст нам контроллер будет в пределах от 0 до 1023.
Зная что контроллер работает с напряжением от 0 до 5 В, не сложно догадаться, что 5 В будет соответствовать значение 1023, а 0 В – значение 0. Получается что разрешение такого АЦП примерно 0,005 В или 5мВ.

Стоит отметить, что разрешение можно повысить, снизив измеряемый диапазон к примеру от 0 до 3 В, Однако для этого потребуется источник опорного напряжения. Этой темы мы пока касаться не будем.

Что же дает нам АЦП при работе с кнопками.
С помощью использования аналогового пина, на один вход можно подключить несколько кнопок. Для этого надо всего лишь собрать многоступенчатый делитель напряжения.
.
Резистивная клавиатура.jpg
.
Именно на таком принципе работают резистивные клавиатуры, к примеру в таком шилде:
.
Шилд с резистивной клавиатурой.jpg
.
При замыкании разных кнопок на такой клавиатуре, на аналоговый пин поступает различное напряжение. А зная какой кнопке соответствует определенное значение АЦП, легко настроить блок «Кнопка» (Button), на нужное значение.

Как узнать какое значение АЦП соответствует той или иной кнопке.
Все достаточно просто. Для этого надо подключить резистивную клавиатуру к нужному пину, загрузить в контроллер элементарный тестовый проект, в котором значение аналогового пина будет передаваться в монитор порта или на дисплей и записать соответствующие значения для каждой из кнопок.

Тестовый проект для монитора порта.
.
Тест кнопок.jpg
Тест кнопок.jpg (10.17 КБ) 2635 просмотров
Тест кнопок.flp
(45.48 КБ) 106 скачиваний
.
Дребезг контактов.

Практически все механические кнопки подвержены такому неприятному в электронике фактору как дребезг контактов. Суть проблемы в том, что в момент нажатия на кнопку с механическими контактами возникает микроискра и в этот момент, который измеряется миллисекундами, контроллер может определять несколько замыканий и размыканий. Для борьбы с этим явлением применяют фильтры как на уровне «железа», так и на программном уровне. И те, и другие имеют свои достоинства и недостатки. В данном случае расскажу о программном фильтре.

Антидребезг (так называют программный фильтр) работает следующим образом.
Всякий раз когда контроллер определяет замыкание контакта (логический переход от «0» к «1»), запускается таймер и только в том случае когда значение этого таймера превышает установленное значение, фиксируется нажатие. Благодаря этому, все короткие логические переходы не учитываются. Как правило значение таймера антидребезга составляет 30-80 мс.

В FLProg для того что бы задействовать фильтр антидребезга для цифрового (дискретного) входа, необходимо установить соответствующий чек-бокс.
.
Антидребезг контактов.jpg
Антидребезг контактов.jpg (31.04 КБ) 2625 просмотров
.
То же самое справедливо и для аналогового антидребезга, с той лишь разницей что отслеживается не логический переход, а время нахождения значения АЦП в ограниченном диапазоне. В блоке «Кнопка» (Button) за ограничение такого диапазона отвечает параметр «Допуск отклонения значения аналогового входа». К примеру, если аналоговой кнопке назначено значение 560, а допуск отклонения 20, то диапазон соответствия будет от 540 до 580. И только если значение АЦП не будет выходить из данного диапазона в течении времени таймера антидребезга, будет зачтено нажатие. Штатного антидребезга для аналогового входа в FLProg не предусмотрено.
.

sergei
Рядовой
Сообщения: 14
Зарегистрирован: 16.10.2020{, 16:57}
Репутация: 0
Имя: сергей

Кнопка (Button)

#5

Сообщение sergei » 09.04.2021{, 13:39}

кнопка не загружаеца идет ошибка

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

Кнопка (Button)

#6

Сообщение com » 10.04.2021{, 09:29}

sergei писал(а):
09.04.2021{, 13:39}
кнопка не загружаеца идет ошибка
Непонятно излагаете

Аватара пользователя
Pratak
Сержант
Сообщения: 206
Зарегистрирован: 08.02.2016{, 20:21}
Репутация: 6
Имя: Дмитрий

Кнопка (Button)

#7

Сообщение Pratak » 07.05.2021{, 08:29}

Приветствую. При прошивке в самом конце пишет: Неверная версия '3.8b' для библиотеки в: d:\1_FLProg\PortableFLProg_7-3-2_Win64\ideV6\libraries\GyverButton
Из папки ideV6\libraries удаляю либу GyverButton, при прошивке она вновь появляется и пишет вышеуказанное.
Если не шить а просто компилировать то такой строки не выдает.
При этом все работает, просто напрягает немного.
Изображение

Аватара пользователя
Sator
Рядовой
Сообщения: 20
Зарегистрирован: 31.03.2021{, 21:05}
Репутация: 0
Имя: Алексей

Кнопка (Button)

#8

Сообщение Sator » 07.10.2021{, 18:51}

Прошу пардону, некорректно влез в ветку форума.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Кнопка (Button)

#9

Сообщение Dryundel » 08.10.2021{, 14:37}

Sator писал(а):
07.10.2021{, 18:51}
Прошу пардону, некорректно влез в ветку форума.
Отчего же. Первая половина поста в тему вроде была. Могли бы удалить половину. :)

Sator, Это вы хотели? Достаточно такого примера?
Тест три кнопки NodeMCU (1клик, 2клика, Удержание) 5, 6, 7 пиныПоказать
Node 3 кнопки Тест.jpg
Node 3 кнопки Тест.rar
(278.51 КБ) 37 скачиваний
Дисплей.jpg
.
Надеюсь дисплей у Вас LCD на 4 строки. Если на 2 строки, то отобразится только одна кнопка.
В табличке на дисплее будут на 1 секунду высвечиваться звездочки для каждого типа нажатия, по каждой из кнопок.
Ничего подтягивать не надо. Кнопку замыкать на землю.
.
А вашей аватарки я уже боюсь! :smile171:

Аватара пользователя
Sator
Рядовой
Сообщения: 20
Зарегистрирован: 31.03.2021{, 21:05}
Репутация: 0
Имя: Алексей

Кнопка (Button)

#10

Сообщение Sator » 18.10.2021{, 07:01}

Спасибо, надеюсь, дальше смогу разобраться :) Буду морщить мозг и дальше строить курятник своей мечты :) Экранчик у меня из самых дешевеньких, 2 строки, но с ним я уже разобрался. Кстати, а что у Вас за компонент такой, V2.18?

На счет подтяжек кнопок позволю себе усомниться: когда корячился обойтись малой кровью и сделать "как-нибудь, чтобы работало" - оно почему-то не работало. Сначала просто использовал внутренние подтяжки и кнопки замыкал на землю - результат был весьма плохой. Потом соорудил небольшой модуль с кнопками на макетке, поставил внешние резисторы 4К7 - и оно таки заработало. Номинал резисторов можно и побольше было поставить, но уж какие смог разглядеть циферки на корпусе :) Впрочем, их всегда можно и убрать обратно в кучку :)

П.С. Касательно аватарки. Не бойтесь меня на этом фото, там я еще молодой, красивый, а вот если сейчашнюю фотку выставлю - тогда да, бойтесь на здоровье :haha:

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Кнопка (Button)

#11

Сообщение Dryundel » 18.10.2021{, 08:44}

Sator писал(а):
18.10.2021{, 07:01}
Кстати, а что у Вас за компонент такой, V2.18?
viewtopic.php?f=72&t=6899&start=100

Wadim77
Рядовой
Сообщения: 21
Зарегистрирован: 20.08.2020{, 19:23}
Репутация: 0
Имя: Wadim

Кнопка (Button)

#12

Сообщение Wadim77 » 05.01.2022{, 01:52}

Здравствуйте, подскажите пожалуйста схемку - при долгом нажатии яркость увеличивалась до 255 при повторном долгом нажатии яркость уменьшалась? (выше есть пример такого диммера, но там из двух кнопок. а мне надо из одной. Спасибо

Fedot
Рядовой
Сообщения: 22
Зарегистрирован: 22.09.2018{, 11:42}
Репутация: 3
Откуда: Татарстан, Казань
Имя: Александр

Кнопка (Button)

#13

Сообщение Fedot » 05.01.2022{, 09:22}

ШИМ-ТТ.png
ШИМ-ТТ.png (4.41 КБ) 1650 просмотров

tolika
Рядовой
Сообщения: 51
Зарегистрирован: 07.11.2019{, 11:25}
Репутация: 8
Откуда: Магадан
Имя: Андрей

Кнопка (Button)

#14

Сообщение tolika » 05.01.2022{, 10:06}

Работа с одной кнопкой:
Кнопка.PNG
Кнопка.PNG (8.74 КБ) 1640 просмотров

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Кнопка (Button)

#15

Сообщение Dryundel » 05.01.2022{, 13:42}

Wadim77 писал(а):
05.01.2022{, 01:52}
Здравствуйте, подскажите пожалуйста схемку - при долгом нажатии яркость увеличивалась до 255 при повторном долгом нажатии яркость уменьшалась? (выше есть пример такого диммера, но там из двух кнопок. а мне надо из одной. Спасибо
Все очень просто.
1.jpg
1.jpg (10.68 КБ) 1623 просмотра
Инкрементная кнопка 1.flp
(3.49 МБ) 57 скачиваний
Обратите внимание на настройки счетчика. Направление счета определяется входом, на который подается сигнал с ТТ триггера, меняющего свое состояние при каждом нажатии.
Скорость увеличения/уменьшения регулируется таймаутом между инкрементами в настройках блока Button

Отправлено спустя 10 минут 20 секунд:
Для правильной регулировки яркости рекомендую использовать блок коррекции ШИМ по CRT гамме.
Инфа здесь - https://flprog-block.ru/download/crt/#page-content. Если всплывает предупреждение безопасности, не обращайте внимание. Просто просрочен SSL-сертификат.
2.jpg
2.jpg (14.06 КБ) 1622 просмотра
Инкрементная кнопка 2.flp
(3.54 МБ) 52 скачивания

Wadim77
Рядовой
Сообщения: 21
Зарегистрирован: 20.08.2020{, 19:23}
Репутация: 0
Имя: Wadim

Кнопка (Button)

#16

Сообщение Wadim77 » 05.01.2022{, 14:10}

Dryundel писал(а):
05.01.2022{, 13:52}
Wadim77 писал(а):
05.01.2022{, 01:52}
Здравствуйте, подскажите пожалуйста схемку - при долгом нажатии яркость увеличивалась до 255 при повторном долгом нажатии яркость уменьшалась? (выше есть пример такого диммера, но там из двух кнопок. а мне надо из одной. Спасибо
Все очень просто.
1.jpg
Инкрементная кнопка 1.flp
Обратите внимание на настройки счетчика. Направление счета определяется входом, на который подается сигнал с ТТ триггера, меняющего свое состояние при каждом нажатии.
Скорость увеличения/уменьшения регулируется таймаутом между инкрементами в настройках блока Button

Отправлено спустя 10 минут 20 секунд:
Для правильной регулировки яркости рекомендую использовать блок коррекции ШИМ по CRT гамме.
Инфа здесь - https://flprog-block.ru/download/crt/#page-content. Если всплывает предупреждение безопасности, не обращайте внимание. Просто просрочен SSL-сертификат.
2.jpg
Инкрементная кнопка 2.flp
Премного Вам Благодарен!

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Кнопка (Button)

#17

Сообщение Dryundel » 05.01.2022{, 14:16}

Wadim77, используя к примеру выходы одиночного и двойного клика блока Button, можно дополнить проект полным включением (по короткому нажатию) и полным выключением (по двойному клику).
3.jpg
Инкрементная кнопка 3.flp
(3.55 МБ) 55 скачиваний
Есть в этом случае нюанс по направлению счета при длинном нажатии. Но при желании и это можно обойти. Используйте фантазию и логику. :)

Wadim77
Рядовой
Сообщения: 21
Зарегистрирован: 20.08.2020{, 19:23}
Репутация: 0
Имя: Wadim

Кнопка (Button)

#18

Сообщение Wadim77 » 05.01.2022{, 16:01}

Dryundel писал(а):
05.01.2022{, 14:16}
Wadim77, используя к примеру выходы одиночного и двойного клика блока Button, можно дополнить проект полным включением (по короткому нажатию) и полным выключением (по двойному клику).
3.jpg
Инкрементная кнопка 3.flp
Есть в этом случае нюанс по направлению счета при длинном нажатии. Но при желании и это можно обойти. Используйте фантазию и логику. :)
Спасибо.


Я сейчас собираю информацию для изготовления аналога диммера от WirenBoard. Знаний в программировании пока очень мало, но думаю с помощью форума все таки осилим. Вся информация по возможностям контроллера (Диммера) в открытом доступе на сайте. так что ничего плохого в повторении аналогичного устройства я не вижу. Для домашнего пользования вполне пойдет.

Вот ссылка на логику работы данного диммера:

https://support.wirenboard.com/t/test-n ... gbw-d/9574

тут непосредственно описание данного девайса:

https://wirenboard.com/wiki/WB-MRGBW-D_ ... LED_Dimmer

Тут карта регистров MODBUS для опроса, управления и настройки прибора:

https://wirenboard.com/wiki/WB_Dimmers_ ... isters_Map


На Ютубе Сергей (создатель ФЛПрог) делал пару видео по сборке аналогов девайсов от WirenBoard. Очень меня заинтересовала эта тема. Будет замечательно если он нам и в этот раз поможет. Буду признателен за любую помошь - от идеи и логики до съемки видео на эту тему. Думаю (ИМХО) это будет интересно людям.

Вот ссылочки на ютую для просмотра вышесказанных видосов:






Еще раз спасибо всем заинтересованным за помощь и буду рад любым подсказкам по реализации данной задумки.

Всем МИР

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Кнопка (Button)

#19

Сообщение Dryundel » 05.01.2022{, 19:37}

Wadim77 писал(а):
05.01.2022{, 16:01}
Я сейчас собираю информацию для изготовления аналога диммера от WirenBoard. Знаний в программировании пока очень мало...
Уффф... Шикарная цель. Судя по характеру вопроса, Вы пытаетесь сделать первый шаг по пути в тысячу миль. Да не покинет Вас оптимизм и упорство. Самое сложное это пережить неудачные попытки. Не опускайте руки и все получится. Удачи.
К стати всегда можно обратиться к готовым проектам и повторить то, что уже работает.
Вот здесь что то подобное. https://alexgyver.ru/gyverlamp/

Wadim77
Рядовой
Сообщения: 21
Зарегистрирован: 20.08.2020{, 19:23}
Репутация: 0
Имя: Wadim

Кнопка (Button)

#20

Сообщение Wadim77 » 05.01.2022{, 21:37}

Dryundel писал(а):
05.01.2022{, 19:37}
Wadim77 писал(а):
05.01.2022{, 16:01}
Я сейчас собираю информацию для изготовления аналога диммера от WirenBoard. Знаний в программировании пока очень мало...
Уффф... Шикарная цель. Судя по характеру вопроса, Вы пытаетесь сделать первый шаг по пути в тысячу миль. Да не покинет Вас оптимизм и упорство. Самое сложное это пережить неудачные попытки. Не опускайте руки и все получится. Удачи.
К стати всегда можно обратиться к готовым проектам и повторить то, что уже работает.
Вот здесь что то подобное. https://alexgyver.ru/gyverlamp/
Спасибо за диалог.
Лампу гайвера имею) собирал.

А не подскажете схемку, что бы работал такой алгоритм - одиночным кликом включили свет. долгим удержанием добавили-убавили яркость. и что бы при одинарном клике светодиод плавно выключался до 0 и при следующем клике - включался плавно? Т .е выходил на установленный уровень и выключался плавно.

П.С. и еще вопросик если можно - как сделать запоминание режима установленной яркости в энергонезависимую память? (на случай пропадания питания на контроллере?

Заранее большое СПАСИБО если подскажете.

Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»