uDocs

Компонент Adafruit TCA8418 Keypad Matrix and GPIO Expander Breakout - STEMMA QT / Qwiic

Это расширитель GPIO, это драйвер матрицы клавиатуры... это Adafruit TCA8418 Keyboard Matrix и GPIO Expander Breakout - симпатичный и мощный I2C GPIO expander и драйвер матрицы клавиатуры! Этот чип довольно необычный, с возможностью выступать в качестве вашего мультиинструмента I2C для работы с клавиатурами, кнопками или светодиодами. Этот чип имеет всего 18 контактов ввода-вывода, 10 столбцов и 8 строк. Конечно, вы можете расположить их в виде матрицы кнопок, в общей сложности насчитывающей 80 переключателей. Или вы можете использовать любое подмножество в качестве отдельных входов или выходов GPIO. Самой приятной частью драйвера клавиатуры является то, что он имеет очередь событий из 10 элементов, поэтому, даже если вы не сразу доберетесь до прерывания, события нажатия и отпускания клавиш будут сохранены для вас. Поскольку это I2C, его очень легко использовать с любым микроконтроллером или компьютером. Расширители GPIO работают следующим образом: у вас есть плата с некоторым количеством GPIO, но этого недостаточно для вашего проекта - возможно, вам нужно больше кнопок или светодиодов. Вы могли бы перейти на плату с огромным количеством GPIO, такую как Grand Central, или вы могли бы перейти на одну из этих плат. Подключите его через I2C, и затем вы сможете отправлять / получать команды I2C для управления выводами GPIO для их записи и чтения. Это будет медленнее, чем прямой доступ к GPIO, но, возможно, это не имеет значения, если это займет миллисекунду вместо микросекунды. Вам нужны только два вывода I2C, и вы даже можете использовать порт I2C совместно с другими датчиками и устройствами. Черт возьми, вы даже можете добавить больше расширителей для масштабного управления вводом-выводом! Для расширения GPIO любой из 18 контактов может использоваться в качестве входа или выхода. Что касается входных сигналов, вы также можете установить дополнительный вывод подтягивания и прерывания на выводе INT для повышающихся или понижающихся сигналов. Есть также средство устранения помех, которое может добавить небольшую фильтрацию нижних частот для шумных тактильных переключателей. Что касается выходных сигналов, вы можете установить их на высокий или низкий уровень, что отлично подходит для базового управления светодиодами. Для управления матрицей клавиатуры имеется до 10 столбцов и 8 строк. Вы не можете преобразовать строку в столбец или наоборот. Подтягивания и сканирование матрицы выполняются за вас, а нажатия и отпускания клавиш записываются в очередь FIFO из 10 элементов. Конечно, вы можете настроить вывод прерывания при нажатии или отпускании клавиши, чтобы вам не приходилось опрашивать снова и снова.  Мы написали библиотеки Arduino и CircuitPython / Python для TCA8418, так что вы можете приступить к работе независимо от того, есть ли у вас Arduino-совместимый UNO или Raspberry Pi 4 - или что-то среднее. Существует также модуль драйвера ядра Linux, если вы хотите, чтобы он изначально поддерживался одноплатным компьютером. Чтобы ускорить работу, мы разработали изготовленную на заказ печатную плату в форм-факторе STEMMA QT, что упрощает взаимодействие с ней. В линии I2C встроен регулятор напряжения 3,3 В и переключение уровня, так что вы можете использовать его с микроконтроллерами 3 В или 5 В. Разъемы STEMMA QT с обеих сторон совместимы с разъемами SparkFun Qwiic I2C. Это позволяет вам выполнять беспаянные соединения между вашей платой разработки и TCA8418 или подключать ее к широкому спектру других датчиков и аксессуаров с помощью совместимого кабеля. Кабель QT в комплект поставки не входит, но у нас в магазине есть его разновидности.

Печатная плата

100%
маска
Adafruit TCA8418 Keypad Matrix and GPIO Expander Breakout - STEMMA QT / Qwiic pcb

Схема

100%
маска
Adafruit TCA8418 Keypad Matrix and GPIO Expander Breakout - STEMMA QT / Qwiic schematic

Список пинов

ПинТипОписание
VCCmale
VCCfemale
VCCfemale
3.3Vmale
R1male
R0male
C0male
C1male
C2male
C3male
C4male
C5male
C6male
C7male
C8male
C9male
R2male
R3male
R4male
R5male
R6male
R7male
RSTmale
INTmale
SDAmale
SDAfemale
SDAfemale
SCLmale
SCLfemale
SCLfemale
GNDmale
GNDmale
GNDfemale
GNDfemale