banner
Центр новостей
Лояльность наших клиентов является подтверждением качества нашей продукции.

Превратите любой пико-контакт в емкостный сенсорный датчик с помощью этого простого кода

Apr 11, 2023

Хотя существуют и другие сенсорные технологии, емкостное сенсорное сенсорное управление сегодня является, безусловно, самым популярным. В вашем смартфоне используется емкостный сенсорный экран, в вашем ноутбуке — емкостная сенсорная панель, а на многих устройствах используются емкостные кнопки вместо обычных механических. Если вы когда-либо задумывались о добавлении емкостного сенсорного экрана в один из своих проектов, то вы, вероятно, видели оборудование, предназначенное для этой цели. Но вам может вообще не понадобиться никакого специального оборудования. Если вы используете плату разработки Raspberry Pi Pico, вы можете использовать простой код Джеймса Брауна, чтобы превратить любой контакт в емкостный сенсорный датчик.

Как следует из названия, емкостный сенсорный датчик основан на емкости. Это относится к способности системы хранить электрический заряд, как в конденсаторе. Но более простые схемы имеют небольшую емкость, и она меняется в зависимости от близости проводящих объектов, таких как пальцы. Возможно, вы заметили, что некоторые сенсорные экраны регистрируют прикосновение еще до того, как ваш палец коснется его. Это потому, что их чувствительность высока, и простое перемещение пальца рядом вызывает заметное изменение емкости. Код Брауна использует встроенное оборудование Raspberry Pi Pico для выполнения той же функции и работает с любым выводом GPIO.

Код сначала устанавливает вывод на выход и переводит его на низкий уровень. Затем он немедленно переключает тот же вывод на вход с активным внутренним подтягивающим резистором. Между этими двумя событиями существует небольшая разница во времени, и она меняется в зависимости от того, как палец влияет на емкость. PIO (программируемый ввод/вывод) Pico измеряет дельту, и весь процесс повторяется примерно 60 раз в секунду. Код возвращает значение от 0 до 1 на основе дельты, где 0 означает отсутствие заметного отличия от нормы, а 1 — очень сильное отличие. Пользователи могут выбрать пороговое значение для запуска действия, которое должно соответствовать прикосновению кого-то к куску проводящего материала, подключенному к этому конкретному выводу GPIO.

Код Брауна предназначен только для работы с емкостными кнопками и не подходит для 2D-емкостных сенсорных панелей или сенсорных экранов. Но это должно быть очень полезно для всех, кто использует Raspberry Pi Pico и хотел бы добавить емкостные кнопки в свой следующий проект.