Jednym z powodów popularności Arduino jest dedykowane środowisko, które znacznie ułatwia pierwsze kroki z mikrokontrolerami.
Niestety prosty edytor ma swoje wady i odbiega od popularnych środowisk programistycznych. Na szczęście bardzo łatwo można zacząć pisać programy na Arduino w alternatywnym IDE.
Za nami testy popularnych zamienników monitora portu szeregowego z Arduino IDE, sprawdziliśmy też jak można rysować rozbudowane wykresy, które znacznie przewyższają możliwości domyślnej kreślarki. Możemy więc pójść krok dalej i zupełnie zrezygnować z Arduino IDE.
Czego dowiesz się z tego poradnika?
Wykonując kolejne kroki z tego poradnika pobierzesz, zainstalujesz i skonfigurujesz alternatywne środowisko dla Arduino. Dzięki niemu pisanie programów będzie znacznie wygodniejsze. Wszystko za sprawą m.in. wygodnego edytora, lepszego kolorowania składni oraz wbudowanym podpowiedziom.
PlatformIO - rozbudowane, lepsze środowisko.
Dla kogo?
Artykuł był pisany z myślą o osobach, które znają podstawy Arduino i zawsze korzystały z oryginalnego środowiska Arduino IDE, a teraz chciałby wykonać pierwsze kroki w kierunku innego edytora. Poradnik ten powinien również zainteresować osoby, które nie korzystają z Arduino. Opisywane środowisko współpracuje z większą liczbą platform. Wspierane są m.in. rozwiązania od następujących firm:
Czym jest PlatformIO?
Alternatywnych środowisk dla Arduino jest dużo, tym razem pora na PlatformIO, czyli środowisko, które w ciągu kilku ostatnich lat zyskało wielu zwolenników. Pisząc w skrócie: jest do narzędzie, które pozwala tworzyć oprogramowanie na wiele popularnych platform - nie tylko na Arduino. Twórcy nazywają to rozwiązanie ekosystemem dla IoT. Za jego pomocą można tworzyć programy jeszcze między innymi na Raspberry Pi, układy ESP oraz mikrokontrolery STM32.
Zarówno liczba obsługiwanych platform i płytek robi wrażenie:
Najważniejsze informacje o PlatformIO.
Instalacja PlatformIO: Atom vs. Visual Studio Code
PlatformIO nie jest samodzielnym programem. Jest to dodatek, który można zainstalować w formie rozszerzenia do jednego z dwóch popularnych środowisk programistycznych: Atoma oraz Visual Studio Code. Oba są darmowe i dość podobne. Porównanie możliwości PlatformIO w połączeniu z każdym z nich znaleźć można na stronie projektu - spoiler: wielkie różnicy nie ma, ale lepiej wybrać VSC.
Logo projektu PlatformIO.
Instalacja Visual Studio Code
Visual Studio Code to stosunkowo lekki, darmowy edytor udostępniany przez Microsoft. Dostępne są wersje na Windowsa, macOS oraz Linuksa. Domyślnie edytor ten jest przystosowany do wsparcia takich technologii jak JavaScript, TypeScript oraz Node.js. Jednak za pomocą odpowiednich rozszerzeń można wykorzystywać go np. do C++, C#, Pythona, PHP oraz oczywiście Arduino.
Nie jest wymagana żadna rejestracja, aktywacja, nie trzeba podawać też maila.
Instalacja Visual Studio Code.
Standardowy sposób instalacji.
Następnie uruchamiamy nowe środowisko, które powinno przywitać nas ekranem startowym zbliżonym do poniższego:
Nowa instalacja Visual Studio Code.
Jak skonfigurować PlatformIO?
Pora zainstalować rozszerzenie PlatformIO, które zamienia VSC w środowisko dedykowane IoT. W tym celu klikamy w ikonkę menu rozszerzeń (Extensions), wyszukujemy dodatek platformio-ide i klikamy przycisk rozpoczynający instalację.
Instalacja rozszerzenia.
Instalacja dodatku może potrwać kilka minut. Proces będzie odbywał się w tle, co będzie wskazywane przez mały komunikat w lewym dolnym rogu okna:
Instalacja dodatku w tle.
Po jego zakończeniu wyświetlona zostanie większa informacja. Kliknięcie przycisku Reload Now sprawi, że cały program zostanie przeładowany.
Przeładowanie środowiska po instalacji.
Po przeładowaniu powinna być widoczna nowa ikona PlatformIO (na pionowym pasku po lewej stronie). Jej kliknięcie uruchomi główne menu rozszerzenia, w którym można utworzyć nowy projekt lub wczytać projekt utworzony wcześniej w Arduino IDE.
Nowa ikona w menu środowiska.
Jeśli nowa ikonka się nie pojawi (lub szybko zniknie) to warto zrestartować program.
Pierwszy projekt Arduino w PlatformIO
Pora stworzyć pierwszy projekt w nowym środowisku. W tym celu klikamy New Project. W kreatorze wpisujemy nazwę projektu i z długiej listy rozwijanej (na szczęście można filtrować listę wpisując nazwę płytki) wybieramy naszą platformę - tutaj, dla przykładu, Arduino UNO. Wybieramy również framework, który w tym przypadku zostawiamy na domyślnym ustawieniu. Następnie możemy wybrać lokalizację plików lub zdecydować się na domyślne ustawienia (Dokumenty\PlatformIO\Projekcts\Nazwa_projektu).
Kreator nowego projektu.
Utworzenie pierwszego projektu wymaga podłączenia do internetu i może zająć kilka minut, w tym czasie pobierane są potrzebna narzędzia. Po kilku chwilach zobaczymy jednak nowy projekt:
Pierwszy program w nowym środowisku.
Specyfika projektu w PlatformIO
Warto w tym miejscu zwrócić uwagę na kilka elementów, które odróżniają projekt od tego, który powstałby w oryginalnym Arduino IDE. Po pierwsze, program piszemy w pliku main.cpp (od C++), zapominamy o rozszerzeniu ino.
Po drugie, każdy program Arduino musi zaczynać się od dodania pliku Arduino.h. Dlaczego jest to konieczne i co dokładnie robi ten plik można się dowiedzieć z lektury tej serii artykułów:
Wakacyjny upał ma czasem swoje zalety. Mając dosyć urlopu można poświęcić chwilę lub dwie na hobby, a nawet napisać mały…... Czytaj dalej »
Po trzecie, panelu po lewej stronie okna mamy dostęp do drzewka z wszystkimi plikami powiązanymi z danym projektem. Najważniejsze, aby wiedzieć, że:
główny kod programu umieszczamy w src/main.cpp,
biblioteki, które mają być prywatne (czyli dostępne tylko w ramach tego projektu) umieszczamy w katalogu lib,
informacje na temat konfiguracji projektu znajdują się w pliku platformio.ini.
Kompilacja i wgranie programu do Arduino
Pora "napisać" i wgrać nasz pierwszy program. Dla testu posłużmy się gotowym kodem demo, które odpowiada za proste miganie diodą. Do pliku main.cpp wklejamy poniższy kod:
/**
* Blink
*
* Turns on an LED on for one second,
* then off for one second, repeatedly.
*/
#include "Arduino.h"
// Set LED_BUILTIN if it is not defined by Arduino framework
// #define LED_BUILTIN 13
void setup()
{
// initialize LED digital pin as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
// turn the LED on (HIGH is the voltage level)
digitalWrite(LED_BUILTIN, HIGH);
// wait for a second
delay(1000);
// turn the LED off by making the voltage LOW
digitalWrite(LED_BUILTIN, LOW);
// wait for a second
delay(1000);
}
Następnie przechodzimy do kompilacji programu. W tym celu korzystamy ze skrótu CTRL+ALT+B lub klikamy odpowiednią ikonkę w lewym dolnym rogu środowiska. Jeśli wszystko przebiegnie poprawnie to zobaczmy nowe okno z takimi komunikatem:
Kompilacja programu.
Kolejny krok to oczywiście wgranie programu do Arduino. Nie musimy ręcznie wybierać portu COM. PlatformIO samodzielnie odnajdzie płytkę. Wystarczy kliknąć ikonkę "strzałki w prawo", która znajduje się w lewym dolnym rogu okna i program zostanie przesłany. Po chwili powinniśmy zobaczyć informacje o wgranym programie:
Wgrywanie programu do Arduino.
Jeśli wszystko przebiegło poprawnie to dioda w budowana w Arduino powinna od teraz migać.
Oczywiście, jeśli zajdzie taka potrzeba, to można ręcznie wybrać port COM, na którym jest Arduino. W tym celu należy wtedy wykorzystać odpowiednią zmienną w pliku platformio.ini, np.:
upload_port = COM1
Terminal
Jeśli nasz program komunikuje się z komputerem przez UART i nie chcemy rozbudowanego terminala to możemy skorzystać z terminala wbudowanego w VSC. Uruchamia się go klikając w ikonkę "wtyczki":
Uruchomienie wbudowanego terminala.
Gdzie są zalety nowego środowiska?
Za nami pierwszy projekt utworzony w PlatformIO. Gdzie są jednak jego zalety względem oryginalnego Arduino IDE? Jest ich całkiem dużo! Po pierwsze, dla wielu osób dużym atutem jest minimalistyczny, ciemny interfejs, który nie męczy oczu. Jeśli jednak domyślna kolorystyka edytora nie jest Waszą ulubioną to możecie ją zmienić korzystając z opcji Color Theme, która jest schowana pod ikonką koła zębatego (lewy dolny róg). Przykład VSC w jasnej skórce:
Inny szablon edytora.
Więcej ustawień edytora znaleźć można w menu Settings (pod ikonką koła zębatego).
Sprawdzanie składni programów
Dużym ułatwieniem, które pozwala zaoszczędzić czas jest sprawdzanie składni programu, które wykonywane jest po zapisaniu pliku. Przykładowo, na poniższym zrzucie ekranu widać podkreśloną na czerwono funkcję delay. Została ona zaznaczona, ponieważ w linijce z poprzednią instrukcją zabrakło końcowego średnika. Program sprawdzał kod, po digitalWrite spodziewał się średnika, a otrzymał delay, więc podkreślił je w ramach ostrzeżenia.
Podkreślenie linijki z błędem w programie.
Dodatkowo liczba znalezionych błędów pojawia się po lewej stronie okna (obok nazwy pliku) i w lewym dolnym rogu okna obok ikonki X (jej kliknięcie pokaże więcej informacji o błędach).
Podpowiadanie składni
Kolejnym ważnym ułatwieniem jest podpowiadanie składni. Podczas pisania kolejnych poleceń wyświetlane są podpowiedzi, które pasują do wpisanych fragmentów. Po propozycjach można się poruszać za pomocą strzałek. Dodatkowo, gdy nazwa funkcji jest już wpisana, otrzymamy kolejne podpowiedzi - tym razem dotyczące parametrów, które przyjmuje dana funkcja. Przykład:
Podpowiadanie składni w PlatformIO.
Oczywiście powyższy przykład jest skrajnie prosty. Podpowiadanie składni przydaje się dużo bardziej, gdy korzystamy z rozbudowanych bibliotek - wtedy łatwo pogubić się w nazwach funkcji/argumentach.
Instalacja dodatkowych bibliotek
Skoro mowa o bibliotekach to warto sprawdzić wbudowane narzędzie, która pozwala łatwo dodać nowe biblioteki. Znajdziemy je klikając ikonkę PlatformIO>PIO Home>Libraries. Jest tam wyszukiwarka bibliotek, system tagów oraz lista najpopularniejszych bibliotekach.
Wyszukiwarka bibliotek Arduino w PlatformIO.
Podsumowanie
To tylko mały wycinek zalet PlatformIO. Jeśli wpis Was zainteresował to polecam sprawdzić poradniki dotyczące pierwszych kroków z samym Visual Studio Code. Dużym udogodnieniem są również liczne wtyczki, które zwiększają możliwości tego środowiska. Więcej informacji na temat samego PlatformIO znaleźć można w bardzo dokładniej dokumentacji. Macie swoje ulubione wtyczki do opisywanego edytora? Korzystacie z zupełnie innego IDE? Dajcie znać w komentarzach!
Dołącz do 20 tysięcy osób, które otrzymują powiadomienia o nowych artykułach! Zapisz się, a otrzymasz PDF-y ze ściągami (m.in. na temat mocy, tranzystorów, diod i schematów) oraz listę inspirujących DIY na bazie Arduino i Raspberry Pi.
To nie koniec, sprawdź również
Przeczytaj powiązane artykuły oraz aktualnie popularne wpisy lub losuj inny artykuł »
Dołącz do 20 tysięcy osób, które otrzymują powiadomienia o nowych artykułach! Zapisz się, a otrzymasz PDF-y ze ściągami (m.in. na temat mocy, tranzystorów, diod i schematów) oraz listę inspirujących DIY z Arduino i RPi.
Trwa ładowanie komentarzy...