Еще один модуль на м/с TTP229...

Отличается от модуля 4х1 тем, что передает данные по последовательному интерфейсу, сходным с SPI.
Если использовать модуль в режиме 4х2, то данные можно читать с выходов OUT1-OUT8 в "параллельном" виде.
В этом режиме будут задействованы только "кнопки" 1...8.
При установке перемычки JP3 (см. ниже, отмечена красным) читаются все "кнопки".
В обоих случаях при касании двух соседних "кнопок" на выходе получим значение первой "нажатой", т.е. совместное считывание исключено.

Подключение:
SCL - вход тактирования
SDO - выход сигнала "нажатия" (DV) и передача данных.
Модуль довольно медлительный, один сеанс - более 30 мс, поэтому тактировать можно "вручную", без использования таймеров. 
Код для работы с модулем по последовательному интерфейсу, 16 кнопок, активный уровень сигналов Low.
Свернутый текст
Config PORTA.0 = Output ' Тактирование модуля
PORTA.0 = 1
Config PORTD.2 = Input ' Прием сигналов от модуля
CLOCK Alias PORTA.0 ' Определение бита CLOCK
DIN Alias PIND.2
Const tc = 250 ' Длительность задержки при тактировании
Dim key As Word ' Считанное значение
'====================================================================
knop:
If PIND.2 = 0 Then Goto knop ' Ждем окончания сигнала DV от модуля
Waitus 10
For a = 0 To 15
CLOCK = 0 ' Активный фронт тактирования
Waitus tc ' Задержка
key.a = DIN ' Чтение бита данных
CLOCK = 1
Waitus tc ' Задержка
Next a
Waitms 2 ' Задержка-сигнал окончания сеанса
Хочется отметить, что модуль адекватно реагирует, если к сенсорным площадкам будут припаяны удлиняющие проводники до 40см (длиннее не пробовал).
Обязательно припаяны (!), простых зажимов недостаточно.
Прокладка этих проводников не критична за одним моментом - не прокладывать жгутом.
А свободная прокладка, хоть с перекрещиванием - без проблем.
PS. На очереди еще модуль 4х2 на TTP226... 
Отредактировано Nord (2019-04-22 00:27:52)