Компонент 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 в комплект поставки не входит, но у нас в магазине есть его разновидности.
Печатная плата
Схема
Список пинов
Пин | Тип |
---|---|
VCC | мама |
VCC | папа |
VCC | папа |
3.3V | мама |
R1 | мама |
R0 | мама |
C0 | мама |
C1 | мама |
C2 | мама |
C3 | мама |
C4 | мама |
C5 | мама |
C6 | мама |
C7 | мама |
C8 | мама |
C9 | мама |
R2 | мама |
R3 | мама |
R4 | мама |
R5 | мама |
R6 | мама |
R7 | мама |
RST | мама |
INT | мама |
SDA | мама |
SDA | папа |
SDA | папа |
SCL | мама |
SCL | папа |
SCL | папа |
GND | мама |
GND | мама |
GND | папа |
GND | папа |
Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.