Модуль одна кнопка как настроить

Модуль одна кнопка как настроить

With CodeContextObject
If (.LVybor <> «») Then
TempVars.Add «PeremennaiaL», .LVybor
Else
TempVars.Add «PeremennaiaL», «*»
End If
If (.NVybor <> «») Then
TempVars.Add «PeremennaiaN», .NVybor
Else
TempVars.Add «PeremennaiaN», «*»
End If
If (.IS510Vybor <> «») Then
TempVars.Add «PeremennaiaIS510», .IS510Vybor
Else
TempVars.Add «PeremennaiaIS510», «*»
End If
If (.IS520Vybor <> «») Then
TempVars.Add «PeremennaiaIS520», .IS520Vybor
Else
TempVars.Add «PeremennaiaIS520», «*»
End If
If (.IS530Vybor <> «») Then
TempVars.Add «PeremennaiaIS530», .IS530Vybor
Else
TempVars.Add «PeremennaiaIS530», «*»
End If
If (.R1Vybor <> «») Then
TempVars.Add «PeremennaiaR1», .R1Vybor
Else
TempVars.Add «PeremennaiaR1», «*»
End If
If (.R2Vybor <> «») Then
TempVars.Add «PeremennaiaR2», .R2Vybor
Else
TempVars.Add «PeremennaiaR2», «*»
End If
DoCmd.SetFilter «», «([L] Like [TempVars]![PeremennaiaL] And [N] Like [TempVars]![PeremennaiaN] And [IS510] Like [TempVars]![PeremennaiaIS510] And [IS520] Like [TempVars]![PeremennaiaIS520] And [IS530] Like [TempVars]![PeremennaiaIS530] And [R1] Like [TempVars]![PeremennaiaR2] And [R2] Like [TempVars]![PeremennaiaR2])», «»
End With

KLfilter_Exit:
Exit Function

KLfilter_Err:
MsgBox Error$
Resume KLfilter_Exit

Источник

Работа с кнопками

Кнопка является простейшим устройством, при помощи которого можно управлять ходом программы на микроконтроллере, но физически она выполняет очень простую функцию: замыкает и размыкает контакт. Кнопки бывают нескольких типов:

  • С фиксацией – кнопка остаётся нажатой после отпускания, без фиксации – отключается обратно.
  • Нормально разомкнутая (Normal Open, NO) – при нажатии замыкает контакты. Нормально замкнутая (Normal Closed, NC) – при нажатии размыкает контакты.
  • Тактовые кнопки – замыкают или размыкают контакт. У обычных тактовых кнопок ноги соединены вдоль через корпус (см. картинку ниже). Переключатели – обычно имеют три контакта, общий COM, нормально открытый NO и нормально закрытый NC. При отпущенной кнопке замкнута цепь COM-NC, при нажатой замыкается COM-NO.

Подключение и подтяжка

Из урока про цифровые пины вы помните, что микроконтроллер может считывать напряжение со своей ноги. Соответственно кнопка может подать на пин тот уровень, к которому подключена её вторая нога. В том же уроке мы обсуждали, что не подключенный никуда цифровой пин принимает наводки из воздуха, и считанное с него значение будет практически случайным. То есть подключив к пину 5V (сигнал высокого уровня) через кнопку, мы ничего не добьёмся: при нажатой кнопке на пине будет считываться четкий сигнал высокого уровня, а при отпущенной – случайное значение. Для решения этой проблемы существует такое понятие, как подтяжка (pull) пина. Подтяжка выполняется к земле (pull down) или питанию (pull up) микроконтроллера при помощи резистора. Подтяжка выполняется противоположно принимаемому сигналу, т.е. если нужно ловить высокий сигнал, подтяжка выполняется к земле, если ловить нужно сигнал земли – подтяжка выполняется к питанию. Вот два варианта подключения кнопки, с подтяжкой к VCC и GND соответственно: Как выбирается сопротивление резистора? Тут всё очень просто: при нажатии на кнопку через резистор потечёт ток, так как в любом случае замыкается цепь питание-земля. Чем выше ток, больше потери энергии и нагрев резистора, а это никому не нужно, поэтому сопротивление резистора подтяжки обычно выбирается в диапазоне 5-50 кОм. Если ставить больше – подтяжка может не обеспечить стабильный уровень сигнала на пине, а если ставить меньше – будут больше потери энергии в нагрев резистора: при сопротивлении в 1 ком через него потечёт ток величиной 5 В/1000 Ом = 5 мА, для сравнения плата Ардуино с МК в активном режиме потребляет 20-22 мА. Чаще всего для подтяжки используется резистор на 10 кОм. Как вы помните из урока о цифровых пинах, у МК AVR есть встроенные резисторы для всех GPIO, эти резисторы подключены к питанию (к VCC), то есть буквально дублируют первую схему из этого урока и позволяют не использовать внешний резистор. У микроконтроллеров другой архитектуры бывает подтяжка к GND, или вообще может не быть внутренней подтяжки. При использовании подтяжки к питанию мы получим инвертированный сигнал – функция digitalRead() вернёт 1 при отпущенной кнопке, и 0 при нажатой (при использовании нормально-разомкнутой кнопки). Давайте подключим кнопку на пин D3 (и GND):

Алгоритмы

Отработка нажатия

В большинстве реальных применений работать с текущим состоянием кнопки очень неудобно, например когда действие должно быть выполнено однократно при нажатии на кнопку, т.е. по клику. Чуть усложним конструкцию, добавив один флаг, который будет помнить состояние кнопки. Такая конструкция позволяет отслеживать нажатие и отпускание кнопки и реагировать на них однократно:

Читайте также:  Приложение кинопоиск для смарт тв самсунг не работает

Дребезг контактов

Кнопка не идеальна, и контакт замыкается не сразу, какое-то время он “дребезжит”. Прогоняя данный алгоритм, система опрашивает кнопку и условия приблизительно за 6 мкс, то есть кнопка опрашивается 166’666 раз в секунду! Этого достаточно, чтобы получить несколько тысяч ложных срабатываний. Избавиться от дребезга контактов можно как аппаратно, так и программно: аппаратно задача решается при помощи RC цепи, то есть резистора (

1-10k) и конденсатора (

100nF). Выглядит это следующим образом:

Программно можно ввести простейший таймер нажатия, основанный на millis() , время гашения дребезга примем 100 миллисекунд. Вот так будет выглядеть код:

Рекомендуется конечно же использовать аппаратный способ, так как он не нагружает ядро лишними расчетами. В 99.99% проектов будет достаточно программного антидребезга, так то смело используйте конструкцию с millis() .

“Импульсное” удержание

В устройствах с управлением кнопкой очень часто бывает нужна возможность изменения значения как однократно кликом по кнопке, так и “автоматически” с тем же шагом – при удержании. Такой вариант реализуется очень просто, добавлением ещё одного условия в наш предыдущий алгоритм, а именно: если кнопка была нажата, но ещё не отпущена, и прошло времени больше, чем задано – условие вернёт true . В примере ниже периодичность “нажатий” при удержании настроена на 500 миллисекунд (2 раза в секунду):

Пользоваться таким кодом напрямую будет неудобно, поэтому можно “обернуть” его в класс (читай урок про классы и урок про написание библиотек).

Простейший класс кнопки

Вот так предыдущий пример можно сделать классом (мы делали это вот в этом уроке), положить его в отдельный файл (button.h) и пользоваться:

Другие возможности кнопки

Кнопка только с виду кажется простым устройством, дающим 0 и 1, но, подключив фантазию и время, можно придумать гораздо больше применений обычной кнопке. В моей библиотеке GyverButton реализовано очень много всяких интересных возможностей по работе с кнопкой, вот список:

  • Работа с нормально замкнутыми и нормально разомкнутыми кнопками
  • Работа с подключением PULL_UP и PULL_DOWN Опрос кнопки с программным антидребезгом контактов (настраиваемое время)
  • Отработка нажатия, удерживания, отпускания, клика по кнопке (+ настройка таймаутов)
  • Отработка одиночного, двойного и тройного нажатия (вынесено отдельно)
  • Отработка любого количества нажатий кнопки (функция возвращает количество нажатий)
  • Функция изменения значения переменной с заданным шагом и заданным интервалом по времени
  • Возможность работы с “виртуальными” кнопками (все возможности библиотеки используются для матричных и резистивных клавиатур)
Читайте также:  Почему не работает виндовс шифт с

Подробное описание библиотеки можно почитать в заголовочном файле на странице библиотеки, также там есть много примеров.

Аналоговые клавиатуры

Аналоговые клавиатуры – достаточно глубокая тема, достойная отдельного урока (у меня его пока что нет). Максимально подробный урок-исследование можно посмотреть на сайте Codius.

Видео


Источник

Пульт от Модуля

В комплекте идет пульт, с помощью которого можно управлять Модулем и общаться с Алисой. Также этот пульт может заменить ваш обычный пульт от телевизора — нужно только настроить.

Пульт всегда готов к работе и активируется, когда вы его поднимаете с поверхности. Чтобы пробудить его принудительно, нажмите кнопку .

Как общаться с Алисой

Зажмите кнопку и говорите. Алиса слушает вас, только пока вы удерживаете кнопку.

Как управлять телевизором

Пульт от Модуля можно использовать вместо обычного пульта от телевизора. Настройка происходит по завершении подключения Модуля — на финальном экране настройки.

Для работы функции Модуль должен быть всегда подключен к питанию и телевизору. Кроме того, убедитесь, что на телевизоре присутствует и включена функция HDMI CEC — обычно она включается в системных настройках. Если найти настройку не получается, обратитесь к инструкции вашего телевизора или в службу поддержки его производителя.

Если вы пропустили настройку пульта или хотите выполнить ее заново, сбросьте Модуль и настройте его заново.

Как переподключить пульт

Однократно нажмите на

\\n \\n \\n \\n

\\n

\\n

«>>\»>световой индикатор — на телевизоре появится экран подключения пульта.

Если возникает ошибка, обратитесь к разделу Решение проблем.

Что означает цвет подсветки

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

Как найти пульт

Если пульт потерялся в квартире, воспользуйтесь функцией его поиска. Для этого скажите колонке, которая находится с Модулем в тандеме: «Алиса, где пульт?» .

Читайте также:  Настрой сам саджемком 2804

Решение проблем

Убедитесь, что во время настройки на пульте горит синее кольцо. Для пробуждения пульта нажмите на нем любую кнопку и дождитесь подключения. Если кольцо не загорается, проверьте батарейки.

Если пульт не удается подключить ни автоматически, ни вручную, выполните сброс к заводским настройкам. Если настройка Модуля заново не поможет, обратитесь в службу поддержки.

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

Если ни Модуль, ни телевизор не реагируют на нажатие кнопок (в первую очередь кнопки включения телевизора), проверьте батарейки в пульте. Попробуйте заменить батарейки и подключить пульт заново.

Пульт от Модуля

В комплекте идет пульт, с помощью которого можно управлять Модулем и общаться с Алисой. Также этот пульт может заменить ваш обычный пульт от телевизора — нужно только настроить.

Пульт всегда готов к работе и активируется, когда вы его поднимаете с поверхности. Чтобы пробудить его принудительно, нажмите кнопку .

Как общаться с Алисой

Зажмите кнопку и говорите. Алиса слушает вас, только пока вы удерживаете кнопку.

Как управлять телевизором

Пульт от Модуля можно использовать вместо обычного пульта от телевизора. Настройка происходит по завершении подключения Модуля — на финальном экране настройки.

Для работы функции Модуль должен быть всегда подключен к питанию и телевизору. Кроме того, убедитесь, что на телевизоре присутствует и включена функция HDMI CEC — обычно она включается в системных настройках. Если найти настройку не получается, обратитесь к инструкции вашего телевизора или в службу поддержки его производителя.

Если вы пропустили настройку пульта или хотите выполнить ее заново, сбросьте Модуль и настройте его заново.

Источник

Первое включение и настройка

Подключите устройство и выполните настройку, следуя инструкциям на экране телевизора. Вам понадобится приложение Яндекс и интернет по Wi-Fi.

Подключение к телевизору

Соедините Модуль и адаптер питания кабелем из комплекта.

Подключите Модуль к свободному разъему HDMI на телевизоре, а адаптер к розетке. На Модуле загорится

\\n \\n \\n \\n

Включите телевизор и в качестве источника выберите нужный вход HDMI.

Используйте пульт от телевизора. Обычно это кнопка с надписью source или input .

Решение проблем

При подключении

При настройке

Убедитесь, что на стороне провайдера нет проблем с соединением, и перезагрузите Модуль . Если это не помогло, воспользуйтесь советами ниже.

Если у вас скрытая сеть, выберите Добавить сеть и введите ее имя, используя экранную клавиатуру.

Что дальше

Первое включение и настройка

Подключите устройство и выполните настройку, следуя инструкциям на экране телевизора. Вам понадобится приложение Яндекс и интернет по Wi-Fi.

Подключение к телевизору

Соедините Модуль и адаптер питания кабелем из комплекта.

Подключите Модуль к свободному разъему HDMI на телевизоре, а адаптер к розетке. На Модуле загорится

\n \n \n \n

Включите телевизор и в качестве источника выберите нужный вход HDMI.

Используйте пульт от телевизора. Обычно это кнопка с надписью source или input .

Источник

Оцените статью