Найти тему
Радиотехника

Контроллер сенсорных кнопок MPR121

Модуль MPR121 представляет собой контроллер сенсорных кнопок, а так же может являться расширителем порта.

MPR121 имеет настраиваемый адрес на I²C шине, улучшенную систему фильтрации и полностью независимые настраиваемые входы со встроенной системой автоматической калибровки.

Благодаря малому энергопотреблению прибор может применяться в том числе и в мобильных устройствах с батарейным питанием.

Характеристики:

  • напряжение питания 1,7 В – 3,6 В
  • 29 мкА при периоде опроса 16 мс
  • 3 мкА в режиме малого потребления
  • 12 электродов
  • автоматическая калибровка входов
  • возможность настройки пороговых значений срабатывания для каждого электрода
  • I²C интерфейс, и выход прерывания IRQ, срабатывает при изменения состояния электродов
  • 8 GPIO (цифровой вход/выход, PWM) с 4 по 12 электрод
-2

Если вам недостаточно 12 выводов модуля, то на одну шину I2C можно каскадом повесить дополнительные модули, изменив при этом адрес при помощи перемычек на нижней стороне платы (по умолчанию 0x5A).

Для определения I2C адреса можно воспользоваться I2C сканером — http://forum.rcl-radio.ru/viewtopic.php?pid=93#p93.

Как ранее отмечалось модуль MPR121 может работать как контроллер сенсорных кнопок, а так же часть его электродов (с 4 по 12) могут работать как цифровые входы и выходы, так же эти выводы могут работать в режиме PWM.

Ниже показаны примеры работы модуля MPR121 в различных режимах.

Контроллер сенсорных кнопок

-3

Скетч - http://rcl-radio.ru/?p=131456#:~:text=%23include%20%3CMPR121.,%7D%0A%20%C2%A0%7D%0A%7D

Показанный выше скетч позволят постоянно сканировать сенсорные кнопки модуля и выводить в монитор порта номер кнопки к которой произошло касание. Так же в момент касания кнопки сигнал прерывания выводится на вывод D13 платы Ardunio.

-4

Комбинированный режим работы

Вы этом примере активна одна сенсорная кнопка под номером 0, а вывод 11 используется как цифровой выход, к нему подключен светодиод отображающий режим работы сенсорной кнопки.

-5

Скетч - http://rcl-radio.ru/?p=131456#:~:text=%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D1%81%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%BD%D0%BE%D0%B9%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D0%B8.-,%23include%20%3CMPR121.h%3E%20%C2%A0//%20http%3A//forum.rcl,.digitalWrite(11%2Ck0)%3B%0A%20%C2%A0%C2%A0%C2%A0%7D%0A%7D,-%D0%9F%D1%80%D0%B8%20%D0%BA%D0%B0%D1%81%D0%B0%D0%BD%D0%B8%D0%B8%20%D1%81%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D0%BD%D0%BE%D0%B3%D0%BE

При касании сенсорного контакта 0, загорается светодиод, при повторном касании светодиод гаснет.

Расширитель порта

В этом примере сенсорные контакты работают как расширитель порта, один контакт используется как цифровой вход (с внутренним подтягивающим резистором), а другой как выход.

-6

Скетч - http://rcl-radio.ru/?p=131456#:~:text=%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B9%20%D0%BA%D0%B0%D0%BA%20%D0%B2%D1%8B%D1%85%D0%BE%D0%B4.-,%23include%20%3CMPR121.h%3E%20%C2%A0//%20http%3A//forum.rcl,%2C%20LOW)%3Bdelay(200)%3B%7D%0A%7D,-%D0%9F%D1%80%D0%B8%20%D0%BD%D0%B0%D0%B6%D0%B0%D1%82%D0%B8%D0%B8%20%D0%BD%D0%B0

При нажатии на кнопку загорается светодиод, при повторном нажатии на кнопку светодиод гаснет.

Режим PWM

В этом примере вывод сенсорной кнопки используется как выход ШИМ сигнала.

-7

Скетч - http://rcl-radio.ru/?p=131456#:~:text=%D0%B2%D1%8B%D1%85%D0%BE%D0%B4%20%D0%A8%D0%98%D0%9C%20%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D0%B0.-,%23include%20%3CMPR121.h%3E%20%C2%A0//%20http%3A//forum.rcl,)%3B%0A%20%C2%A0%C2%A0%C2%A0delay(10)%3B%0A%20%C2%A0%7D%0A%7D,-%D0%A1%D0%B2%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D0%BE%D0%B4%20%D0%B2%20%D1%8D%D1%82%D0%BE%D0%BC

Светодиод в этом примере медленно меняет свою яркость от минимального значения до максимального и наоборот.

Форум — http://forum.rcl-radio.ru/viewtopic.php?pid=9329#p9329