LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

[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

SZYMON PANECKI urodził się 17 lutego 1985 roku w Milanówku. Tytuł inżyniera Elektroniki i Telekomunikacji, a następnie magistra inżyniera na Wydziale Elektroniki Politechniki Wrocławskiej uzyskał kolejno w roku 2008 i 2010. Ponadto tytuł inżyniera Informatyki na Wydziale Elektroniki Politechniki Wrocławskiej uzyskał w roku 2011. Szymon Panecki jest doświadczonym elektronikiem-konstruktorem, który w trakcie swojej zawodowej kariery koncentruje się na definiowaniu i projektowaniu (zarówno w warstwie sprzętowej jak i programowej) systemów wbudowanych opartych na mikrokontrolerach z rdzeniem ARM od różnych producentów, w tym przede wszystkim Infineon Technologies (rodzina XMC1000 i XMC4000), STMicroelectronics (STM32 i STR7), Freescale Semiconductor (Kinetis L) oraz Silicon Labs (EFM32 i Precision32). Obszarem jego szczególnego zainteresowania są systemy wykorzystujące czujniki środowiskowe (wilgotności, ciśnienia, temperatury) oraz przemysłowe i motoryzacyjne interfejsy komunikacyjne, głównie CAN. Szymon Panecki od wielu lat współpracuje z czasopismem "Elektronika Praktyczna" oraz portalem Mikrokontroler.pl, na łamach których publikuje liczne artykuły dotyczące swoich projektów, jak również nowości produktowych firm z branży półprzewodnikowej.