TTP223 сенсорная кнопка
Сегодня мы рассмотрим такую интересную штуку, как Сенсорная кнопка.В этом уроке мы будем меньше заниматься программированием и написанием скетчей, а сосредоточимся на подключении и различных вариантах использования сенсорной кнопки. Рассмотрим примеры с подключением без Ардуино.
Управлять нагрузкой будем при помощи реле и транзистора.
Плавное включение светодиодной ленты с использованием транзистора MOSFET.
Большинство скетчей взято из предыдущего урока «Подключение кнопки к Ардуино».
Так, что если вы его не смотрели, то сейчас самое время.
Посмотрим, как работает кнопка через различные препятствия, их толщину и материал.
Сделаем управление трёх рожковой люстрой всего одной кнопкой.
И многое другое.
Сенсорная кнопка устроена так, что они реагирует на изменение емкости. Более подробно читайте в википедии.
Если кому не понятно, о чём я, то пересмотрите моё видео про кнопки.
Сегодня только практика.
ВАРИАНТЫ СЕНСОРНЫХ КНОПОК.
Как я уже сказал есть много различных вариантов модулей сенсорных кнопок.
Это только некоторые из них.
Как видите есть блоки на одну, две, четыре , восемь и шестнадцать кнопок.
В некоторых есть возможность управлять состоянием кнопки соединив перемычки.
Проверим это без использования платы Ардуино.
Для этого соберём вот такую схему.
Нам понадобятся.
Модуль реле.
Один транзистор n-p-n СТРУКТУРЫ
2 резистора на 1 и 10 кОм
Сенсорная кнопка.
Напоминаю, что я подключал эту схему на 220 вольт, а это опасное напряжение.
БУДЬТЕ ОСТОРОЖНЫ.
Работа сенсорной кнопки по умолчанию .
Дотронулся до сенсора, и она включилась, убрал палец – выключилась. Горит пока держишь.
В общем как обычная тактовая кнопка и для выключателя она не подойдёт.
Ну если только подключив её к Ардуино и написав скетч.
В видео рассказано как подключить сенсорную кнопку и плавно управлять(зажигать/гасить) светодиодную ленту.
Управлять включением 3-х ламп на 220 вольт. и многое другое.
Так, что советую посмотреть.
Датчик касания (сенсорная кнопка) TTP223B, Arduino от 25 грн
Датчик касания (сенсорная кнопка) TTP223B, Arduino
Код товара: 103094
Производитель: ArduinoОписание: Цифровой датчик касания TTP223B. Используется для коммутации электрических цепей (включатель/выключатель), является отличной заменой традиционным механическим кнопкам. Питание:2…5,5V, габариты:24x24x7,2мм
Тип: Датчик
В наличии/под заказ
13 шт — РАДИОМАГ-Киев
4 шт — РАДИОМАГ-Львов
3 шт — РАДИОМАГ-Харьков
6 шт — РАДИОМАГ-Одесса
11 шт — РАДИОМАГ-Днепр
1+ | 30 грн |
10+ | 25 грн |
Описание: Микроконтроллер: ATmega328P. Тип корпуса: TQFP-32. Рабочее напряжение: 5В. Входное напряжение (рекомендованное): 7-12В. Цифровых входов/выходов: 14 (из которых 6 могут быть использованы как ШИМ). Аналоговых входов: 8. Сила тока на входах/выходах: 40 мА. Сила тока для 3.3В выхода: 50 мА. Память: 32 кБ из которых 2кБ используется бутлоадером. SRAM: 2 кБ. EEPROM: 1 кБ. Частота: 16 МГц
Тип: Отладочная плата 803 шт — склад Киев
26 шт — РАДИОМАГ-Киев
27 шт — РАДИОМАГ-Львов
27 шт — РАДИОМАГ-Одесса
3 шт — РАДИОМАГ-Днепр
30 шт — ожидается Производитель: HC-SR501
Активные компоненты — Датчики
Описание: Пироэлектрический инфракрасный ИК-датчик движения с регулировкой чувствительности и дальности обнаружения
Выход/интерфейс: Digital
Питание, V: 4,5…20 V
Температура, °C: -20…+80 °C
Тип датчика: Датчик движения
Тип монтажа: THT 76 шт — склад Киев
7 шт — РАДИОМАГ-Киев
4 шт — РАДИОМАГ-Львов
5 шт — РАДИОМАГ-Харьков
1 шт — РАДИОМАГ-Одесса
1 шт — РАДИОМАГ-Днепр 2058 шт — склад Киев
7 шт — РАДИОМАГ-Киев
170 шт — РАДИОМАГ-Львов
253 шт — РАДИОМАГ-Харьков
22 шт — РАДИОМАГ-Одесса
63 шт — РАДИОМАГ-Днепр
100 шт — ожидается 617 шт — склад Киев
38 шт — РАДИОМАГ-Киев
42 шт — РАДИОМАГ-Львов
38 шт — РАДИОМАГ-Харьков
150 шт — ожидается
ARDUINO — Наливатор. Обсуждение проекта
Вобщем покурил я внимательно даташит на TTP223, и сделал следующее выводы.Чип в корпусе SSOP-16 (Limited))), имеет на борту различные доп фишки/выводы, такие как:
1. OPDO — дополнительный выход с открытым стоком.
2. RST — ресет, от внешнего сигнала управления.
3. LPMB — выбор быстрого/медленного режима работы (интервалы опроса 20/160ms), влияющего на реакцию первого касания и энергопотребление в режиме ожидания.
4. SLRFTB — выбор продолжительности опроса сенсора (периоды 1,6/3,2ms) влияющий на его чувствительность, а так же энергопотребление в режиме ожидания.
5. MOTB — длительность контроля состояния сенсора, после первого срабатывания (без контроля/100сек). Призван уберечь от «залипания» в каких-то случаях…
Вобщем нас интересует самый последний пункт — MOTB.
А теперь внимание! «Наш» чип в корпусе SOT-23-6 (Classic))), согласно даташиту имеет следующую комплектацию:
Посмотреть вложение 6116
Т.е. дословно по доп опциям:
1. OPDO — не имеет.
2. RST — не имеет.
3. LPMB — предустановлен медленный режим 160ms (max энергоэффективный).
4. SLRFTB — предустановлен короткий интервал опроса 1,6ms (менее чувствительный, max энергоэффективный).
5. MOTB — предустановлено отключение контроля!
Т.е. В оригинале микро-чип в SOT-23-6, по умолчанию не должен контролировать время опроса сенсора после первого срабатывания, и должен «держать» выходной уровень до победного (пока «не отпустишь»), не переходя в начальный режим…
Делаю вывод, что как раз наши китайские «братья» подложили нам свинью со своим Hand-made, а не помогли, как ранее считал m_i_g, включив по умолчанию MOTB на время около 7сек…
И походу Jskail как раз достались сборки на оригинальных чипах (ну или сделанных по спецификации…)
Не исключаю, что может быть есть и другие релизы даташитов (разных производителей), в которых эта норма прописана. Но я таких пока не встретил…
Сенсорная кнопка модуль AT42QT1010 длинные расстояние 10 мм стекло конденсатор 6 мм акрил для Arduino емкостный сенсорный модуль кнопку
*** Добро пожаловать More
Suns *** Мы предлагаем все виды электронных компонентов(Модули, кабели, датчики, NTC, алюминиевый радиатор/Водяной блок/медная трубка, выключатели,Кварцевый генераторИ разъемы и т. д.)С широким ассортиментом, хорошим качеством, разумными ценами и стильными дизайнами по вашей необходимостиБольше количество, пожалуйста, свяжитесь с лучшей скидкой и почтовые расходыСенсорный кнопочный модуль AT42
QT1010 большое расстояние 10 мм стеклянный конденсатор 6 мм акрил для Arduino емкостный сенсорный модуль(Поддержка заказов сыпучих заказов и пользовательские заказы на обслуживание)Чип : AT42
QT1010Диапазон рабочего напряжения : 2,5 В до 5,5 ВДиапазон рабочей температуры : -40 °C до 85 °CУровень выходного сигнала : высокий уровень эффективного выходаБыстрый расход электроэнергии : 378u
A @ VDD = 3 ВПотребляемая мощность : 34u
A @ VDD = 3 ВВремя отклика : с конденсаторами Cs и режимом относительногоИзолированная среда : стекло, пластик, акрил и другие неметаллизированные средстваОбъем проникновения : 10 мм (стекло)Чем больше диэлектрик констант, тем сильнее проникновение6 мм (акрил)Преимущества : самокалибровка, дрифтерная компенсация, фильтрация шумаОплата и заказ Мы принимаем Alipay, Западный союз, тт.Все основные кредитные карты принимаются через безопасный платежный процессор ESCROW. ESCROW будет держать оплату, пока вы не получите ваш заказ с удовлетворением.Доставка
2. В большинстве случаев в число стран в течение 8-15 рабочих дней достигнет большинство стран.
Доступен к заказу
О товаре
- Артикул:
- Touch button module AT42QT1010
- Материал:
- Смесь
- Тип:
- Биодатчик
- Бренд:
- MoreSunsDIY
- Выход:
- Аналоговый сенсор
- Индивидуальное изготовление:
- Да
- Применение:
- Touch button module AT42QT1010
- Основы:
- Touch button module AT42QT1010
Делаем сенсорные кнопки на контроллере
Приветствую. В качестве пробы на будущее купил у наших «друзей» китайцев микры 8229BSF — это 8-16 канальный сенсорный драйвер, якобы такие как используются в макетных сенсорных клавиатурах для ардуино.
Собрал тестовую плату, запаял микросхему, проверил режимы по даташиту все вроде норм, но после длительной проверки выявился «косяк». Ввиде того что у сенсора со временем уходит чувствительность, до полного непонимания прикосновения. Возможно это причины самокалибровки на окружающую среду, или общая подстройка каналов, так как там один конденсатор на несколько каналов регулирует чувствительность. Возможно брак, пока непонятно. Если кто сталкивался, или знает причины которых не углядел я, прошу известить. В аналог этому чипу решил сделать свой, только на контроллере AVR. Была написана библиотечка под BASCOM.
Основой алгоритма будет замер емкости сенсорной площадки. В начальный момент вывод микроконтроллера работает в режиме выхода и на нем установлен уровень логического нуля. Емкость сенсора, если она имеет какой-то заряд, быстро разряжается на внутренние цепи микроконтроллера. Через некоторое время вывод микроконтроллера переключаем в режим входа с отключенным подтягивающим резистором и емкость сенсора начинает заряжаться через внешний высокоомный резистор. В это время программа опрашивает состояние вывода микроконтроллера. Когда емкость зарядится до напряжения логической единицы, контроллер зафиксирует это и сравнит состояние счетчика с каким-то пороговым значением. По результату этого сравнения мы определяем поднесен ли к сенсору палец или нет.
Емкостные сенсорные датчики очень «капризные». Они требуют особой разводки и экранов. Нужно, что бы рядом с линиями сенсорных клавиш и самими сенсорными клавишами не проходило линий питания и других сигнальных проводников, т.к. все они в той или иной степени будут давать наводки, что в свою очередь будет искажать работу и давать ложные срабатывания. Поэтому специалисты известных микроконтроллерных фирм предлагают варианты топологий сенсорных площадок для разных применений.
Для кнопок и линейных скролов.
Для круговых скролов.
Ну с теорией думаю все понятно. Перейдем к делу. Ниже схема подключения сенсоров.
Чтобы наши тест сенсоры заработали напишем небольшую программу для контроллера.
$Regfile = «m8def.dat $Crystal = 8000000 $hwstack = 15 $swstack = 15 $framesize = 40 ‘————- Подключаем библиотеку сенсора ————— LED alias PortD Сall Calibrate_sensor(ALL) ‘калибруем сенсоры Do Сall Read_sensor(ALL) Loop |
Подключив библиотеку методов «LIB_sensor.bas» настраиваем параметры и указываем порты сенсоров. Методом Read_sensor(*) можно опрашивать и определенный порт сенсора, просто прописав параметр в свойстве Сall Read_sensor(5)
Const RESDOWN = 2 ‘время разряда емкости сенсоров (мс)
Const DEBONCE = 10 ‘задержка от нестабильности емкости(мс)
Const SENSOR = 6 ‘количество сенсоров
Const OFFSET = 10 ‘чувствительность сенсора 0=MAX
Const RELOAD = 50 ‘количество перезагрузок сенсоров при калибровке
Const COUNTERR = 5 ‘количество ошибок до сброса кнопки
После прошивки контроллера при касании сенсора будет зажигаться светодиод согласно его номера.В результате получился неплохой вариант сенсора для применения в своих конструкциях, имеющий большую гибкость в настройках и алгоритмах обработки за счет программного кода.
Емкостный и металлический сенсор касания, взаимодействующий с arduino uno
Это руководство посвящено взаимодействию емкостных и металлических сенсорных датчиков с arduino uno. Оба датчика выполняют одну и ту же функцию, но их порядок работы / протокол различаются. Вместо кнопок можно использовать сенсорные датчики. Преимущество в том, что нам не нужно прикладывать силу, чтобы нажать кнопку. Даже мы можем активировать клавишу, не касаясь ее с помощью сенсорного датчика, да, не касаясь ее. Сенсорные технологии становятся популярными день ото дня.Вы можете взаимодействовать с ним каждый день и каждый час. Каждый мобильный телефон сегодня имеет сенсорный экран или сенсор. Существует множество протоколов / технологий сенсорного распознавания, но в этом уроке мы рассмотрим только базовый. Мы узнаем о принципе, по которому они работают, а затем подключим сенсорные датчики к arduino uno. Давайте начнем с ответа, в чем разница между емкостным и металлическим сенсорным датчиком Arduino?
Емкостной сенсорный датчик Arduino
Емкостный сенсорный датчик, как следует из названия, предполагает, что это что-то емкостное и емкостное, связанное с емкостью или, проще говоря, конденсатором.При емкостном зондировании, когда мы приближаем человеческое тело к датчику, между датчиком и телом человека создается емкость. Человеческое тело (предположим, кончик пальца) и тело датчика ведут себя как пластины конденсатора, и между пластинами возникает заряд. Этот заряд улавливается датчиком и переводится как нажатие кнопки. Когда мы убираем палец с сенсорной пластины, емкость теряется и цепь размыкается.
Самый популярный емкостной сенсорный датчик Arduino, доступный на рынке, основан на микросхеме сенсорного датчика TTP223.Эквивалентная схема сенсорного модуля приведена на схеме ниже. В приведенной ниже схеме TTP223, если мы поднесем кончик пальца к сенсорной панели, наш палец и сенсорная панель образуют конденсатор. Этот новый конденсатор включен параллельно конденсатору C1. Вызов конденсатора, включенного параллельно, увеличивает емкость. Таким образом, емкость увеличивается, и в конденсаторе индуцируется заряд. Эта индукция регистрируется датчиком при нажатии кнопки.
Примечание : нам не нужно прикасаться кончиком пальца к пластине.Конденсатор можно собрать, поднеся пальцем к сенсорной панели. Поскольку расстояние, необходимое для сборки конденсатора, выражается в нанометрах, обычно мы прикасаемся пальцем к сенсорной панели.
Емкостной сенсорный датчик TTP223, принципиальная схема
Металлический сенсорный датчик Arduino
Металлический сенсорный датчикArduino основан на MOSFET. Затвор мосфета оставлен открытым. Источник МОП-транзистора подключен к операционному усилителю (LM393). При прикосновении к затвору МОП-транзистора (касанию пальца) в затворе МОП-транзистора индуцируется заряд, и он начинает проводить.В то же время входной порог инвертирования операционного усилителя выходит из строя, и операционный усилитель также начинает проводить ток. Переменный резистор на плате используется для установки порога. Схема платы приведена ниже с платой слева.
Эквивалентная схема металлического сенсорного датчикаArduino
Металлический сенсорный датчик Arduino выдает аналоговое значение, а также цифровой сигнал. Аналоговое значение зависит от установленного порога и наведенного заряда в затворе МОП-транзистора.Однако цифровой вывод « High » при прикосновении к гейту. Обычно он остается « Низкий ».
Емкостный сенсорный датчик с arduino uno
Вот практический пример того, как соединить сенсорный датчик с ардуино? В этом примере я включу зуммер при прикосновении к сенсорному датчику. Зуммер издает звук в течение одной секунды, а затем автоматически выключается. Я также печатаю небольшое сообщение на последовательном мониторе arduino ide о сеансе касания.
Принципиальная схема проекта представлена ниже.Сигнальный контакт сенсорного датчика подключен к цифровому контакту 2 Arduino. Катод зуммера подключен к цифровому контакту 9 Arduino Uno. Питание зуммера и емкостного сенсорного датчика осуществляется через выход 5 В регулятора Arduino.
Емкостный сенсорный датчик и зуммер с Arduino
В приведенном выше коде я сначала объявил контакты 2 и 9 Arduino как « Capsensor » и « Buzzer ». В функции настройки я объявил « Buzzer » как выход и « Capsensor » как вход.Затем я запустил последовательный монитор arduino ide со скоростью 9600 бод. В функции цикла инструкция digitalRead (Capsensor) == HIGH проверяет сигнальный контакт сенсорного датчика. Если установлено высокое, элемент управления переходит в оператор if. Сначала он выводит сообщение « Sensor is touch » на серийном мониторе arduino ide. Чтобы увидеть текст, откройте последовательный монитор (Инструменты-> Последовательный монитор или CTRL + SHIFT + M) arduino ide. Затем включится зуммер. Задержка в 1 секунду удерживает зуммер в состоянии гудка в течение 1 секунды.Через 1 секунду элемент управления выскакивает из оператора if и зуммер выключается. Функция цикла работает бесконечно долго, поэтому при прикосновении к сенсорной площадке в течение 1 секунды воспроизводится звук.
Металлический сенсорный датчик с arduino uno
Металлический датчик может быть подключен к Arduino двумя разными способами: в цифровом или аналоговом виде. Для цифрового интерфейса с Arduino их планируется изменить. Схема и код цифрового интерфейса приведены ниже.Цифровой интерфейс аналогичен емкостному сенсорному датчику.
Металлический сенсорный датчик с цифровым интерфейсом с Arduino
Металлический сенсорный датчик с Arduino
Металлический сенсорный датчик с аналоговым интерфейсом с Arduino
В аналоговом интерфейсе есть некоторые изменения в принципиальной схеме. Я использовал аналоговый канал 0 Arduino для измерения аналогового показания. В зависимости от показаний аналогового сигнала будет включаться зуммер.
В приведенном выше коде при прикосновении к датчику включается зуммер.Зуммер будет гудеть в зависимости от значения аналогового показания. Соответственно изменяется инструкция задержки. Постоянное число 5 умножается на аналоговое показание датчика, чтобы включить зуммер на время, которое можно дифференцировать.
Емкостный модуль сенсорного переключателяTTP223 для Arduino Raspber
Модуль емкостного сенсорного переключателя TTP223 для Arduino RaspberМагазин не будет работать корректно, если куки отключены.
Похоже, в вашем браузере отключен JavaScript. Для наилучшего взаимодействия с нашим сайтом обязательно включите Javascript в своем браузере.
Это простой в использовании емкостный сенсорный модуль.Он имеет цифровой выход, который по умолчанию выводит низкий сигнал (0 В) и выводит высокий сигнал (5 В) всякий раз, когда вы касаетесь модуля пальцем. Это позволяет легко и просто подключить его к Arduino, Raspberry Pi или любому другому микроконтроллеру. Его можно использовать вместо переключателя для ввода данных в микроконтроллер.
Модуль имеет две встроенные перемычки, которые можно использовать для установки типа выхода — с фиксацией и без фиксации с высокой выходной мощностью при касании или низкой выходной мощностью при касании. Когда установлен режим фиксации, выходной сигнал переключается с низкого на высокий при прикосновении и остается высоким до следующего нажатия.В режиме без фиксации он переключается с низкого на высокий при прикосновении к датчику, остается высоким в течение 12 секунд и снова становится низким. По умолчанию модуль поставляется с настройкой без фиксации и высокой производительности при касании.
Модуль может быть установлен на такие поверхности, как пластик, стекло и неметаллические материалы.
Характеристики
- Режимы: с фиксацией и без фиксации
- Напряжение: 2,5 — 5,5 В
- Размер модуля: 15 * 11 мм
- Вес упаковки: 0.050 кг (0,11 фунта)
В комплекте:
- 1 x TTP223 Модуль емкостного сенсорного переключателя Модуль самоблокировки кнопки
с емкостным датчиком касания Arduino TTP223
Введение:
В этом проекте мы «объединили емкостной сенсорный переключатель TTP223 с Arduino » для разработки сенсорного датчика.Это простой проект для переключения цепей с помощью простого касания . С помощью сенсорного датчика можно управлять любой бытовой техникой, подключив к нему реле .
Ознакомьтесь с предварительной версией этого проекта: Система сенсорного дверного замка с использованием Arduino и сенсорного датчика TTP223
Области применения этого проекта — водонепроницаемые электрические изделия, замена клавишных кнопок, потребительские товары и т. Д. Нам нужен коммутатор для управления электронными приборами.Иногда электрические выключатели будут вызывать ток, когда мы используем электрические выключатели мокрыми руками. Электронная нагрузка намного интерактивна, чем обычные переключатели, возможно, для некоторых проектов нужен сенсорный переключатель. Цифровой емкостный сенсорный датчик , интерфейс Arduino , выполнен в качестве эксперимента.
TTP223 ЕМКОСТНЫЙ СЕНСОРНЫЙ ДАТЧИК Введение:
Модуль емкостного сенсорного датчика на основе специализированного сенсорного датчика TTP223 IC.Модуль обеспечивает единую интегрированную сенсорную область размером 11 x 10,5 мм с диапазоном датчика ~ 5 мм. Встроенный светодиод будет визуально указывать на срабатывание датчика. При срабатывании триггера выход модуля переключается с низкого состояния холостого хода на высокий уровень (работа по умолчанию). Паяные перемычки позволяют изменить его режим работы на активный низкий уровень или переключение выхода.
Проверьте техническое описание TTP223
Внутренняя структура:TTP223 — это микросхема детектора сенсорной панели с 1 клавиатурой, которая подходит для обнаружения изменений емкостного элемента.Он потребляет очень мало энергии, а рабочее напряжение составляет всего 2,0 В ~ 5,5 В. Максимальное время отклика около 60 мс в быстром режиме, 220 мс в режиме низкого энергопотребления при VDD = 3 В. Чувствительность можно регулировать внешней емкостью (0 ~ 50 пФ).
Рабочий механизм емкостного сенсорного датчика TTP223Емкостные экраны не используют давление вашего пальца для изменения потока электричества. Вместо этого они работают со всем, что имеет электрический заряд, включая кожу человека.
Когда палец касается экрана, к пальцу передается крошечный электрический заряд, замыкая цепь, создавая падение напряжения в этой точке экрана. Программное обеспечение обрабатывает местоположение этого падения напряжения и приказывает выполнить следующие действия.
Датчик касания с использованием емкостного сенсорного переключателя Arduino TTP223 Необходимые компоненты:
1. Плата Arduino Uno 2.TTP223 емкостный датчик касания 3. Светодиод или зуммер 4. Макетная плата 5. Соединительные провода |
Выполните подключение следующим образом:
Sig Pin емкостного сенсорного датчика TTP223 ——————- Arduino Digital Pin D7
Vcc Pin емкостного сенсорного датчика TTP223 ——————- Arduino 5V
GND Контакт емкостного сенсорного датчика TTP223 ——————- Arduino GND
Положительный вывод светодиода ————————————— — — Цифровой вывод Arduino D13
Отрицательный вывод светодиода ————————————— — — Контакт заземления Arduino
Исходный код Arduino:
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 18 19 20 | #define ctsPin 7 // Контакт емкостного сенсорного датчика int ledPin = 13; // вывод для светодиода void setup () { Serial.begin (9600); pinMode (ledPin, ВЫХОД); pinMode (ctsPin, INPUT); } void loop () { int ctsValue = digitalRead (ctsPin); if (ctsValue == HIGH) { digitalWrite (ledPin, HIGH); Serial.println («ПРИКАСАТЬСЯ»); } else { digitalWrite (ledPin, LOW); Serial.println («не тронут»); } задержка (500); } |
Предварительный просмотр видео и объяснение:
Сопряжение переключателя емкостного сенсорного датчика TTP223 с Arduino
Адам Мейер | Ардуино + mpr121
Время от времени вам надоедают типичные кнопки, и вам хочется чего-нибудь покруче.А что круче сенсорных вещей? Помните ту старую лампу в вашей бабушке, которая меняла яркость при прикосновении к цоколю? Да, верно … Мы говорим ТАК круто! Датчик касания MPR121 дает вам 12 таких входов, которые мы можем использовать с нашей Arduino, и вы можете получить его в нескольких формах от SparkFun — Im, используя базовую коммутационную плату.
Как? Что ж … Емкостное зондирование — это довольно простая концепция. Каждый объект имеет емкость (с точки зрения непрофессионала емкость — это просто способность объекта удерживать заряд), и когда вы соприкасаетесь с чем-то, вы меняете его емкость.Что ж, MPR121 просто ищет эти изменения и сообщает нам, когда они происходят.
Подключаем
Подключить его к Arduino довольно просто, MPR121 — это устройство I2C. I2C — это двухпроводное последовательное соединение, поэтому вам просто нужно подключить линии SDA (Data) и SCL (Clock) к вашему Arduino для связи. На вашем Arduino (все, кроме мега) SDA находится на аналоговом выводе 4, а SCL — на аналоговом выводе 5. На Arduino Mega SDA — это цифровой 20, а SCL — цифровой 21.
Когда MPR121 обнаруживает изменение, он подтягивает вывод прерывания к низкому уровню.Теперь, если бы мы были ниндзя, мы бы использовали эту возможность, чтобы создать прерывание на нашей Arduino и немедленно обработать изменения. Однако, чтобы упростить ситуацию для нас, не являющихся ниндзя, мы просто проверим этот вывод, чтобы увидеть, является ли он НИЗКИМ во время цикла. Для этого этому датчику также необходим доступ к другому цифровому выводу, и в этом случае мы используем цифровой 2.
Электроды
Это сенсорный датчик, значит надо что-нибудь потрогать, да? Мы называем эти электроды. Как правило, электроды могут представлять собой кусок металла, или проволоку, или, как мне кажется, металлическую ленту (просто убедитесь, что у вас есть хотя бы 1/2 дюйма оголенного провода, контактирующего с липкой частью ленты для хорошего контакта).Но иногда, в зависимости от длины нашего провода или материала, на котором находится электрод, это может затруднить срабатывание датчика. По этой причине MPR121 позволяет вам настроить то, что необходимо для срабатывания и отключения электрода. Поэтому, если вы получаете ложные результаты или не получаете положительных результатов, вам, возможно, придется это изменить.
Датчик приближения
Есть небольшое изменение емкости даже при приближении к электроду, просто по воздуху. Поэтому, если вы установите порог касания или слишком низкий порог срабатывания, вы можете заметить, что он срабатывает даже на расстоянии нескольких дюймов.