Teensy 3.1 – dzień II – uruchomienie i programowanie

Dziś o tym jaka jest filozofia programowania Teensy.

Do programowania Teensy potrzebujesz przewodu Micro USB

image

Po podłączeniu Teensy pierwszy raz do komputera, uaktywnia się domyślny program. Mruga wbudowaną diodą świecącą. Dzięki temu wiesz, że twoje Teensy działa.

image

By programować Teensy potrzebujesz Arduino IDE 1.0.5 i Teensyduino.
Teensyduino to program modyfikujący Arduino IDE, żeby współpracowało z Teensy.

Ściągasz je ze stron:

Najpierw instalujesz Arduino IDE w komputerze, a potem Teensyduino.

Do instalacji Teensyduino potrzebne są prawa Administratora. Dlatego na pliku instalatora musisz kliknąć prawym klawiszem myszy i wybrać w menu opcję “Uruchom jako Administrator”.

Na początku program instalatora wygląda tak:

image

Klikasz przycisk Next i instalator informuje, że nie ma zainstalowanych sterowników do obsługi komunikacji Serial. Dzięki nim możesz podglądać w Monitorze portu szeregowego to co program wysyła przez “Serial.print();”.

image

Kliknięcie w przycisk Next zainstaluje sterownik.
Kliknięcie na “Skip Driver Install” pominie instalację sterowników. Ponieważ są one potrzebne, naciśnij Next.

W następnym oknie wybierasz miejsce na dysku, gdzie zainstalowałeś Arduino IDE.

image

U mnie jest to D:programyArduino-1.0.5-r2

image

Naciskasz Next. W następnym oknie wybierasz biblioteki. Każda z nich odpowiada za obsługę jakiegoś urządzenia przez Teensy.

image

Ja wybrałem wszystkie, klikając w All.

Po kliknięciu w Next, instalator pyta się czy rozpocząć instalację plików.

image

Jeśli się na to zdecydowałeś, naciśnij Install

image

Po zainstalowaniu Teenstyduino pojawia się prosty samouczek.

image

Informuje on, by po pierwszym uruchomieniu przerobionego Arduino IDE z jakimś szkicem, nacisnąć przycisk Weryfikacji programu, a potem przycisk na płytce Teensy.

Jeśli instalacja przebiegła prawidłowo, to po uruchomieniu Arduino IDE w menu Narzędzia -> Board będziesz miał do wyboru płytki z rodziny Teensy.

image

Tu trzeba wybrać posiadany model, czyli Teensy 3.1.

W menu Narzędzia -> USB Type wybierasz jaką rolę będzie pełniło Teensy w twoim programie.

image

Serial – Teensy w takim przypadku emuluje port szeregowy COM: przez USB. Pozwala to na używanie obiektu Serial w programie i zwracanie różnych komunikatów przez Monitor portu szeregowego.

Keyboard + Mouse + Joystick – sprawia, że Teensy będzie udawało klawiaturę, mysz i joystick. Po użyciu odpowiedniej biblioteki możesz programem z płytki Teensy wysyłać skróty klawiaturowe, ruchy myszy i kliknięcia oraz emulować joystick. Czyli zrobić własny kontroler do gry lub programów.

Serial + Keyboard + Mouse + Joystick – to tryb w którym Teensy oprócz klawiatury, myszy i joysticka dodatkowo emuluje port szeregowy COM:. Można dzięki temu oprócz sterowania grą przez standardowe peryferia, komunikować się z płytką wysyłając do Teensy jakieś informacje.
Jest to przydatne, gdy robisz panel do gry i oprócz przycisków sterujących, chcesz mieć wyświetlacze prezentujące informacje z gry.
Jak w opisanych niedawno projektach paneli do KSP.
Taka konfiguracja może się też przydać cziterom farmiącym golda w Diablo 😉

MIDI – to tryb w którym Teensy udaje urządzenie muzyczne MIDI. Pozwala to sterować programami do tworzenia muzyki i udawać instrument.

Raw HID – to tryb w którym mamy dostęp do struktur interfejsu HID. Tryb ten pozwala na komunikację z aplikacjami Metro w Windows 8 i Windows Phone 8. Ponieważ w ich API zrezygnowano z interfejsu Serial.

Flight Sim Controls – ten tryb pozwala na komunikację z symulatorem lotu X-Plane. Dzięki niemu możesz z Teensy zrobić element kokpitu samolotu, którego przyciski będą reagowały na instrumenty pokładowe w symulatorze lotu.

W menu Narzędzia -> CPU Speed masz do wyboru częstotliwość z jaką będzie działał procesor.

image

Zakres zegara procesora można ustawić od 2 do 96 MHz w zależności od potrzeb. Im mniejsza częstotliwość, tym kontroler mniej zużywa prądu.
Częstotliwości poniżej 24 MHz nie obsługują komunikacji USB.
Częstotliwość 96 MHz to przetaktowanie procesora. Można jej użyć, gdy program zbyt wolno coś oblicza.

W menu Narzędzia->Keyboard Layout ustawiasz język klawiatury, którą emuluje Teensy. Ma to związek z przypisaniem liter do kodów klawiszy.

image

Dla naszego regionu najlepszym będzie standardowy US English albo US International.

Programy na Teensy pisze się tak samo jak na Arduino. Tu też zaczyna się od 2 funkcji “setup” i “loop”. Funkcja setup uruchamia się tylko raz na początku działania programu. Funkcja loop uruchamia się ciągle od nowa.

Na początek wpisałem pusty program. Chciałem zobaczyć ile taki zajmuje.
W ostatnim oknie instalatora Teensyduino, samouczek napisał by przy pierwszym programie wcisnąć przycisk “Weryfikuj”.

Po jego wciśnięciu pojawia się okno programowania Teesny. Pisze nam, żeby wcisnąć przycisk na płytce by zacząć programowanie.

Po jego wciśnięciu program załadował się w ułamku sekundy, a LED na płytce przestał mrugać. Stało się tak dlatego, bo nowy program niczego nie robi.

Pusty program zajmuje około 13 kB. Wielkość dlatego jest tak duża, bo doliczony jest do niej rozmiar programu rozruchowego. Zajmuje się on programowaniem płytki, ustawieniem USB i wszystkich interfejsów kontrolera.

Ten tajemniczy przycisk do programowania to nie jest Reset. Teensy działa tak, że po podłączeniu zasilania od razu włącza się program użytkownika. Przycisk wyłącza program użytkownika i przełącza płytkę w tryb programowania.

Ma to pewną praktyczną zaletę. Jeśli twój program źle działa i zablokuje port USB albo kontroler, to wciskasz przycisk i wszystko się odblokowuje, a ty możesz wgrać działający program.

W Arduino nie ma takiego trybu i zdarza się, że Arduino Leonardo może się zablokować w wyniku złego programu na tyle, że programator go nie pozna ;-).
W Teensy 3.1 nie ma tego problemu.

Dla porównania napisałem standardowy program mrugający wbudowaną diodą co 100 ms.

Ilość zajmowanej pamięci Flash zwiększyła się o 40 bajtów. Można przyjąć, że ten kawałek kodu właśnie tyle zajmuje.

Rzeczy które pozytywnie mnie zaskoczyły to szybkość programowania przez USB. Dzieje się to tak szybko, że nie zdążyłem odwrócić wzroku. Druga to przycisk do programowania, który chroni przed skutkami działania złego programu.

sprae

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.