Powrót

Moduł klawiatury dotykowej o 16 polach

Klawiatury dotykowe stają się elementami coraz bardziej przydatnymi w zastosowaniach hobbystycznych. O ile w przypadku modułów o mniejszej liczbie sensorów dotykowych istnieje możliwość bezpośredniego ich użycia, to rozwiązanie o 16 polach wymaga zastosowania mikrokontrolera.

Czujniki dotykowe zdobywają coraz większą popularność. Pozwalają utworzyć niewielkie klawiatury stając się konkurencją dla często stosowanych klawiatur telefonicznych (również o 16 przyciskach). W niewielkich systemach mikroprocesorowych (o niezbyt dużych zasobach przede wszystkim pinów portów) mają istotną przewagę nad tradycyjnymi: wystarczą 2 piny do obsługi dotykowej w przeciwieństwie do stykowej telefonicznej, wymagającej 8 pinów. Aby sprawnie posługiwać się takim modułem warto zapoznać się z jego budową i funkcjonalnością.

Moduł klawiatury

Tytułowy moduł o 16 polach dotykowych (opisany na PCB jako HW-136) bazuje na układzie scalonym TTP229 (rysunek 1).

Rysunek 1

Pozwala on na obsługę na dwa sposoby: poprzez wbudowany interfejs szeregowy (dostępny na złączu P3 jako SCL, SDO) oraz bezpośrednio jako wyjścia OUT1…OUT8 (tu występuje ograniczenie jedynie do pierwszych 8 pól). Poszczególne styki mają następujące znaczenie:
• VCC – zasilanie modułu, dopuszczalne napięcie: 2,4 V…5 V,
• GND – potencjał odniesienia dla zasilania (0 V) oraz wszystkich sygnałów logicznych,
• SCL – sygnał zegarowy w komunikacji modułu z mikrokontrolerem,
• SDO – sygnał danych w komunikacji modułu z mikrokontrolerem,
• OUT1…OUT8 – statusy dotknięcia pól pierwszych 8 sensorów.

Moduł klawiatury ma możliwość konfiguracji za pomocą odpowiedniej liczby zworek. Nie ma możliwości zmian konfiguracyjnych poprzez interfejs szeregowy SCL, SDO – tu możliwą operacją jest jedynie odczyt statusu dotknięć sensorów. Z praktycznego punktu widzenia, aby mieć możliwość zmian wybranych cech, warto w miejsce opisane na rysunku 1 jako P1 oraz P2 wlutować dwurzędowe goldpiny, aby za pomocą jumperków zwierać ze sobą odpowiednie pary styków. Każda para jest określona jako TP0TP7 (rysunek 2). Brak zworki oznacza stan domyślny.

Rysunek 2

Znaczenie poszczególnych par konfiguracyjnych jest następujące (wartość domyślna to odpowiednie piny nie są połączone):
• TP0 – konfiguruje wyjścia OUT1…OUT8, może być typu otwarty dren (piny zwarte) lub wyjście typu CMOS (wartość domyślna).
• TP1 – konfiguruje stan w obrębie OUT1…OUT8, jakim jest sygnalizowane wykrycie dotknięcia odpowiedniego pola sensora, piny zwarte determinują sygnalizację dotknięcia stanem logicznego zera (wartość domyślna to sygnalizacja jedynką logiczną),
• TP2 – zwarcie pinów aktywuje obsługę 16 pól sensorów oraz komunikację poprzez SCL oraz SDO (status dotknięcia nie jest sygnalizowany na wyjściach OUT1…OUT8), rozwarcie pinów (wartość domyślna) ogranicza klawiaturę do pierwszych 8 pól sensorów z sygnalizacją na wyjściach OUT1…OUT8 (można nadal obsługiwać przez mikrokontroler jako klawiaturę 8-pinową, wymaga 8 cykli pętli zamiast 16, jak jest zaprezentowane dalej w oprogramowaniu),
• TP3, TP4 – określa możliwość dekodowania kilku dotknięć, stan otwarty obu par konfigurujących (domyślny) oznacza dekodowanie pojedynczych dotknięć,
• TP5 – determinuje częstotliwość próbkowania, co jednocześnie wpływa na bardziej zaawansowane zarządzanie energią, piny zwarte oznaczają większą częstotliwość próbkowania (około 64 Hz) i czas reakcji klawiatury wynosi około 100 ms, brak połączenia (stan domyślny) – częstotliwość próbkowania wynosi 8 Hz i czas reakcji około 200 ms,
• TP6 – wpływa na czas, przez jaki czujnik dokonuje pomiaru pojemności w jednym cyklu, zwarcie pinów oznacza, że czas pomiaru jest skrócony do 2 ms, ale jest zmniejszona odporność na szum elektryczny, rozwarcie styków (stan domyślny) oznacza czas pomiaru około 4 ms, jednak zapewnia większą stabilność i mniejszą podatność na zakłócenia,
• TP7 – para pinów przeznaczona do ochrony układu przed zablokowaniem w przypadku stałej detekcji dotyku pola sensora (np. gdy położono na nim przedmiot lub panel został zalany płynem), piny połączone ograniczają czas wciśnięcia do 80 sekund, brak połączenia pinów (stan domyślny) oznacza, że czas wciśnięcia jest nielimitowany.

Piny konfiguracyjne TP3 i TP4 pozwalają określić tryb pracy z detekcją pojedynczych pól lub jednoczesną detekcję kilku dotknięć sensorów. Rozwarcie obu zworek (stan domyślny) determinuje tryb pracy z wykrywaniem pojedynczych dotknięć (Single-Key). Możliwe inne kombinacje to:
• TP3 rozwarte, TP4 zwarte – określa tryb bez ograniczeń, można wcisnąć dowolną liczbę klawiszy jednocześnie (Multi-Key),
• TP3 zwarte, TP4 rozwarte – określa tryb mieszany: pola od 1 do 8 działają w trybie Multi-Key, a pola od 9 do 16 w trybie Single-Key,
• TP3 zwarte, TP4 zwarte – określa tryb grupowy: pola są podzielone na pary lub sekcje, blokując się nawzajem tylko w obrębie własnej grupy.

Podobnie jak w przypadku modułów z mniejszą liczbą pól sensorów, wszelkie zmiany konfiguracji wymagają odłączenia na krótki czas od zasilania, układ rozpoznaje własną konfigurację jedynie w chwili włączenia zasilania i z tymi parametrami pracuje do wyłączenia.
(…)

——– ciach! ——–

To jest tylko fragment artykułu, którego pełna wersja ukazała się w sierpniowym numerze czasopisma Zrozumieć Elektronikę (ZE 8/2026). Pełną wersję czasopisma znajdziesz pod tym linkiem. Natomiast niepełna, okrojona wersja, pozwalająca zapoznać się z zawartością numeru ZE 8/2026 znajduje się tutaj.

Andrzej Pawluczuk
apawluczuk@vp.pl

Uwaga! Wskazówki, jak nabyć pełne wersje dowolnych numerów ZE znajdują się na stronie:
https://piotr-gorecki.pl/n11.