[KROK-PO-KROKU] Prosta aplikacja interfejsu dotykowego na mikrokontrolerze Atmel SAM D20 (Cortex-M0+)
Stworzenie aplikacji krok po kroku
Teraz pokazane zostanie jak wykonać przykładową aplikację od podstaw, krok po kroku. Przyjmijmy, że aplikacja ta implementować ma interfejs użytkownika, który składać się będzie z dwóch czujników dotykowych. Będą to przyciski pojemnościowe płytki QT1 Xplained Pro QTouch Self Capacitance. Dodatkowo aplikacja wykorzystywać będzie dwie diody LED, które będą się włączać w warunkach gdy przyciski są naciśnięte i wyłączać gdy przyciski nie są naciśnięte. Diody LED wykorzystane zostanę również z płytki QT1 Xplained Pro QTouch Self Capacitance.
Na wstępie należy podłączyć platformę Xplained Pro do komputera. Po włączeniu środowiska Atmel Studio należy skorzystać z kreatora nowego projektu programistycznego (w menu głównym zakładka File -> New -> Project…) (rysunek 10).
Rys. 10. Sposób uruchomienia kreatora nowego projektu w Atmel Studio
Otworzone zostanie okno kreatora. W pierwszym kroku konieczne jest wybranie rodzaju projektu. Jako że naszą intencją jest stworzenie aplikacji z interfejsem dotykowym, należy wybrać typ projektu GCC C QTouch Executable Project C/C++. Wybór akceptowany jest przez wciśnięcie przycisku OK (rysunek 11).
Rys. 11. Krok pierwszy tworzenia projektu programistycznego – wybranie rodzaju projektu
W drugim kroku użytkownik definiuje interfejs dotykowy. Czynność ta polega na określeniu liczby i rodzaju (przycisk/suwak/kółko) wykorzystywanych czujników. Czujniki dodawane są do projektu poprzez wciśnięcie symbolu danego czujnika i wpisanie jego wielokrotności. Po zaakceptowaniu czujniki zostają wyświetlone w formie graficznych obiektów. Po najechaniu kursorem na dany obiekt i jego wybraniu wyświetlone zostają parametry czujnika (np. szerokość, grubość, nazwa) których wartość użytkownik może modyfikować. Zgodnie z założeniem tworzonej aplikacji do projektu dodane zostały dwa przyciski dotykowe (rysunek 12). Wszystkie ich parametry zostały ustawione wartościami domyślnymi.
Rys. 12. Krok drugi tworzenia projektu programistycznego – zdefiniowanie interfejsu dotykowego
Gdy interfejs dotykowy jest już zdefiniowany, w trzecim kroku kreator projektu zwraca się do użytkownika z prośbą o udzielenie odpowiedzi na dwa pytania, które pozwolą dopasować parametry pracy interfejsu do środowiska, w którym będzie on pracował. Pierwsze pytanie dotyczy wilgoci i wody, która może być obecna np. w urządzeniach takich jak zmywarki czy kuchenki. Drugie pytanie z kolei dotyczy potencjalnych źródeł zakłóceń obecnych bezpośrednio pod czujnikami (taka sytuacja może mieć miejsce np. w wyświetlaczach LCD) (rysunek 13).
Rys. 13. Krok trzeci tworzenia projektu programistycznego – określenie warunków w jakich pracuje interfejs dotykowy
W czwartym kroku użytkownik określa z jakiej metody akwizycji sygnału korzysta (Self Capacitance lub Mutual Capacitance) oraz jakiego mikrokontrolera używa. Aby łatwiej znaleźć dany model układu warto najpierw zawęzić listę rekordów. Aby to zrobić należy w polu Device Family wskazać nazwę rodziny mikrokontrolerów. W naszym przypadku rodziną mikrokontrolerów jest SAMD, a modelem ATSAMD20J18 (rysunek 14). Używaną metodą akwizycji sygnału jest Self Capacitance.
Rys. 14. Krok czwarty tworzenia projektu programistycznego – wybranie metody akwizycji sygnału oraz modelu mikrokontrolera