Platforma MINDSTORMS od samego początku opierała swoje działanie o graficzne środowisko programistyczne. Wykorzystując samouczki i eksperymenty mozna było szybko opanować podstawy programowania robotów. Prędzej lub później nadchodzi jednak taki moment, że ikony przestają wystarczać. Pojawia się naturalna potrzeba programowania robotów w jednym z języków tekstowych. Na rynku dostępnych jest kilka róznych rozwiązań, zarówno komercyjnych, jak i darmowych. Proponujemy zacząć przygodę od tych drugich, można przetestować kilka różnych środowisk i wybrać optymalne dla siebie i uczniów.
(skrótowy) Przegląd środowisk
Quorum
Przygodę z programowaniem tekstowym najprościej zacząć od Quorum. Jest to - jak twierdzą sami autorzy - język programowania "oparty na dowodach". W dużym uproszczeniu chodzi o to, że twórcy postanowili wykorzystać wiedzę o tym, jak tworzone są języki programowania do stworzenia idealnego środowiska programistycznego. Wszystko zaczęło się od języka programowania przeznaczonego dla niewidomych lub niedowidzących uczniów. Gdy Quorum zyskał większą popularność, jego autorzy rozszerzyli go tak, aby działał dla wszystkich. Quorum znajduje zastosowanie w wielu sytuacjach, takich jak tworzenie gier, przetwarzanie dźwięku, itd. Może być używany w klasie lub w celach komercyjnych bez żadnych opłat.
Quorum jest językiem obiektowym, o składni czerpiącej z takich języków jak java, Ruby i python. Konfiguracja oprogramowania dla robota i instalacja środowiska nie są skomplikowane, do komunikacji komputer - EV3 słuzy kabel USB.
PLUSY
- nieskomplikowana instalacja
- wsparcie dla narzędzi ułatwiających dostęp (środowisko zintegrowane z NVDA)
- prosta składnia
- IDE oparte o zmodyfikowane NetBeans
- możliwość pisania prostych programów z poziomu przeglądarki
- duża skalowalność i spore możliwości języka
MINUSY
- nieduża społeczność użytkowników
- wymaga instalacji odpowiedniej wersji lejOS na kostce
Microsoft MakeCode
Drugim środowiskiem, które może świetnie nadać się do rozpoczęcia przygody z tekstowymi językami programowania jest platforma Microsoft MakeCode. Darmowe środowisko programistyczne dostępne jest poprzez przeglądarkę, zawiera w sobie edytor blokowy (podobny bardzo do języka Scratch), tekstowy (JavaScript) oraz interaktywny symulator robota. Do pracy z EV3 wymaga zainstalowania na robocie firmware w wersji minimum 1.10E.
PLUSY
- praca w przeglądarce
- spore możliwości języka
- przygotowane przez Microsoft i LEGO Education samouczki
- proste przejście od bloków do JavaScript
- kompatybilny z kilkoma różnymi robotami i środowiskiem Minecraft
MINUSY
- wymaga konkretnej wersji firmware na kostce EV3, czasami powoduje to problemy na starszych wersjach Windows
- wymaga stałego połączenia z internetem, brak wersji offline
- język JavaScript to nie Java
Python
Prosta składani i ogromne możliwości powodują, że zainteresowanie wykorzystaniem języka Python w edukacji od kilku lat rośnie. Najprostszym sposobem na połączenie robotyki i języka Python jest środowisko ev3dev. Wczytujemy na kartę microSD zmodyfikowany system Debian Linux i uruchamiamy przy jego pomocy kostkę EV3. Otrzymujemy w pełni działający komputer, z którym możemy połączyć się przez sieć (lub kablem USB) i rozpocząć przygodę. Oprócz języka Python środowisko pozwala na pracę w kilku innych językach (wymieńmy tylko kilka najpopularniejszych: C, C++, Java, Go, Ruby i Perl). Pewnym wyzwaniem dla początkującego uzytkownika może być skonfigurowanie całego systemu i środowiska do programowania, ale w zamian otrzymujemy potężne narzędzie.
PLUSY
- ogromne możliwości systemu
- duża społeczność i gotowe samouczki
- bogaty zbiór bibliotek wspomagających programistę
- obsługa wielu róznych urządzeń USB (ułatwia to np. podłączenie EV3 do sieci albo połączenie EV3 - WeDo 2.0)
MINUSY
- relatywnie trudniejsza konfiguracja (przyda się podstawowa znajomość systemów linuksowych)
- brak dedykowanego GUI, są wtyczki wspomagające programowanie np. w Visual Studio Code
Zestawienie pokazane powyżej nie wyczerpuje w żaden sposób tematu programowania tekstowego robotów EV3. Nie wspomielismy o prawdziwym weteranie w tej dziedzinie - języku Java i środowisku lejOS, nie pojawił się też BricxCC, Roberta Open Lab (pozwalające programować EV3 blokowo lub w języku Python) oraz kilka innych środowisk. Dajcie znać, jeśli jesteście zainteresowani jakimś konkretnym rozwiązaniem, spróbujemy przyjrzeć mu się z bliska.
Testowane rozwiązania