ZL27ARM: STM32 i klawiatura bezstykowa

 

Jednym z kilku możliwych sposobów wyposażenia urządzenia w klawiaturę bezstykową jest zastosowanie wyspecjalizowanego kontrolera, może to być na przykład jeden z układów produkowanych przez firmę Atmel. Do przykładowej aplikacji wybrano scalony kontroler AT42QT1060, który umożliwia  zbudowanie w pełni funkcjonalnej klawiatury zbliżeniowej zawierającej od dwóch do sześciu przycisków. Dodanie „klawisza” wymaga dołożenia do otoczenia kontrolera jedynie dwóch elementów zewnętrznych. Schemat elektryczny kompletnego interfejsu klawiatury dołączonego za pomocą I2C do zestawu ZL27ARM pokazano na rys. 1.

 

 

Rys. 1. 
Schemat kontrolera klawiatury bezstykowej

Rys. 1. Schemat kontrolera klawiatury bezstykowej

 

 

Interfejs klawiatury zbudowane przy użyciu opisywanego sterownika może pracować w dwóch trybach. Pierwszy z nich to tryb pracy samodzielnej (stand-alone), w którym stan danego przycisku jest „przepisywany” na odpowiadające mu wyjście sterujące LED. W tym trybie nie ma potrzeby korzystania z mikrokontrolera.
Drugi tryb pracy – z wykorzystaniem interfejsu I2C – umożliwia komunikację współpracującego z klawiaturą mikrokontrolera poprzez interfejs szeregowy, pozwalając dowolnie ustawiać czułość przycisków, korzystać z trybów obniżonego poboru mocy oraz swobodnie (do własnych celów) używać siedmiu linii I/O sterujących np. pracą LED. Zmiana trybu pracy wymaga przełożenia zworek JP1 i JP2: w konfiguracji pokazanej na rys. 1 układ AT42QT1060 pracuje w drugim trybie, konieczne jest więc zastosowanie mikrokontrolera.
Podczas wykorzystywania szeregowego interfejsu komunikacyjnego szczególną uwagę należy zwrócić na adres urządzenia. Producent podaje, że ma on wartość 0x12. Jednakże, w przypadku posługiwania się biblioteką STM32F10x Standard Peripherals Library, w momencie jego wpisywania należy wprowadzić liczbę 0x24. Wynika to z niezgodności konwencji podawania adresów urządzeń wykorzystujących magistralę I2C ze specyfikacją protokołu kompatybilnego z I2C, w którym de facto komunikuje się układ AT42QT1060, co szczegółowo opisano w nocie katalogowej dostarczanej przez firmę Atmel.
Zachęcamy do pobrania przykładowego oprogramowania. Aplikacja ta dokonuje konfiguracji układu scalonego AT42QT1060, a następnie w nieskończonej pętli, zgodnie ze stanem bieżącym przycisków, wysterowuje diody LED znajdujące się na pokładzie zestawu uruchomieniowego ZL27ARM. Wraz z nią dostarczono podstawową wersję biblioteki pozwalającą wykorzystać klawiaturę zbliżeniową we własnych projektach bazujących na mikrokontrolerach z rodziny STM32.
Rafał Nowak i Łukasz Pisuła
www.cstp.pl

 

Podstawowe właściwości układu AT42QT1060:

  • kontroler klawiatury zbliżeniowej zawierającej od 2 do 6 przycisków,
  • szeroki zakres napięć zasilających od 1,8V do 5,5V,
  • 7 linii I/O z możliwością pracy w trybie PWM w celu bezpośredniego sterowania diodami LED,
  • 2 tryby pracy: I2C oraz stand-alone.

Do pobrania

O autorze