Одним из нескольких возможных способов оснащения устройства бесконтактной клавиатурой является использование специализированного контроллера, это может быть, например, одна из микросхем производства Atmel.
Для примера использования был выбран встроенный контроллер AT42QT1060, который позволяет создать полнофункциональную бесконтактную клавиатуру с двумя-шестью кнопками. Добавление «кнопки» требует подключения только двух внешних элементов к контроллеру. Электрическая схема полного интерфейса клавиатуры показана на рис. 1.
Рис. 1. Схема бесконтактного контроллера клавиатуры
Интерфейс клавиатуры, построенный с использованием данного драйвера, может работать в двух режимах. Первым из них является автономный режим, в котором состояние кнопки «перезаписывается» на соответствующий светодиодный выход управления. В этом режиме нет необходимости использовать микроконтроллер.
Второй режим работы — с использованием интерфейса I2C — обеспечивает связь микроконтроллера, взаимодействующего с клавиатурой, через последовательный интерфейс, позволяя вам свободно устанавливать чувствительность кнопок, использовать режимы пониженного энергопотребления и свободно (в ваших собственных целях) использовать семь линий ввода / вывода, контролирующих, например, работу светодиодов.
Изменение режима работы требует переключения перемычек JP1 и JP2: в конфигурации, показанной на рис. 1, система AT42QT1060 работает во втором режиме, поэтому необходимо использовать микроконтроллер.
При использовании интерфейса последовательной связи особое внимание следует уделять адресу устройства. Производитель заявляет, что он имеет значение 0x12. Однако, если вы используете стандартную периферийную библиотеку STM32F10x, вы должны ввести число 0x24 при ее вводе.
Это связано с несоответствием соглашения об адресе для устройств, использующих шину I2C, со спецификацией протокола, совместимого с I2C, по которому система AT42QT1060 де-факто обменивается данными, как подробно описано в примечании к каталогу, предоставленном Atmel.
Мы рекомендуем вам загрузить образец программного обеспечения. Это приложение конфигурирует интегральную схему AT42QT1060, а затем в бесконечном цикле в соответствии с текущим состоянием кнопок управляет светодиодами на плате разработки .
Основные свойства микросхемы AT42QT1060:
- контроллер сенсорной клавиатуры, содержащий от 2 до 6 кнопок,
- широкий диапазон напряжений питания от 1,8 В до 5,5 В,
- 7 линий ввода / вывода с возможностью работы в режиме ШИМ для прямого управления
- 2 режима работы: I2C и автономный.