Systematyczne braki w magazynie producenta mówią jasno – zestaw do nauki STEAM i robotyki SPIKE Prime zyskał miano nieoficjalnego faworyta edukacji powszechnej. Czy jego zalety tak wyraźnie przeważają szalę?

Wszystkie aspekty zestawu intensywnie testowaliśmy przez ostatnie 2 lata. Nasza recenzja SPIKE Prime jasno pokazuje plusy, minusy i możliwości tego zestawu w kontekście nauki w szkole podstawowej. Przeczytaj ją zanim kupisz ten zestaw, żeby podjąć właściwą decyzję. Przeczytaj ją też jeśli już masz w szkole zestawy SPIKE Prime – i dowiedz się jaki potencjał dydaktyczny ma to narzędzie.

Jakie ma wady i zalety? Kiedy zacząć z nim naukę? Jak działa programowanie robotów w Pythonie? Czy warto kupować do szkoły cokolwiek innego?

Na te i inne pytania odpowiemy analizując po kolei każdy aspekt tego zestawu.

Skróconą recenzję zestawu SPIKE Prime możesz obejrzeć w formie filmu. Kliknij Play.

Początki

Chociaż SPIKE™ Prime #45678 od LEGO® Education jest na europejskim rynku już od 2020 roku, zestaw dopiero ostatnio zaczął zyskiwać na popularności.

Premiera przeszła bez większego echa między innymi z powodu pandemii. W atmosferze powszechnego zawieszenia stacjonarnych lekcji w szkole mało kto myślał o rozbudowywaniu pracowni robotyki. Początkowo pojawiały się też sprzeczne informacje od producenta dotyczące zalecanego wieku i zaawansowania użytkowników.

Zamieszanie jeszcze pogorszyła zapowiedź wycofania MINDSTORMS EV3, zestawu dla podobnej grupy wiekowej używanego przez szkoły i kluby robotyczne od wielu lat.

Ostatecznie uczniowie wrócili do szkół, a przekaz się wyklarował.

Oficjalnie SPIKE™ Prime stanowi część LEGO® Learning System, czyli idei nauczania STEAM w szkole poprzez realizację różnych projektów opartych o cztery różne zestawy LEGO oraz aplikację do programowania SPIKE. Jego esencję stanowi learning through play (nauka poprzez zabawę), czyli dobre i sprawdzone podejście do nauczania. Sam pomysł jest stary jak LEGO, ale tym razem został opakowany w nowe produkty i nowe slogany, atrakcyjne zwłaszcza dla rynku edukacji powszechnej.

Mniej oficjalnie SPIKE Prime to najważniejszy, najlepiej przemyślany i zdecydowanie najbardziej wartościowy element LEGO Learning System, zwłaszcza w kontekście nauki STEAM oraz robotyki w szkole podstawowej.

Skąd te śmiałe wnioski? Już wyjaśniamy.

Budowanie

Pudełko i rozpakowanie zestawu

Pierwszy w oczy rzuca się jasnożółty kolor pudełka. Jaskrawy kolor odróżnia serię SPIKE™ od wcześniejszych serii LEGO® Education, dzięki czemu raczej nie pomylimy pudełka. Co więcej, łatwo znajdziemy je na szkolnym zapleczu.

Podobnie jak w przypadku poprzednich produktów LEGO Education, plastikowe pudełko jest wytrzymałe i wygodne podczas pracy. Spełnia dwie główne funkcje: przechowywanie i sortowanie klocków. Jest dość duże, wymiarami identyczne z zestawem MINDSTORMS EV3 #45544, na szczęście pudełka można układać jedno na drugim. W środku znajdziemy sprawdzone i usprawnione rozwiązanie do sortowania elementów – dwie tacki z przegródkami oznaczonymi naklejkami.

Jednak najpierw trzeba rozpakować wszystkie klocki i części z torebek. Pójdzie szybko, bo większość elementów została już posegregowana na etapie pakowania, więc wystarczy wsypać zawartość do odpowiedniej przegródki tacki.

Rozpakowywanie SPIKE Prime - recenzja

Wcześniej zdecydowanie warto okleić tacki naklejkami zgodnie z instrukcją w pudełku, co ułatwi sortowanie i długofalowo usprawni proces budowania robotów. Dla części elektronicznych również przewidziano naklejki, jednak te służą do ich identyfikacji. Gdy pracujemy w szkole z wieloma zestawami naraz, możliwość identyfikacji konkretnej części jest nieoceniona – dlatego nie zapomnijcie ich nakleić!

Co zrobić z częściami z torebki oznaczonej numerem 13? Odłożyć na później. Torebka nr 13 zawiera dodatkowe części zapasowe, które mogą się złamać, nadwyrężyć, lub zgubić. Radzimy wyjąć je z zestawu i przechowywać w osobnym miejscu aż będą potrzebne.

Przygotowanie jednego zestawu do pracy, czyli oznaczenie przegródek i elektroniki naklejkami oraz uporządkowanie klocków, zajmuje mniej niż 30 minut. Można to zrobić razem z uczniami, a pozostałe 15 min. lekcji przeznaczyć na krótkie wprowadzenie do aplikacji programistycznej.

Pudełko SPIKE Prime

Klocki konstrukcyjne

Elementy konstrukcyjne stanowią trzon zestawu do robotyki. To one decydują jakie mechanizmy i roboty można skonstruować, oraz ile wysiłku i czasu trzeba włożyć w budowanie. Klocki stanowią potencjał zestawu. Źle dobrane mogą zepsuć cały produkt.

Na szczęście pod kątem edukacji i zajęć w szkole, klocki SPIKE Prime zostały dobrane rewelacyjnie.

Zestaw zawiera w sumie 528 części. Wystarczająco, by móc budować różne ciekawe konstrukcje, ale nie na tyle dużo, żeby się pogubić. Większość części to elementy konstrukcyjne serii Technic, gdzie system łączenia jest bardziej zaawansowany i wymaga pinów lub innego rodzaju łączników. Ponieważ zestaw jest rekomendowany dla dzieci w wieku minimum 10 lat, ten wybór jest uzasadniony.

Ważniejsze w kontekście prowadzenia lekcji ze SPIKE Prime jest to, że w środku pudełka znajdziemy kilka większych, już "złożonych" części, które znacząco przyspieszają proces budowania robotów. Są to na przykład płytka Technic Base Plate, która może stać się podstawą wielu konstrukcji, czy ramki Technic Frames w trzech różnych rozmiarach, dzięki którym szybko zbudujemy większe i bardziej stabilne modele w krótszym czasie.

Właśnie te części sprawiają, że SPIKE Prime to pierwszy zestaw do robotyki LEGO, z którym naprawdę da się przeprowadzić pełną lekcję robotyki (teoria, budowanie, programowanie, testowanie) w klasach 4-8 szkoły podstawowej w zaledwie 45 minut. Prawdopodobnie na tak krótkiej lekcji nie wykorzystamy pełni możliwości zestawu, ale uczniowie wyniosą z zajęć praktyczną wiedzę i zrealizują kompletny projekt podczas jednej godziny lekcyjnej, co ma nieocenione zalety dydaktyczne.

LEGO SPIKE Prime

Jednak jeżeli pracujemy z młodszymi dziećmi należy pamiętać, że łączenie większych elementów Technic jest nieco trudniejsze. Wymaga więcej koordynacji i siły, co czasem skutkuje przypadkowym uszkodzeniem klocków łączących. Aby uniknąć strat, warto zwrócić uwagę uczniów na konkretne kroki budowy, a niektórym po prostu pomóc.

Kolory klocków to kolejna trafiona decyzja producenta. Czy ważna? Tak!

Chociaż kolory w ogóle nie przekładają się na możliwości konstrukcyjne zestawu (oprócz współpracy z czujnikiem koloru), mają ogromne znaczenie dla użytkowników, dla dzieci. Ułatwiają rozróżnianie elementów w pudełku, kształtują estetykę modeli i pomagają dzieciom odpowiedzieć na pytanie: czy to narzędzie jest dla mnie? Bazowe kolory SPIKE Prime (czarny, szary, turkusowy, fioletowy i żółty) są klarowne, przyjazne, zachęcają do tworzenia niekonwencjonalnych połączeń i nie dyskryminują, co może przełożyć się na większe zainteresowanie uczniów robotyką.

Części elektroniczne

SPIKE Prime zawiera 7 elementów elektronicznych: 3 silniki, 3 czujniki i oczywiście hub.

Można powiedzieć, że to mało albo dużo – zależy z jakim innym rozwiązaniem porównujemy ten zestaw. Aby ocenić rzeczywistą wartość elementów elektronicznych narzędzia edukacyjnego trzeba pamiętać, że najważniejszy jest ich potencjał na zajęciach.

Jakie kryteria wziąć pod uwagę?

  1. Przede wszystkim elementy elektroniczne muszą działać zgodnie z opisem producenta.
  2. Powinny być łatwe w użyciu, czyli zamontowaniu i zaprogramowaniu.
  3. Powinny być trwałe i bezawaryjne.
  4. Dopiero po spełnieniu tych podstawowych kryteriów można analizować ich możliwości, jak na przykład zakres i czas pracy, wymiary, kompatybilność, zasięg, dopuszczalne sposoby łączenia, itd.

Części elektroniczne SPIKE Prime

Elementy elektroniczne SPIKE Prime spełniają wszystkie podstawowe kryteria - na szóstkę! Praca z nimi jest przyjemna i bezproblemowa, co jest szczególnie ważne w warunkach szkolnych przy ograniczonym czasie lekcji. Trzy czujniki w połączeniu z trzema silnikami pozwalają nadać konstrukcjom rozmaite zdolności, prawie nieograniczone, bo wszystkie elementy możemy podłączyć do huba naraz. Większość z nich to albo udoskonalone wersje swoich poprzedników albo części o nowych, dodatkowych funkcjach (czujnik siły).

Tylko na podstawie elektroniki zestawu jasno widać, że zespół LEGO uczy się na błędach, a doświadczenie z kilkunastu ostatnich lat postanowiło wykorzystać do stworzenia najprzyjemniejszego w użyciu i najlepszego narzędzia edukacyjnego do tej pory.

Oczywiście, nawet najlepszy zestaw ma małe wady.

Kable do elektroniki są teraz bardziej elastyczne, ale są przymocowane na stałe do poszczególnych elementów. Czyli są teoretycznie bardziej odporne na awarie, ale jeśli jednak kabel się popsuje, musimy wymienić cały, droższy element, nie tylko kabel. Hub ma duże możliwości, ale sam też jest duży, przez co bywa trudniejszy w zastosowaniu. Część jego funkcjonalności, jak np. akcelerometr czy żyroskop, byłaby bardziej praktyczna w postaci osobnych – mniejszych – elementów.

Brakuje też programowalnego wyświetlacza. Matryca diod na hubie jest estetyczna, ale mała; wyświetlane na niej dwucyfrowe liczby muszą być przewijane, więc odczyty muszą albo zmieniać się rzadko albo być wyświetlane na ekranie komputera lub tabletu.

Teraz przyjrzymy się elementom elektronicznym SPIKE Prime po kolei.

Hub SPIKE Prime

Hub SPIKE to nieodzowny element każdego robota budowanego z tego zestawu. Rozmiarowo jest dość duży, zwłaszcza w porównaniu do huba ze SPIKE Essential, ale ma też większe możliwości. Na pierwszy rzut oka widać aż 6 portów wejścia/wyjścia, port micro USB, 2 programowalne przyciski nawigacyjne, oraz matrycę 5x5 programowalnych pikseli z kontrolowanym natężeniem światła. A co w środku? Mikrokontroler z pamięcią 32 MB na przechowywanie 20 programów, a oprócz niego użyteczny 6-osiowy czujnik żyroskopowy, akcelerometr, głośnik, mikrofon, oraz akumulator. Akumulator ładuje się po podłączeniu do komputera kablem.

Co ważne, hub może realizować programy z pamięci komputera lub z pamięci własnej, dzięki czemu robot może się swobodnie przemieszczać, ponieważ nie jest przywiązany kablem.

Do poruszania się niezbędne są silniki, a w zestawie mamy ich aż trzy: 2 średnie silniki i 1 duży. Każdy ma wbudowany zintegrowany czujnik obrotu o dokładności do 1 stopnia oraz możliwość pomiaru pozycji bezwzględnej, co można wykorzystać w programie. Kalibrację ułatwia oznaczona na obudowie zerowa pozycja silnika. Zgodnie z nazwą, duży silnik ma większą moc i poradzi sobie z większym obciążeniem.

Czas na ultradźwiękowy czujnik odległości. Według producenta zakres jego pracy wynosi od 1 do 200 cm, jednak testy pokazały, że czujnik pokazuje 4 cm nawet przy mniejszej odległości. Pomimo tego czujnik odległości jest dość dokładny, granica błędu odczytu wynosi ok. 1 cm. Ciekawym dodatkiem są 4 diody wokół nadajnika i odbiornika. Można je zaprogramować tak, by symulować oczy robota oraz jego mimikę.

Czujniki SPIKE Prime

Czujnik koloru może wykrywać kolory lub mierzyć natężenie światła odbitego. Pozwala nawet mierzyć światło otoczenia, niestety ten tryb pracy jest dostępny wyłącznie z poziomu programowania w Pythonie, podobnie jak kontrolowanie diody czujnika. Wykonywane pomiary są dokładne i powtarzalne, a domyślne kolory dostępne w Blokach słów odpowiadają kolorom klocków w pudełku. Sam element jest wyjątkowo kompaktowy, więc z zamontowaniem go nie będzie problemu.

Zestaw zawiera też interesujący czujnik siły, czyli coś znacznie lepszego niż tradycyjny czujnik dotyku. Wykrywa wciśnięcie lub zwolnienie przycisku, a oprócz tego potrafi mierzyć siłę nacisku w skali od 0 do 10 Niutonów. Dzięki temu element ma szereg zupełnie nowych zastosowań, jak na przykład waga czy inteligentny zderzak pojazdu.

Zestaw rozszerzający #45681

Dodatkowy zestaw (#45681) rozszerzający możliwości SPIKE™ Prime stanowi ciekawą pozycję, ale nie dla każdego.

Zawiera aż 604 części – więcej niż zestaw podstawowy – w tym 2 elementy elektroniczne: duży silnik oraz czujnik koloru. Oprócz nich w pudełku znajdziemy przydatne części konstrukcyjne: obrotnice, ramki o różnych rozmiarach, rozmaite zębatki, listwy zębate łukowe i zwykłe, duże koła, belki, osie, przeróżne łączniki i... płytkę łączącą do Raspberry Pi, programowalnego minikomputera jednopłytkowego. Raspberry Pi trzeba dokupić osobno.

Dodatkowo trzeba zorganizować przechowywanie tych części, bo niestety nie wszystkie zmieszczą się do pudełka zestawu podstawowego.

Zestaw rozszerzający sprawdzi się w szkole, która chce wprowadzić programowanie z Raspberry Pi, planuje organizować pozalekcyjne kółko robotyki, uczestniczyć w konkursach robotycznych (np. First LEGO League), albo w inny sposób umożliwić uczniom warunki do kreatywnego budowania i programowania robotów przez kilka godzin pod rząd. Wówczas warto zakupić kilka pudełek do pracowni.

Dodatek nie będzie przydatny w ramach regularnych lekcji robotyki, gdzie większa liczba części, nawet dobranych z rozmysłem, nieuchronnie utrudnia pracę i wydłuża czas zajęć.

Alternatywę stanowi seria BricQ Motion. Nie zawiera żadnej elektroniki, ale części konstrukcyjne są kompatybilne ze SPIKE Prime, ma swoje własne pudełko do przechowywania, i pozwala na zorganizowanie interesujących zajęć bez ekranu.

Ostateczna decyzja odnośnie zakupu powinna zależeć od indywidualnych planów szkoły.

Części wydrukowane na drukarce 3D

Tak, naprawdę! Do zestawu SPIKE Prime można dodatkowo wydrukować unikalne części konstrukcyjne przy pomocy drukarki 3D oraz scenariuszy lekcji RoboCamp.

Robot Motyl ze SPIKE Prime wydrukowane skrzydła 3D

Jeżeli w szkole jest drukarka 3D, można ją wykorzystać do rozbudowania lekcji robotyki o projektowanie 3D. Uczniowie otrzymują konkretne instrukcje jak krok po kroku zaprojektować element konstrukcyjny umożliwiający wykonanie dodatkowych zadań z robotem. Ukończone projekty 3D są przesyłane do nauczyciela, który je drukuje i oddaje uczniom do testowania z robotem. Proste, prawda?

Czy można wydrukować nowy zestaw SPIKE Prime na drukarce 3D?
Tak i nie. Tak, można samodzielnie zaprojektować wszystkie elementy konstrukcyjne i wydrukować je w dowolnej ilości. Niestety ich trwałość i szczegółowość będzie wyraźnie odbiegać od oryginału; jeżeli będą w ogóle pasować do klocków LEGO, wydruk należy uznać za sukces. Nie można też wydrukować działających elementów elektronicznych.

Połączenie robotyki i projektowania 3D to osiągalny sposób na wykorzystanie drukarki 3D przez uczniów. Jeden projekt można realizować na kilku lekcjach pod rząd. Dzięki multimedialnym instrukcjom krok po kroku wszyscy wiedzą co i jak mają zrobić, co znacząco ułatwia naukę. Nauczyciel ma dodatkowe wsparcie w postaci szkolenia online nt. obsługi drukarki 3D. A raz wydrukowane modele można zatrzymać do pracy z kolejną grupą.

Jak wykorzystać drukarkę 3D w szkole opisaliśmy szczegółowo w osobnym artykule o druku 3D.

Programowanie

Aplikacja SPIKE

Zestaw SPIKE Prime można programować w 3 językach programowania, dostępnych za pośrednictwem aplikacji SPIKE™: graficzne Bloki ikon, Bloki słów, oraz tekstowy Python.

Zanim poznamy możliwości i ograniczenia każdego z nich, przyjrzyjmy się samej aplikacji, czyli wspólnemu ogniwu całej serii SPIKE™ – oraz konsekwencjom zintegrowania wszystkich funkcjonalności w jednym miejscu.

Aplikacja SPIKE jest aktualnie dostępna w dwóch wersjach: aplikacja desktopowa do pobrania oraz aplikacja internetowa, z której skorzystamy przez przeglądarkę internetową. Wersje są identyczne pod kątem funkcjonalności, wyglądu i treści. Jednak aktualnie aplikacja internetowa jest dostępna tylko w wersji beta, oficjalnie wspiera tylko przeglądarkę Chrome na Chromebookach i miewa problemy ze stabilnym połączeniem Bluetooth, dlatego polecamy wersję desktopową.

Aplikacja działa na komputerach stacjonarnych, laptopach, tabletach, iPadach i Chromebookach. Możliwości programistyczne są co prawda takie same na każdym urządzeniu, ale nie polecamy pisania programów w Pythonie bez dostępu do klawiatury.

Aplikacja do programowania SPIKE Prime - recenzja

Uruchomienie aplikacji zajmuje dość długo, od kilkunastu sekund do 2 minut. Pierwszy krok to wybór zestawu z którym pracujemy: SPIKE Prime lub SPIKE Essential, któremu poświęciliśmy osobny artykuł. Wybrany zestaw ma znaczenie dla wyświetlanych materiałów edukacyjnych, a także dla dostępnych bloczków programistycznych, ale możemy go w każdej chwili zmienić w prawym górnym rogu aplikacji.

Po lewej stronie znajduje się menu aplikacji. Sekcja Rozpocznij zawiera samouczki, które praktycznie wyjaśniają podstawowe zasady działania elementów elektronicznych. Warto się z nimi zapoznać samodzielnie lub razem z uczniami. W sekcjach Moduł oraz Buduj znajdują się instrukcje i scenariusze lekcji od producenta. Kolejna sekcja to Moje projekty, gdzie można zarządzać wszystkimi stworzonymi projektami programistycznymi. Na samym dole menu znajdziemy Pomoc z przydatnymi opisami bloczków ikon i słów, oraz Ustawienia, gdzie możemy na przykład zmienić język aplikacji.

Uwaga! Scenariusze lekcji od LEGO nie mają instrukcji programowania. Ten etap należy dodatkowo wyjaśnić uczniom, najlepiej krok po kroku, jak robią to scenariusze lekcji RoboCamp.

Korzystanie z aplikacji SPIKE jest przyjemne i intuicyjne. Interfejs jest estetyczny, czytelny i funkcjonalny, co nie było regułą w przypadku starszych programowalnych produktów od LEGO Education. Całość interfejsu, materiały edukacyjne, a nawet pomoc zostały przetłumaczone na język polski, co bardzo doceniamy w imieniu wszystkich nauczycieli w Polsce.

Aplikacja jest dobra, ale nie doskonała. Czas uruchamiania jest uciążliwy, lecz to wymagania sprzętowe mogą stanowić prawdziwy problem dla szkół ze starszym sprzętem. Zdarzają się błędy z wykrywaniem huba przez Bluetooth - ten sam hub może być widoczny w aplikacji podwójnie pod dwoma różnymi nazwami. Język Bloki ikon ma istotne braki na poziomie dostępnych bloczków, o czym pisaliśmy tutaj, za to Python ma minimalne wsparcie, co wyjaśniamy poniżej. Jest co poprawiać.

Niemniej jednak aplikacja SPIKE jest wciąż relatywnie nowa, a LEGO Education rzeczywiście naprawiało błędy w swoich poprzednich aplikacjach, więc mamy nadzieję na postęp.

Wymagania sprzętowe aplikacji desktopowej SPIKE

Windows

  • procesor 1.5 GHz Intel® Core i3 lub lepszy
  • 4 GB RAM
  • 3 GB wolnego miejsca na dysku
  • Bluetooth 4.0 lub nowszy
  • Windows 10 (64-bit), wer. 1803 lub nowszy

macOS

  • procesor 1.5 GHz Intel® Core Duo lub równoważny lub lepszy
  • 4 GB RAM
  • 2 GB wolnego miejsca na dysku
  • Bluetooth 4.0 lub nowszy
  • macOS Mojave 10.14 lub nowszy

Tablet iOS (kliknij i otwórz)

  • iPad Air 2 i iPad Mini 4 lub nowszy
  • iOS 13 lub nowszy

Tablet Android (kliknij i otwórz)

  • wyświetlacz 8” lub większy
  • 3 GB RAM
  • 3 GB wolnego miejsca na dysku
  • Bluetooth 4.0 lub nowszy
  • Android 7.0 lub nowszy

Chromebook (kliknij i otwórz)

  • dwurdzeniowy procesor 1.40 GHz Intel® Celeron® 2955U lub równoważny lub lepszy
  • 4 GB RAM
  • 3 GB wolnego miejsca na dysku
  • Bluetooth 4.0 lub nowszy
  • Chromebook z systemem Android 7.0 lub nowszym
  • wymagany dostęp do Google Play Store

Bloki Ikon

Bloki ikon to najprostszy język kodowania z trzech dostępnych poprzez aplikację SPIKE.

Polecenia są przedstawione w formie różnych ikon – stąd nazwa – które symbolizują oczekiwany rezultat wykorzystania bloczka. Dla najmłodszych dzieci jest to dobry sposób by zacząć kodować, by odkryć że wystarczy kilka poleceń na komputerze, żeby móc oddziaływać na fizyczny świat wokół.

Natomiast używania Bloków ikon z zestawem SPIKE Prime nie polecamy. Główny powód to różnica w wieku użytkownika docelowego. Podczas gdy zestaw jest przeznaczony dla dzieci od 10 roku życia, Bloki ikon zostały zaprojektowane z myślą o młodszych dzieciach, które są jeszcze na etapie nauki pisania i czytania.

Sam język jest dość ograniczony i na ten moment daleki od doskonałości. Co gorsza, zaczynanie od niego nauki programowania może wyrobić w uczniach złe nawyki, o czym dokładnie piszemy w recenzji SPIKE Essential.

Dlatego Bloki ikon lepiej zostawić w spokoju. W zamian radzimy postawić na lepszy język do nauki programowania, czyli...

Bloki Słów

Tak, Bloki słów to nasz zdecydowany faworyt w kontekście nauki programowania w szkole podstawowej. Dlaczego?

Zacznijmy od korzeni. Bloki Słów zostały stworzone w oparciu o klasyk współczesnej edukacji, Scratch, więc czerpią z prawie 20 lat doświadczenia wielokrotnie nagradzanego narzędzia edukacyjnego. Obowiązują te same zalecenia wiekowe: język sprawdza się najlepiej dla dzieci w wieku od 8 do 16 lat. Kolorowe bloczki z tekstem i parametrami układamy jedne pod drugimi, aby tworzyć programy, które ożywiają roboty i inne konstrukcje zbudowane z klocków LEGO.

Poszczególne bloczki kodu mają różne kształty, które sugerują ich miejsce w programie, podobnie jak w Scratchu. Zrozumienie znaczenia tych kształtów jest kluczowe w tworzeniu programów.

LEGO SPIKE kształty bloczków Bloki Słów

Każdy skrypt powinien zaczynać się od bloczka startowego (hat block) połączonego z co najmniej jednym bloczkiem skryptu (stack block). Bloczki kończące (cap block) zamykają skrypt. Bloczki C (C-block) symbolizują pętlę albo warunek; mają też lukę na dodatkowe bloczki skryptu. Dwóch ostatnich typów bloczków trzeba używać w połączeniu z innymi; nie mogą funkcjonować w skrypcie samodzielnie. Są to sześciokątne bloczki logiczne Boole'a (Boolean block) zawierające warunek, który może być spełniony lub nie, oraz zaokrąglone bloczki raportujące (reporter block), które raportują wartość liczbową lub tekst.

Zaczynając nowy projekt w Blokach Słów mamy od razu dostęp do wszystkich domyślnych bloczków podzielonych na znajome kategorie: Silniki (sterowanie jednym silnikiem lub wybranymi), Ruch (jednoczesne sterowanie dwoma silnikami), Światło (sterowanie matrycą diod), Dźwięk, Zdarzenia, Kontrola, Czujniki, Wyrażenia, Zmienne. W kategorii Moje Bloki można stworzyć nową funkcję z dostępnych bloczków kodu.

RoboRada: W bloczkach kategorii Ruch znajdziemy podwójny zapis kierunku ruchu: strzałkowy i liczbowy. Liczbowy jest bardziej elastyczny, umożliwia dokładne zaprogramowanie skrętu podstawy jezdnej, ale nie pozwala na jazdę do tyłu. Ta opcja jest dostępna wyłącznie w zapisie strzałkowym. Warto zwrócić uwagę na to niedopatrzenie, zwłaszcza jeśli uczniowie programują samodzielnie.

Można jeszcze poszerzyć wybór dostępnych bloczków za pomocą kategorii dodatkowych: Menedżer pogody, Silniki – więcej, Ruch – więcej, Czujniki – więcej, Muzyka, Wykres liniowy, Wykres słupkowy, oraz Wyświetlacz. Rozszerzenia zwiększają możliwości programowania, na przykład poprzez używanie mocy zamiast prędkości, nieprzetworzonych kolorów, pozycji względnej itp.; dają też dodatkowe opcje wizualne, na przykład inne sposoby prezentowania danych, czy wyświetlanie obrazu na ekranie. Znajdziemy je w dolnym lewym rogu aplikacji, w każdym projekcie utworzonym w Blokach Słów.

Z trzech języków dostępnych na SPIKE Prime, Bloki słów to najlepszy język do nauki programowania dla dzieci. Zawdzięcza to przede wszystkim swoim korzeniom, ale również szerokim możliwościom zaprogramowania silników i czujników zestawu.

LEGO SPIKE programowanie Bloki Słów

Można wybrać port, określić prędkość, pozycję, czas i kierunek obrotu silników. Ciekawą nowością jest opcja powrotu do pozycji najkrótszą drogą. Każdy czujnik można wykorzystać na co najmniej kilka sposobów dzięki dostępnym bloczkom, a chętni mogą dodać zakładkę Czujniki – więcej, która pozwala na wykrywanie nieprzetworzonych kolorów RGB, mierzenie przyspieszenia czy prędkości kątowej.

Oprócz rozmaitych możliwości tworzenia programów, Bloki słów pozwalają użytkownikom poznać składnię języka, czyli reguły rządzące poszczególnymi jego elementami, w sposób organiczny. Różne kształty bloczków sugerują możliwości ich zastosowania, podobnie jak różne kształty połączeń klocków LEGO. Uczniowie mają możliwość pisania złożonych i ciekawych programów z instrukcjami warunkowymi, różnego rodzaju pętlami, operacjami matematycznymi, zmiennymi i listami, które znajdą w kategoriach Zmienne, Wyrażenia oraz Kontrola, bez konieczności uczenia się zasad składni osobno.

Dzięki temu próg wejścia jest niższy, a z potencjału Bloków słów mogą łatwo skorzystać nawet zupełnie początkujący.

Ponadto Bloki słów stanowią ważny krok przed programowaniem w Pythonie. Uczeń który wcześniej pracował z Blokami słów szybciej przyswoi sobie programowanie tekstowe, ponieważ zna już podstawy. Wie czym jest składnia, na co zwrócić uwagę przy sterowaniu przepływem programu, potrafi zwizualizować program i jego poszczególne kroki. Bez tych fundamentów nauka będzie dłuższa i trudniejsza.

W połączeniu z dopracowanym interfejsem aplikacji, Bloki Słów są doskonałym narzędziem do nauki i odkrywania potencjału programowania.

Szkolenia dla nauczyciela - programowanie LEGO SPIKE Prime

Python

Możliwość programowania SPIKE Prime w Pythonie to zaskakująca i jednocześnie szeroko chwalona decyzja producenta. Teoretycznie powinna poszerzyć możliwości programistyczne w aplikacji, odkryć dodatkowe funkcjonalności zestawu, a przy okazji nauczyć dzieci wyjątkowo praktycznej i pożądanej umiejętności zawodowej.

Jest to poniekąd prawda... do pewnego stopnia.

Co to jest Python?
Python to tekstowy język programowania o prostej, czytelnej składni i dużej uniwersalności zastosowania.
Według 2020 Developer Survey Python jest 4. najczęściej używanym językiem programowania na świecie wykorzystywanym głównie do analizy danych, administracji systemów, tworzenia oprogramowania, aplikacji, czy wreszcie programowania gier, robotów i sztucznej inteligencji. W pracy wykorzystywane są konkretne biblioteki funkcji dobierane pod kątem zadania, a ich ilość i różnorodność są jednymi z głównych zalet tego języka.
Co ciekawe, Python jest również jednym z najbardziej lubianych języków programowania na świecie.

Programowanie w Pythonie radzimy wprowadzić na lekcje robotyki z uczniami w wieku około 14-16 lat dopiero po kilku semestrach pracy z Blokami słów. Konieczne też będzie dodatkowe przygotowanie nauczyciela.

Programowanie w Pythonie przy pomocy aplikacji SPIKE odbywa się w specjalnym interfejsie z dedykowaną biblioteką. Zawiera polecenia sterujące elementami elektronicznymi zestawu Prime pogrupowane w klasy. Każdy nowy program domyślnie zawiera fragment kodu importujący wszystkie klasy biblioteki SPIKE.

Krótki przykładowy program dla SPIKE Prime wraz z objaśnieniami zamieszczamy poniżej.

Główny obszar interfejsu aplikacji SPIKE zajmuje kanwa programistyczna, gdzie piszemy kod programu. U dołu okna znajduje się Konsola, na której wyświetlane będą ewentualne błędy kodu. Po prawej stronie, ukryta w zakładce, znajduje się Baza wiedzy. Właśnie tam (a nie w sekcji pomocy) znajdziemy opis dostępnych w bibliotece instrukcji do sterowania elementami elektronicznymi zestawu SPIKE Prime oraz wybranych poleceń języka Python.

Przy pierwszym zetknięciu z interfejsem zdecydowanie warto skorzystać z samouczka dostępnego w części Pierwsze kroki.

LEGO SPIKE programowanie w Pythonie

Niestety informacje zawarte w Bazie wiedzy nie są wystarczające do pracy z tym językiem. Chociaż dość dokładnie opisano polecenia z biblioteki SPIKE, instrukcje oczekiwania i wybrane operatory matematyczne, to brakuje informacji o sterowaniu przepływem programu, tworzeniu instrukcji warunkowych, pętli, funkcji, wykorzystaniu zmiennych, pracy z różnymi typami danych... czyli elementarnej wiedzy na temat Pythona.

Wnikliwi użytkownicy znajdą kilka przykładów w sekcji Tłumacz bloków słów, gdzie fragmenty kodu zapisanego w bloczkach zostały "przetłumaczone" na odpowiadający im kod w Pythonie. Jednak to za mało, żeby samodzielnie programować.

Przejście z poziomu Bloków słów do Pythona bez dodatkowego przygotowania jest rozczarowujące. Chociaż interfejs jest klarowny i jasno sugeruje jak należy z niego korzystać, dostępne możliwości programowania nie są tak oczywiste jak w przypadku Bloków słów. Częściowo można zepchnąć odpowiedzialność na samego Pythona, ale prawdę mówiąc nawet korzystanie z Bazy wiedzy pozostawia wiele do życzenia. Mała zakładka utrudnia czytanie, a przechodząc z sekcji do sekcji można łatwo się zgubić. Trudno wyobrazić sobie korzystanie z niej podczas lekcji razem z grupą uczniów.

Pierwsze kroki postawione w Pythonie za pośrednictwem aplikacji SPIKE pozostawiają po sobie niesmaczne wrażenie niedokończonego produktu. Niemniej jednak napisane polecenia i programy działają – a to jest najważniejsze.

Chociaż programowanie robotów SPIKE Prime w Pythonie nie jest tak przyjazne dla początkujących jak być powinno, i tak jest wartościowe z punktu widzenia edukacji. Uczniowie wciąż mogą poznać "prawdziwy" tekstowy język programowania, codziennie używany przez miliony ludzi na całym świecie. Mogą nauczyć się nim posługiwać w bardzo młodym wieku i czerpać z tej umiejętności latami w rozmaitych dziedzinach. Mogą zyskać przewagę, której będą potrzebować w dorosłym życiu.

Wszystko to jest w zasięgu ręki, ale próg wejścia jest na ten moment wysoki.

Dopóki producent nie udoskonali materiałów pomocy, nauczyciele będą musieli posiłkować się dodatkowymi materiałami i samodzielnie kończyć kursy programowania w Pythonie, żeby wypełnić luki Bazy wiedzy.

A co jeśli już umiecie programować w Pythonie? Wówczas wszystko staje się prostsze. Po drodze może być kilka małych niespodzianek, jak na przykład instrukcje sterujące głośnikiem huba umieszczone w klasie Speaker, a pliki dźwiękowe w klasie App, ale nie natrafiliśmy na żadne duże błędy. Nic tylko programować!

Robot SPIKE Prime Krab

Zaawansowani użytkownicy rzeczywiście mają więcej możliwości wykorzystania elektroniki zestawu programując w Pythonie, ale żeby z nich skorzystać potrzeba znaczącej wiedzy i trochę doświadczenia, dlatego eksperymenty z "nieudokumentowanymi" bibliotekami na lekcji niekoniecznie polecamy każdemu nauczycielowi.

Miłośników hakowania robotów odsyłamy do sieci, gdzie już powstało kilka nieoficjalnych przewodników po dodatkowych możliwościach elektroniki SPIKE, na przykład huba, dostępnych wyłącznie za pomocą Pythona.

Python: Przykładowy program

Nie taki Python straszny jak go malują. Przy pomocy kilku linijek kodu krok po kroku napiszemy prosty program, który uruchomi silnik (port A) za każdym razem gdy naciśniemy przycisk czujnika siły (port B).

Zaczynamy od zaimportowania odpowiednich klas z biblioteki. Używamy silnika oraz czujnika siły, więc z biblioteki SPIKE zaimportujemy właśnie te klasy.

from spike import Motor, ForceSensor

Python jest obiektowym językiem programowania, dlatego następnie stworzymy obiekty, z których będziemy korzystać w programie. Aby skorzystać z zaimportowanych klas, należy je “zainicjować”, czyli stworzyć ich kopie (obiekty), którym nadamy własne nazwy. To na nich będziemy wykonywać operacje. Utworzymy dwa obiekty: silnik (kopię klasy Motor sterującą silnikiem) oraz czujnik (kopię klasy ForceSensor sterującą czujnikiem siły).

silnik = Motor('A')
czujnik = ForceSensor('B')

Czas na napisanie kodu programu. Zaczniemy od określenia prędkości silnika. W pętli umieścimy sekwencję oczekiwania na spełnienie warunku (wciśnięcie lub zwolnienie przycisku czujnika) oraz akcji silnika (start i zatrzymanie).

Tak powinien wyglądać gotowy program wraz z komentarzami:

# Import bibliotek
from spike import Motor, ForceSensor

# Zadeklarowanie obiektów
silnik = Motor('A')
czujnik = ForceSensor('B')

# Kod programu
motor.set_default_speed(25)
while True:
force_sensor.wait_until_pressed()
motor.start()
force_sensor.wait_until_released()
motor.stop()

Program można zastosować na przykład razem z robotem Zębatkowa Zagadka – nie zapomnijcie sprawdzić czy porty się zgadzają!

Powyższy krótki program pokazuje dlaczego Python to jeden z ulubionych języków programowania. Kod jest oszczędny i jednocześnie czytelny, zrozumienie zasady działania programu nie jest trudne. Podczas programowania trzeba pamiętać o kilku dodatkowych zadaniach, ale nie powinny przytłoczyć ani nauczyciela, ani uczniów.

Scenariusze lekcji na LEGO SPIKE Prime

Podsumowanie

LEGO Education ma w swoim arsenale lepsze i gorsze produkty. Większość z nich ma mankamenty, z którymi trzeba nauczyć się żyć i pracować na lekcji. Dlatego tak pozytywna recenzja SPIKE Prime jest poniekąd zaskoczeniem nawet dla nas. Jednak wiele wskazuje na to, że jest to najlepszy zestaw do nauki szkolnej wyprodukowany do tej pory przez LEGO Education.

Chociaż części konstrukcyjnych nie znajdziemy w pudełku bardzo dużo, ich zróżnicowanie i funkcjonalność pozwalają na tworzenie przeróżnych modeli, mechanizmów, czy robotów. Jest to zaleta nie tylko dla kreatywnych uczniów, ale i dla zawodowych konstruktorów, a nauczycielom gwarantuje szeroki wybór interesujących materiałów dydaktycznych. Sprytne klocki sprawiają, że budowanie zajmie mniej czasu, a lekcja w 45 minut jest osiągalna!

Elementy elektroniczne pozwalają wykorzystać w programie różne aspekty ruchu, dotyku, a nawet "wzrok" (dzięki czujnikom koloru i odległości). Ponieważ hub ma aż 6 portów, z czujników i silników można korzystać naraz, a dzieci mogą tworzyć prawdziwie interaktywne roboty.

Roboty SPIKE Prime można programować graficznie i tekstowo w przyjaznej aplikacji. Bloki Słów przystępnie uczą fundamentów, Python pokazuje jak wygląda "dorosłe" programowanie i dostarcza umiejętności cennych na rynku pracy, ważnych szczególnie dla starszych uczniów. Oba te języki pozwalają na wykorzystanie prawie całego potencjału elementów elektronicznych, aczkolwiek programowanie w Pythonie wymaga dodatkowego przygotowania nauczyciela.

W rezultacie otrzymujemy zestaw, który jest łatwy w użyciu dla nauczyciela i ucznia, cieszy się wyjątkową wytrzymałością części przy intensywnym użytkowaniu, oraz oferuje morze możliwości budowania i programowania. Jest to wszechstronne narzędzie edukacyjne STEAM na lata.

Kolejną zaletą SPIKE Prime jest to, że stanowi część LEGO® Learning System. Chociaż można mieć zastrzeżenia co do skuteczności całokształtu tego systemu, to zestrojenie ze sobą kilku różnych zestawów przez producenta w praktyce sprowadza się do tego, że uczniowie robotyki nareszcie mają zapewnione płynne przejście między różnymi poziomami zaawansowania. Młodsze dzieciaki mogą zacząć z prostszymi robotami SPIKE Essential, a potem wykorzystać nabytą wiedzę w pracy ze SPIKE Prime. Wiedza nie przepada, ponieważ oba zestawy są ze sobą kompatybilne i korzystają z tej samej aplikacji do programowania.

Scenariusze lekcji LEGO SPIKE Prime

Jak na dłoni widać, że zespół twórców zestawu SPIKE Prime wyciągnął wnioski z błędów popełnionych przy poprzednich produktach edukacyjnych, takich jak WeDo 2.0 czy MINDSTORMS EV3, co bardzo nas cieszy.

Czy wobec tego szkoły powinny wyrzucić starsze zestawy na zaplecze? Nie – nadal są to bardzo dobre narzędzia do nauki, mimo że nie są już oficjalnie wspierane przez producenta. Chociaż w kontekście pracy w szkole sumarycznie wypadają odrobinę gorzej, mają unikalne atuty, na przykład możliwość zaprogramowania komunikacji między hubami (EV3) czy bardzo dobry beztekstowy język programowania (WeDo 2.0). Więcej o nich przeczytacie w naszych recenzjach.

Zanim kupimy nowe zestawy warto zwrócić uwagę na wymagania sprzętowe. Seria SPIKE™ jest kompatybilna z nowszym sprzętem komputerowym, a aplikacja do programowania wymaga połączenia z internetem. Może to stanowić problem dla niektórych szkół.

Cena jednego zestawu SPIKE Prime wynosi aktualnie prawie 2 tys. zł brutto. Koszt jest porównywalny do pierwotnej ceny MINDSTORMS EV3, i prawdopodobnie jeszcze wzrośnie. Jednak biorąc pod uwagę wszystko co otrzymujemy wraz z zestawem, ilość elektroniki, trwałość części, jakość aplikacji, oraz możliwości wykorzystania zestawu do nauki, cena jest uzasadniona.

Podczas 2 lat intensywnego testowania, zestaw SPIKE Prime stał się nowym ulubieńcem naszego zespołu. Mieliśmy okazję budować z nim kreatywnie godzinami i ekspresowo według instrukcji, tworzyć proste i skomplikowane programy, przewozić go masowo ciężarówką i pojedynczo hulajnogą, sortować, gubić i znajdować części – SPIKE Prime sprawdził się za każdym razem.

Mamy nadzieję, że sprawdzi się również w Waszej szkole.

O autorach
Dominika Skrzypek
International Education Specialist
Miłośniczka robotów, kształcenia ustawicznego oraz języków – naturalnych, jak i sztucznych. Z wykształcenia pedagog i lingwistka zarazem, w zespole RoboCamp nadzoruje publikowane treści i odpowiada za przygotowanie anglojęzycznych nauczycieli do pierwszej lekcji robotyki.
Ola Syrocka
Curriculum Developer
Z wykształcenia mgr. inż. fizyki technicznej, Ola uczy dzieci robotyki od ponad 8 lat. Odgrywa kluczową rolę w projektowaniu wewnętrznego programu nauczania, łączeniu elementów STEAM z poszczególnymi lekcjami i współtworzeniu serii lekcji RoboCamp. Oprócz tego szkoli nauczycieli i pomaga im przeprowadzić lekcje robotyki.