Меню

Кнопка торшерная как подключить

Урок 3. TTP223 сенсорная кнопка схема подключения к Arduino

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

Так как тело человека обладает некоторой емкостью и небольшим реактивным сопротивлением. Если прикоснуться пальцем какого-нибудь проводника, то по нему потечет ток утечки. В сенсорных кнопка установлен чип (в нашем случае TTP223), который определяет данную утечку. При достижении определенного значения происходит срабатывания.

Технические характеристики TTP223

Подключим сенсорную кнопку TTP223 в Arduino

Для подключения сенсорной кнопки не нужно дополнительно ставить резистор потягивающий резистор. Все еже реализовано в самой кнопке. И контакт не будет висеть в воздухе.

Проверим будет или нет работать код из урока подключения кнопки к Arduino.

Как видим у нас все работает аналогично обычной кнопке.

При этом есть еще один бонус от использования сенсорной кнопки. Нам не нужно устранять дребезг кнопки. Если вы не знаете что это смотрите : Урок2. Нажатие кнопки без ложных срабатываний.Устраняем дребезг кнопки

Также данную сенсорную кнопку можно сконфигурирован для работы в одном из 4 режимов для этого нужно спаять перемычки А и В на плате:

A

B

Режимы

На время касания на выходе “1”

На время касания на выходе “0”

режим триггера, состояние выхода после касания – “0”

режим триггера, состояние выхода после касания – “1”

Давайте подключим реле, вместо светодиода, не меняя программу.

Как видим, реле также отлично работает включается и выключается.

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

Для подачи напряжения буду использовать MICRO USB адаптер 5pin

Оно не работает, потому, что кнопку можно подключить как логический ключ. Электродвигателя, реле и пр. (даже на 3-5 В) работать не будут. Сенсорная кнопка просто сгорит. Для примера я подключал параллельно 3 светодиода. И как видно из эксперимента начинаются ложные срабатывания. По техническим характеристикам даже 4 светодиода для данной кнопки много.

Читайте также:  Как подключить дополнительный насос в систему отопления схема

Но не обязательно ограничиваться реле. Можно подключать MOSSFET или твердотельное реле.

Проверку на работоспособность с разными материалами: пластик, картон, фанерой. Если на сенсорную кнопку положить материал не толще 2 мм. Кнопка работает отлично. Более 2 мм. Работает только с пластиком. Но это у меня. Возможно у вас будут другие результаты. Как у вас работают сенсорные кнопки пишите в комментарии.

Подписывайтесь на мой канал на Youtube и вступайте в группы в

Вконтакте и Facebook.

Понравилась статья? Поделитесь ею с друзьями:

Источник

Arduino – работа с кнопками

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

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

Из урока про цифровые пины вы помните, что микроконтроллер может считывать напряжение со своей ноги. Соответственно кнопка может подать на пин тот уровень, к которому подключена её вторая нога. В том же уроке мы обсуждали, что не подключенный никуда цифровой пин принимает наводки из воздуха, и считанное с него значение будет практически случайным. То есть подключив к пину 5V (сигнал высокого уровня) через кнопку, мы ничего не добьёмся: при нажатой кнопке на пине будет считываться четкий сигнал высокого уровня, а при отпущенной – случайное значение. Для решения этой проблемы существует такое понятие, как подтяжка (pull) пина. Подтяжка выполняется к земле (pull down) или питанию (pull up) микроконтроллера при помощи резистора. Подтяжка выполняется противоположно принимаемому сигналу, т.е. если нужно ловить высокий сигнал, подтяжка выполняется к земле, если ловить нужно сигнал земли – подтяжка выполняется к питанию. Вот два варианта подключения кнопки, с подтяжкой к VCC и GND соответственно:


Как выбирается сопротивление резистора? Тут всё очень просто: при нажатии на кнопку через резистор потечёт ток, так как в любом случае замыкается цепь питание-земля. Чем выше ток, больше потери энергии и нагрев резистора, а это никому не нужно, поэтому сопротивление резистора подтяжки обычно выбирается в диапазоне 5-50 кОм. Если ставить больше – подтяжка может не обеспечить стабильный уровень сигнала на пине, а если ставить меньше – будут больше потери энергии в нагрев резистора: при сопротивлении в 1 ком через него потечёт ток величиной 5 В/1000 Ом = 5 мА, для сравнения плата Ардуино с МК в активном режиме потребляет 20-22 мА. Чаще всего для подтяжки используется резистор на 10 кОм.

Читайте также:  Sennheiser hdr 160 как подключить без базы

Как вы помните из урока о цифровых пинах, у МК AVR есть встроенные резисторы для всех GPIO, эти резисторы подключены к питанию (к VCC), то есть буквально дублируют первую схему из этого урока и позволяют не использовать внешний резистор. У микроконтроллеров другой архитектуры бывает подтяжка к GND, или вообще может не быть внутренней подтяжки. При использовании подтяжки к питанию мы получим инвертированный сигнал – функция digitalRead() вернёт 1 при отпущенной кнопке, и 0 при нажатой (при использовании нормально-разомкнутой кнопки). Давайте подключим кнопку на пин D3 (и GND):

Алгоритмы

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

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

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

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

Избавиться от дребезга контактов можно как аппаратно, так и программно: аппаратно задача решается при помощи RC цепи, то есть резистора и конденсатора. Выглядит это следующим образом:

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

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

Источник

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

Тактовая кнопка и Ардуино ► рассмотрим, как подключить кнопку к плате Arduino, продемонстрируем скетч для считывая значений с цифровых и аналоговых портов.

Читайте также:  Как подключить карту народного банка к интернет банкингу

Как подключить тактовую кнопку к цифровым и аналоговым входам на Arduino Uno правильно. Расскажем, как избежать «дребезг контактов», рассмотрим схему подключения одной и нескольких кнопок к плате Ардуино. Рассмотрим функции digitalRead и analogRead в языке программирования C++, которые часто требуется использовать при создании различных проектов на Ардуино для начинающих.

Работа с тактовыми кнопками на Ардуино

Главная проблема использования кнопок для управления Arduino заключается в «дребезге контактов». Дело в том, что механические контакты в тактовых кнопках никогда не замыкаются и размыкаются мгновенно. В течении нескольких миллисекунд происходит многократное замыкание и размыкание контактов — в итоге на микроконтроллер поступает не единичный сигнал, а серия импульсов.

Подключение кнопки к Ардуино и дребезг

Для того, чтобы исключить на микроконтроллере Arduino дребезг кнопки используют различные электрические схемы с триггерами и конденсаторами. Но намного удобнее и проще использовать программный способ борьбы с возможным дребезгом тактовой кнопки — для этого применяют задержку на несколько миллисекунд или используют библиотеку Bounce2.h для борьбы с дребезгом контактов для Arduino.

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

Для этого занятия нам потребуется:

Используем цифровые порты на плате для подключения тактовой кнопки и команду digitalRead для считывания данных. Соберите схему, как на рисунке выше и загрузите скетч. Обратите внимание, что при отпущенной кнопке на Pin2 поступает логический «0». С помощью кнопки будем выключать и включать встроенный светодиод, подключенный к цифровому 13 порту на плате микроконтроллера Ардуино.

Скетч подключение кнопки к цифровому входу

Пояснения к коду:

Скетч подключения кнопки к аналоговому входу

Можно также сделать подключение кнопок к аналоговому входу Ардуино (обозначены, как Analog In на плате). Принципиальное отличие данной схемы — это использование аналогового порта на микроконтроллере. Для включения и выключения светодиода будем также использовать встроенный светодиод на плате. Переключите тактовую кнопку к аналоговому входу A1 и загрузите в плату следующий скетч.

Источник