Как сделать сенсорную кнопку в устройстве на PICе?
Ответ:
[Вернуться в категорию "Микроконтроллеры семейства PIC"]
Можно заменить в устройствах на PIC микроконтроллерах механическую кнопку на емкостную сенсорную. Схема подключения на рисунки ниже:
ВАРИАНТ 1: сенсорная площадка - любая металлическая пластина небольших размеров (1-2 кв. см.). Идея заключается в том, что при прикосновении к датчику увеличивается суммарная емкость и изменяется время заряда конденсатора C1. Это видно из представленных диаграмм:
При программировании можно поступить таким образом: при включении устройства запрограммировать верхний по схеме вывод как выход и установить его в лог. "0", а нижний как вход. Через небольшую задержку установить на выводе, запрограммированном как выход лог. "1" и запустить таймер. Когда лог. "1" появится на нижнем выводе, запомнить показание таймера. Это будет константа для свободного сенсора. При опросе в процессе работы программы поступать таким же образом и сравнивать полученное значение с запомненным. Если полученное значение превышает константу, то считать, что есть прикосновение к датчику. Разница задержек установления лог. "1" на входе между свободным сенсором и нажатым составляет примерно 1-2 мкс.
ВАРИАНТ 2: схема работает аналогичным образом, только вместо двух портов используется один, который переключается с вывода на ввод. С состоянии ожидания вывод порта запрограммирован как выход и установлен в лог. "0". Конденсатор С2 разряжен. Конденсатор С1 служит для развязки потенциала тела человека и потенциала вывода микроконтроллера. При опросе вывод PICа переключается на ввод и измеряется время появления лог. "1" на этом выводе. Временная диаграмма соответствует той, что описывает в верхней схеме (вариант 1) вывод вход. После этого сравнивается измеренная величина и константа, запомненная и измеренная при инициализации (включении устройства) как в первом случае. Успеха!
Источник: disall.narod.ru [Микроконтроллеры семейства PIC]
|