QTouch – atmelowskie sposoby na klawiatury bezstykowe
Programowo: QTouch Library
Atmel przygotował pakiet prekompilowanych bibliotek (w aktualnej wersji jest ich ponad 320 w różnych wariantach dla mikrokontrolerów AVR, w tym tinyAVR, megaAVR oraz XMEGA oraz 29 dla mikrokontrolerów AVR32: UC3A, UC3B), zapewniających obsługę klawiatur i nastawników bezstykowych wykorzystujących opatentowaną technologię transferu i porównywania ładunków, pozwalającą obsłużyć do 64 pól czujnikowych. W zależności od potrzeb, w projektach można wykorzystać pola „przyciskowe” (QTouch) lub nastawniki obrotowe lub suwakowe (QMatrix, z możliwością rozróżnienia do 256 wartości z wykorzystaniem 3 linii mikrokontrolera), a także łączyć różne elementy bezstykowe tworząc wygodny panel użytkownika. Pomimo implementacji programowej w klasycznych mikrokontrolerach, technologia detekcji zbliżenia palców jest taka sama jak w wyspecjalizowanych kontrolerach – nosi ona nazwę AKS (Adjacent Key Suppression), została opracowana przez firmę Quantum Research Group, która od stosunkowo niedawna jest własnością Atmela.
Rys. 2. Lokalizacja bibliotek QTouch w projekcie programistycznym
W archiwum z bibliotekami nie ma ich plików źródłowych, ale użytkownik ma możliwość ich parametryzowania, wpływając m.in. na czułość pól czujnikowych. W zależności od rodzaju obsługiwanego pola czujnikowego biblioteki QTouch wymagają na swoje potrzeby od 3 do 5 kB pamięci Flash oraz od 73 B do ok. 1 kB. W archiwum QTouch Libraries 4.3 producent zawarł także pliki przykładowe dla kompilatora AVR-GCC oraz kompilatora C firmy IAR, w tym kompletne pliki projektów. Na rys. 2 pokazano lokalizację plików bibliotecznych w typowym projekcie programistycznym, a na rys. 3 pokazano schemat funkcjonalny bibliotek QTouch Libraries.
Rys. 3. Schemat funkcjonalny bibliotek QTouch firmy Atmel
Biblioteki QTouch mają ujednolicone API, co minimalizuje konieczny nakład pracy ze strony użytkownika podczas nauki ich stosowania i ułatwia przenoszenie aplikacji pomiędzy różnymi mikrokontrolerami. Ze względu na dużą liczbę prekompilowanych plików o niezbyt czytelnych dla początkujących nazwach, Atmel przygotował wygodny w stosowaniu „przewodnik” w postaci arkusza XLS z dokładnym opisem funkcjonalnym poszczególnych bibliotek i ich wymogów w stosunku do mikrokontrolera.
Kompleksowa oferta Atmel oferuje programistom pakiet narzędzi o nazwie QTouch Suite, w skład którego wchodzą – poza bibliotekami QTouch Libraries – także program narzędziowy QTouch Studio, znane programistom korzystającym z mikrokontrolerów firmy Atmel AVR Studio oraz zestaw QT600 Development Kit (na zdjęciu poniżej). Dzięki temu konstruktorzy i programiści otrzymują kompleksowe rozwiązanie startowe i/lub ewaluacyjne, pozwalające szybko poznać tajniki klawiatur i nastawników bezstykowych. |
Tab. 2. Zestawienie typów scalonych kontrolerów klawiatur bezstykowych i obsługiwanych przez nie rodzajów interfejsów użytkownika
Typ układu | Pojedyncze przyciski | Do 10 przycisków | Powyżej 10 przycisków | Suwaki, nastawniki |
AT42QT1010 | + | – | – | – |
AT42QT1011 | + | – | – | – |
AT42QT1012 | + | – | – | – |
AT42QT113B | + | – | – | – |
AT42QT1040 | – | + | – | – |
AT42QT1060 | – | + | – | – |
AT42QT1110 | – | + | + | + |
AT42QT2160 | – | – | + | + |
QT60160 | – | – | + | – |
QT60240 | – | – | + | – |
QT60168 | – | – | + | – |
QT60248 | – | – | + | – |
QT60326 | – | – | + | – |
QT60486 | – | – | + | – |