Найти тему

Arduino, емкостные датчики без датчиков, возможно?

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

Так как мои познания в электронике стремительно стремятся к 0, то после определенного времени затраченного на поиск информации в интернете, было принято решение - Arduino справится.

В итоге был куплен микроконтроллер Arduino Uno Rev3:

А в качестве датчика касания KY-036

-2

Модуль KY-036 является датчиком касания и имеет металлический контакт для определения касания человека. Если прикоснуться пальцем к металлическому контакту (центральная нога датчика), то на плате загорится светодиод – датчик ощутил прикосновение. Модуль ещё называют датчиком металла, так как он срабатывает и при прикосновении металлическим предметом.

В итоге даже всё вроде бы и заработало.... пока к центральной ноге не была присоединена тарелка. Датчик стал срабатывать постоянно. Покрутив подстроечный резистор удалось добиться определенного успеха, но количество ложных срабатываний превышало все разумные пределы. Настроить нормально не удалось.

Читаем дальше, складывается мнение, что проблему может решить датчик касания на TTP-223.

-3

Стало лучше, но в итоге Настроить нормально не удалось.

Но решение есть.

Оказывается можно создать сенсорный вход на любом из контактов Arduino. Для этого не требуется никакого специального оборудования, тем не менее, рекомендуется установить рядом с выводом конденсатор емкостью 1 нФ для развязки помех частотой 50 Гц.

Подсоединяем провод или металлическую пластину к выходу (почти любому кроме 0,1) и в скетче используем функцию readCapacitivePin (текст функции по ссылке).

Код работает, устанавливая контакт на землю, включая внутренний подтягивающий резистор и измеряя время, необходимое для возврата контакта в состояние HIGH. Если параметр не изменен, readCapacitivePin возвращает низкое значение, например «1»; при прикосновении оно увеличивается примерно до 5. Добавив некоторое сравнение с порогом, вы можете сделать его логическим вводом клавиши.

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