8547 Mindstorms NXT 2.0

Witam!
O NXT marzyłem już od dłuższego czasu, jednak wciąż coś mnie powstrzymywało… W tradycyjnych sklepach NXT to wydatek rzędu 1400 zł (i więcej; widziałem nieraz po 1600zł). Jednak wraz z pojawieniem się w bazarze informacji od TT, że można u niego zakupić znacznie taniej zestaw (1050 zł dla członków Lugpolu), przemogłem się i napisałem do sprzedawcy, który nie robił żadnych problemów.

Paczkę zamówiłem wieczorem w poniedziałek, kurier przyszedł zaś w środę – 2 dni czekania na zamówiony zestaw to niewiele.
Od tego czasu wciąż męczę się z recenzją NXT – być może całość szybciej by poszła, gdyby nie filmiki (które mają jednak tą zaletę, że osoby nic nie wiedzące o NXT będą mogły zobaczyć, jak się to programuje i jak to działa po zbudowaniu).

8547 to wyjątkowy zestaw. Bardzo dużo osób narzeka na fakt, że w dzisiejszych czasach mało setów posiada modele alternatywne – tu oprócz instrukcji 4 różnych modeli, na stronie Mindstorm znajdziemy ponad 10 alternatyw, których jednak nie przedstawiłem w recenzji (do pobrania są zarówno instrukcje, jak również gotowe programy). No i nie zapominajmy o najważniejszym – możliwości oprogramowania czujników!

Pewnie całość można by lepiej wykonać, ale nie zapominajmy, że modele z 8547 są raczej duże i ciężkie (zwłaszcza recenzowany Alpha Rex, o którym będzie jeszcze mowa) – a jak wiadomo, nie jest rzeczą prostą fotografowanie dużych obiektów. Najprostszy model tworzy się około 30 minut (na spokojnie, bo chyba nikomu nie zależy na tym, aby w ogólnym pośpiechu uszkodzić np. kabel; dotyczy to zbudowania i zaprogramowania robota).

Kończąc ględzenie, zapraszam do lektury (mam nadzieję, że komuś się przyda; z tego co sprawdzałem, filmy wykonane do tej recenzji zajmują łącznie 1 h 40 min – mój rekord w tworzeniu wideo-recenzji :D ). Zapewne osoby, które miały już styczność z tym zestawem będą w stanie powiedzieć coś więcej ode mnie; mam jednak nadzieję, że jeśli ktoś rozważa zakup zestawu i/lub nigdy nie programował w tym specyficznym języku (który ma kilka alternatyw) z zaciekawieniem spojrzy na powyższy artykuł – bo w sumie, typowe recenzje skupiają się na pokazaniu modelu + modeli alternatywnych, a artykuły/poradniki mają za zadanie czegoś nauczyć – recenzja ta jest zatem czymś więcej, niż recenzją, ale mniej, niż poradnikiem.

8547
Image

Dane Techniczne:
Seria: Mindstorms
Rok produkcji: 2009
Liczba klocków: 619
Liczba figurek: 0
Cena: ok. 1200 zł – Allegro, 1400 zł – S@H; w zwykłych sklepach jeszcze drożej

SPIS CZĘŚCI
PEERON
BRICKLINK
BRICKSET

GALERIA


Instrukcje (modele główne)
Instrukcje (modele dodatkowe)

Strona Mindstorms

Specyfikacja techniczna:
– 32-bitowy mikrokontroler ARM7
– 256 kilobajtów pamięci FLASH, 64 kilobajty pamięci RAM
– bezprzewodowe połączenie Bluetooth, port USB Full Speed (12Mbit/s)
– 4 porty wejściowe i 4 wyjściowe, połączenie cyfrowe kablem 6-żyłowym
– graficzny wyświetlacz LCD 100×64 piksele
– głośnik (jakość 8kHz), kanał dźwiękowy: 8-bitowa rozdzielczość, częstotliwość próbkowania: 2-16 kHz
– zasilanie: 6 baterii AA (paluszki)

Standardowe połączenia sensorów i silników:
Porty wejściowe:
port 1: czujnik dotyku
port 2: czujnik dotyku
port 3: czujnik koloru
port 4: czujnik ultradźwiękowy

porty wyjściowe:
port A: motor specjalnego przeznaczenia
port B: motor do poruszania
port C: motor do poruszania

Wymagania systemowe:
– system: Windows xp (sp2 i wyżej)/Vista (sp1 lub nowszy)/win 7 lub Apple MacOS X wersja 10.4 lub 10.5
– procesor: Intel Pentium (lub kompatybilny), minimum 800 MHz (win xp), 1 GHz (Vista); w przypadku Macintosha: procesor PowerPC G3, G4 lub G5, min 600 MHz
– napęd: CD-ROM (DVD-ROM dla MacOS)
– RAM: 512 MB (minimum)
– Wolne miejsce na dysku: 700 MB (minimum)
– grafika: karta graficzna i monitor XGA (1024-768)
– USB: przynajmniej 1 wolny port
* adapter Bluetooth (opcjonalnie)

Pudełko
Image
Image Image Image Image Image Image
Image Image
Pudełko jest bardzo duże – na filmie moje ręce wyglądają, jakbym był jakimś dzieckiem czy coś :D

Przód pudełka:
Na samej górze widnieje logo LEGO Mindstorms. Nieco poniżej, z prawej strony widzimy napis ze złotych liter „NXT 2.0”. Na pierwszym planie znajdziemy główny model tego zestawu – samego Alpha Rexa 2.0, stojącego w majestatycznej pozie, i celującego swoim kolorowym laserem w odbiorcę. Tło, na którym znajdziemy naszego robota, wygląda tak, jakby przybył on z innego wymiaru. Opisany jest każdy czujnik – ultradźwiękowy/dotyku/koloru, serwomotory oraz NXT – magiczna kostka, bez której nic by nie ożyło.
Po prawej stronie widzimy modele alternatywne, o różnych poziomach trudności: Shooterbota, Robogatora czy Color Sortera. Po lewej zaś mamy informację o tym, że zestaw kierowany jest docelowo dla dzieci powyżej 10 roku życia, numer zestawu, łączna liczba elementów, możliwość instalacji oprogramowania na Windows/Macintosh, Bluetooth oraz USB (do komunikacji z komputerem).

Tył:
Jeszcze raz widzimy tutaj modele alternatywne wraz z krótkim opisem, informacji o możliwości kontrolowania robota przez klawiaturę z komputera (sugeruje to obrazek), trochę o samym software (możliwość nagrywania własnych dźwięków/obrazów, które potem można wgrać do NXT), oraz reklamę społeczności Mindstorms.
Informacji przekazywanych tutaj jest dużo, jednak odpowiednie ich ułożenie sprawia, że całość jest dobrze przyswajalna.

Boki:
na bokach umieszczono:
– informację o parametrach, jakie powinien spełniać nasz komputer
– informację o możliwości dołączenia do społeczności Lego Mindstorms
– zębatkę w skali 1:1
– grafikę pokazująca, że Alpha Rex mierzy 32 cm wysokości
– informacji, że możemy zbudować tylko 1 model z 4
– informację, z czego składa się zestaw

Pudełko ma pewną wyjątkową cechę – posiada bowiem otwierane wieczko, rodem ze starych, dobrych zestawów; szkoda tylko, że nie ma jakiejś przezroczystej folii czy czegoś, co po otwarciu pokazałoby klocki (zamiast tego otrzymujemy graficzny spis elementów).
Oprócz spisu elementów i opisu czujników, dostaniemy tutaj krótką reklamę – jak należy programować robota i jak wygląda standardowe oprogramowanie.

Zawartość
Image
Image Image Image
We wnętrzu znajdziemy:
– gąsienice (wrzucone luzem)
– 5 woreczków z częściami ( w tym jeden startowy)
– 2 drobne ulotki (informacje o tym, jak nie zanieczyszczać środowiska naturalnego itp)
– naklejki
– instrukcję
– płytę CD z oprogramowaniem
– małe pudełko z mikro-kontrolerem NXT
– większe pudełko z silnikami i czujnikami
– planszę do testowania robota

Plansza:
Image Image Image
Na dole znajduje się napis „start”, gdzie też zazwyczaj uruchamiamy nasze roboty. Po lewej stronie odległość mierzona jest w centymetrach, a po prawej zaś w calach. Widoczne są też różne kolorowe fragmenty, które można wykorzystać dla czujnika kolorów.

O Software opowiem więcej w dołączonych filmikach. Dołączony tutaj program (NXT-G) polega na programowaniu bloczków. Wymagania, jakie musi spełniać komputer nie są jakieś olbrzymie.
Oczywiście warto wiedzieć, że istnieją również inne programy, umożliwiające oprogramowanie robota, jak np:
– robotC
– NXC (takie darmowe robotC, ale mniej wygodne)
– LabVIEW

(napisane na podstawie TEGO poradnika)

Instrukcja
Image
Image Image
Kolorowa instrukcja składa się łącznie z 64 stron. Co prawda czarne elementy nie są otoczone białą obwódką, ale mi to nie przeszkadzało – wszystko jest czytelne, nie znalazłem błędów w budowie. Napisana jest w języku angielskim, ale w dzisiejszych czasach to nie powinno być problemem. Mogę jedynie narzekać na fakt, iż w momencie wyciągania, jej rogi były już pomięte – jak na zestaw w takiej cenie TLG powinno zatroszczyć się o tekturkę ochronną…

W skład instrukcji wchodzą:
– grafika początkowa (strona 1)
– przywitanie i spis treści (str 2-3)
– introdukcja (strona 4)
– instrukcja do zbudowania prostego robota (str 5-15, łącznie 20 kroków)
– opis technologii NXT (str 16-45)
– opis Software (46 – 58)
– użyteczne informacje (59 – 64) wraz ze spisem elementów (63)

Instrukcja w wersji polskiej (dodana przez sprzedającego):
Image
Image Image Image
Jest ona w pełni czytelna. Niestety brakuje niektórych kroków (12 i 13) w instrukcji modelu podstawowego – co jednak nie jest problemem – wystarczy bowiem sięgnąć do anglojęzycznej wersji lub uruchomić oprogramowanie dodane na płycie.

Czujniki

NXT:
Image
Image Image Image Image Image
Główny mikro-kontroler NXT został zapakowany do oddzielnego pudełka. Karteczki, widoczne na zdjęciu zawierają informację o bateriach oraz środowisku naturalnym. Nie zabrakło też oddzielnej instrukcji pokazującej, w jaki sposób włożyć baterie.

Czym jest zatem NXT? Mówiąc najprościej – sercem całego robota, bez którego czujniki to tylko klocki; to tutaj wgrywamy program (poprzez dodany kabel USB lub Bluetootha), stąd wychodzą rozkazy i tu zapisywane są dane pomiarowe. Można tu też przetestować działanie czujników, czy wszystko działa, a także zrobić prosty program (bez użycia komputera). Niemniej pamięć jest tu dość ograniczona, dlatego co jakiś czas trzeba kasować programy, zastępując je nowymi, zgodnie z naszymi potrzebami.
NXT posiada porty – wejściowe i wyjściowe (ich opis zamieściłem na początku recenzji). Jeżeli podłączymy czujnik do złego portu, to nic się nie stanie/wybuchnie/spali się; wystarczy odczepić kabel ze złego portu i wsadzić do dobrego.

Czujniki i silniki:
Image
Image Image Image Image Image

Patrząc na główne zdjęcie widzimy:
– czujnik ultradźwiękowy (góra po lewej)
– czujnik kolorów (niżej)
– 2 czujniki dotykowe
– 3 serwomotory (po prawej stronie)
– kabel usb (na dole po lewej)
– kable do połączenia czujników/silników z NXT (1×20 cm, 4×35 cm, 2×50 cm)

Testowanie poszczególnych czujników przedstawiłem w filmie poniżej:

Klocki
Image
Jak widać, tylko gąsienice nie są zapakowane do żadnego woreczka.

Woreczek startowy:
Image
Image Image
Wykorzystując klocki z tego woreczka + gąsienice, jesteśmy w stanie zbudować bazę pod najprostszego robota.

Woreczek z drobnicą:
Image
Image

Woreczek z większymi częściami – część 1:
Image
Image

Woreczek z większymi częściami – część 2:
Image
Image

Woreczek z największymi częściami:
Image
Image
Image
W tekturowym opakowaniu znajdują się gumki. Klocków jest tak dużo, że musiałem wykonać dodatkowe zdjęcie.

Jeśli kogoś interesuje, jak wygląda zestaw z dodatkowymi częściami Mindstorms oferowany przez TT, zapraszam do filmiku:

Model Bazowy
Image
Image Image Image Image
Robot ten jest najprostszą konstrukcją, jaką możemy zbudować, a jednocześnie podstawą do budowy Shooterbota. Instrukcje do jego budowy znajdziemy zarówno w książeczce, jak również w dołączonym oprogramowaniu.

O tym, jak wygląda program w kilku zdaniach oraz jak wgrać prosty program, dowiecie się oglądając ten filmik:

Tutaj zaś spróbujemy stworzyć własny, trochę ciekawszy program:

Shooterbot Image
Ponieważ początkowym krokiem było stworzenie bazowego robota (krok 1; robot ten jest identyczny jak ten z poprzedniego podpunktu), którego zbudowałem już z instrukcji, pozwoliłem sobie od razu przejść dalej.

krok 2 – czujnik kolorów:
Image
Image
Oprogramowanie tego robota polega na tym, że robot zakręca w momencie, kiedy jego czujnik zauważy czerwoną linię.

krok 3 – strzelanie:
Image
Image
Tutaj czujnik kolorów służy do sygnalizowania ruchu/wycofania/ataku. Dodatkowo co jakiś czas wystrzeliwane są śmiercionośne kule zagłady.

krok 4 – czujnik ultradźwiękowy:
Image
Image
Robot kręci się w kółko. Kiedy zauważy, że coś zbliżyło się za blisko, sygnalizuje, że pojawił się obiekt. Jeśli obiekt ucieknie, robot kręci się dalej; w przeciwnym wypadku dioda zmienia się na kolor czerwony i robot strzela do obiektu.

Shooterbota w akcji zobaczycie, oglądając ten filmik:

Robogator  Image

Krok 1 – szczęki:
Image
Image
Tutaj tworzymy szczęki i piszemy do nich prosty programik. Szczęki otwierają się i zamykają.

Krok 2 – oczy:
Image
Image Image
Teraz szczęki działają tylko, gdy robot zauważy obiekt, który jest zbyt blisko.

Krok 3 – ciało:
Image
Image Image Image Image
Nasz aligator może się teraz poruszać – częściowo dzięki deskorolce, umieszczonej na brzuchu stwora.

Program można przesłać poprzez kabel USB. Gniazdo znajdziemy w pobliżu głowy stwora:
Image

Krok 4 – ogon:
Image
Image Image Image Image Image
W tym kroku tworzymy ogon robota.

Niestety nie obejdzie się bez drobnej uwagi – jeden z kabli jest za blisko koła zmniejszającego tarcie Robogatora z podłożem, co może wpłynąć nieco negatywnie na ruch stwora.

Color SorterImage
Color Sorter ma 3 poziom zaawansowania. I coś w tym jest – pamiętam, że dość długo go budowałem…

Kolorowe kule są identyczne jak te z serii Bionicle – różnica tkwi jedynie w innym ubarwieniu…

Krok 1 – sortownica:
Image
Image Image
Sortownica wybiera jedną kulę z wszystkich dostępnych i wrzuca do prymitywnego pojemnika.

Krok 2 – czujnik kolorów:
Image
Image
Tutaj oprócz wrzucania pojedynczych kul, system odczytuje ich barwę. Niestety, kule mogą się przyblokować – dlatego radziłbym podnieść czujnik nieco do góry.

Krok 3 – platforma do sortowania:
Image
Image Image
Po odczytaniu koloru platforma się obraca i kula wrzucana jest do odpowiedniej przedziałki (w każdej przedziałce znajdują się kule tego samego koloru).

Odczepiona platforma wygląda tak:
Image

Drobna uwaga – obracająca się platforma nieco haruje o kabel. Można rozwiązać ten problem, podwyższając ją nieco. No i wkurzający jest fakt, że przed kolejnym użyciem musimy odpowiednio nastrajać silnik odpowiedzialny za ruch platformy – a po nastrojeniu obrót i tak nie jest idealny (korzystamy z programów bazujących na instrukcji).

Krok 4 – katapulta:
Image
Image

Podobnie, jak w przypadku platformy, tutaj również występuje problem z kablem – tym razem z tym podłączonym do silnika katapulty (czasem się o nią zahacza i wówczas jest brak możliwości obrotu). Poza tym musimy pamiętać o nastrojeniu silnika (podobne jak we wcześniejszym kroku).

Gotowy model ustawiamy tak, aby ość obrotu katapulty była idealnie w centrum planszy testowej.

Działanie modeli możemy zobaczyć, oglądając filmik:

Alpha RexImage
Najwyższy czas zbudować główny model – Alpha Rexa, mierzącego 32 cm wzrostu! Podobnie jak sortownik kolorów, Alpha jest najbardziej zaawansowanym modelem – z tą jednak różnicą, że dochodzi również bardziej czasochłonne programowanie.

Krok 1 – nogi:
Image
Image Image Image Image
Widząc, jak poruszają się nogi, poczułem się trochę jak ojciec oglądający pierwsze kroki swojego dziecka :D No, może trochę przesadziłem, ale uważam, że efekt jest zadowalający.
Niestety przeszkadza tutaj plątanina kabli. Instrukcja każe nam kable zwijać, ja natomiast -mając niemiłe doświadczenie ze zwijaniem kabla od ładowarki do laptopa – radziłbym być ostrożny (żeby przypadkiem we wnętrzu kabla nie zerwało się jakieś połączenie).

Krok 2 – ramiona:
Image
Image Image
Ramiona pracują nieźle, aczkolwiek mechanizm przeniesienia obrotu silnika na ruch ramion mógłby być lepszy – w tej chwili może się zablokować (częściowo winne są kable, a częściowo klocek przenoszący napęd). Poza tym dochodzi problem ruchu ramion – wypadałoby je nieco podnieść, żeby nie dotykały kabli, podłączonych do portów A, B, C …

Krok 3 – głowa:
Image
Image Image
Nasz Alpha Rex zaczyna iść do przodu (gdy zauważy obiekt). Gdy ponownie go zauważy, zawraca.

Aby wgrać tutaj program, trzeba zdemontować głowę robota.

Krok 4 – czujnik kolorów:
Image
Image Image
I oto gotowy Alpha Rex. Gdy robot zauważy obiekt, podchodzi do niego, zatrzymuje się i prosi, aby dać mu zieloną kulę. jeżeli kula będzie w innym kolorze, robot mówi jej nazwę i ją wyrzuca; w przeciwnym wypadku robi taniec zwycięstwa… po którym znowu wyrzuca kulkę :P

Niestety ograniczona pamięć NXT daje o sobie znać – żeby zapisać wszystkie programy z Alpha Rexem, należy wpierw usunąć wszystkie dotychczasowe programy.

Dodatek:
Image Image Image
Porównanie wielkości Alphy z pewnym WIPowym mechem…

Działanie możecie zobaczyć tutaj:

Podsumowanie
8547 jest bardzo drogim zestawem, jednak czasami może trafić się nieco bardziej korzystna oferta kupna. Zresztą powiedzmy sobie szczerze – ruchome silniki, czujniki czy wreszcie cały mikro-kontroler – to wszystko kosztuje… niemniej miło widzieć, że wszystko działa jak należy (problem leży tylko w napisaniu odpowiedniego programu).

W recenzji skupiłem się jedynie na bloczkowym Software, dołączonym do zestawu – istnieją jednak inne programy i związane z nimi języki programowania, które umożliwiają wykorzystanie w wydajniejszy sposób naszego NXT, niemniej jest to temat na osobny artykuł.

Od samego początku chciałem zbudować Alpha Rexa, ale zacząłem od modeli alternatywnych – ku mojemu zaskoczeniu okazały się one bardzo ciekawe i nie żałuję, że je skonstruowałem. Niestety, do większości z nich znalazłbym jakieś zastrzeżenia w konstrukcji. No ale klocki są po to, żeby móc poprawić niedociągnięcia…

Modele alternatywne nie są już tak popularne jak niegdyś, jednakże ten zestaw jest wyjątkiem: oprócz 4 modeli, które możemy zbudować z instrukcji dołączonej do oprogramowania, możemy ze strony Mindstorms pobrać masę dodatkowych projektów (instrukcji, gotowych programów), stworzonych tylko z tego zestawu.

Na pochwałę zasługuje czytelna instrukcja (szkoda jedynie, że nie zabezpieczono jej dodatkową tekturą). Początkowo nie rozumiałem, dlaczego w głównej książeczce znajduje się tylko instrukcja potrzebna do budowy startowego modelu – zostałem oświecony w momencie, kiedy zobaczyłem, ile stron instrukcji miałyby poszczególne modele (Shooterbot: 22 + 4 + 20 + 2 (łącznie 48), Robogator: 20 + 4 + 65 + 17 (106), Color Sorter: 102 + 6 + 18 + 22 (148), Alpha Rex: 73 + 51+ 13 + 2 (139); łącznie wszystkich stron 441). Do tego dodajcie jeszcze strony pokazujące, w jaki sposób zaprogramować poszczególne kroki.
Taka ponad 400-stronicowa instrukcja byłaby niewygodna i wpłynęłaby negatywnie na cenę zestawu.

Czy Mindstorms nadaje się jako zabawka dla dziecka? Nie mówię nie, ale dobrze by było, gdyby jakiś dorosły czuwał w pogotowiu – na wypadek, gdyby pociecha miała jakieś problemy i w wyniku czegoś w rodzaju dzikiej furii nie zniszczyła jakiegoś kabla.

Mindstorms nadaje się również do programowania robotów dla uczelnianych celów i bardzo często możemy je spotkać na dniach otwartych studiów technicznych.

Ocena
++ aż 4 różne modele + cała masa na oficjalnej stronie mindstorms
+ solidne silniki
+ podstawowe czujniki
+ każdy model ma specyficzne funkcje
+ możliwość tworzenia własnych programów i wrzucanie ich do NXT
+ niskie wymagania sprzętowe
+ możliwość programowania w różnych językach (nie tylko poprzez dołączony software)
+ czytelna i przyswajalna instrukcja
+ prosty interfejs NXT
+ chodzący robot (Alpha Rex) :D
+++ to ŻYJE!!!
+/- naklejki
+/- pomijając elektronikę – dość przeciętne klocki (ale wystarczają w zupełności do budowy różnych ciekawych modeli)
– brak tekturki ochronnej do instrukcji
– trzeba dokupić sobie czujniki do odczytywania głosu/temperatury
– 4 porty wejściowe i 4 porty wyjściowe to może się okazać trochę mało
– trzeba uważać aby nie uszkodzić kabli; te kable wszędzie dyndają!
– wysoka cena

5 uwag do wpisu “8547 Mindstorms NXT 2.0

  1. Witam, fajny pomysł na bloga. :-D
    Szczególnie zainteresował mnie sorter kolorów. posiadasz do niego instrukcję i opis w jaki sposób napisać oprogramowanie? Jeżeli możesz to podeślij proszę na maila

    • Hm…. byłem pewien, że linki do instrukcji działają. Okazuje się, że działa link, ale tylko do dodatkowych modeli (jest ich 24) – z niewiadomego mi powodu, link do modeli głównych nie działa (nie pobrałem go).

      Znalazłem za to inny link:
      http://www.eurobricks.com/forum/index.php?/forums/topic/54141-alpha-rex-20/
      (3-ci od góry komentarz użytkownika DLuders). Może to coś pomoże.

      Niestety nie mam obecnie na dysku żadnego PDF-a z instrukcjami do modeli głównych. To dziwne, że LEGO nie udostępniło oficjalnie instrukcji do modeli głównych 8547 …

  2. Dzięki za pomoc. Instrukcja jest również dostępna w programie NXT-G software.
    Jednak teraz mam wiekszy problem ponieważ program który mam nie działa poprawnie i albo tacka obraca się cały czas i nie zatrzymuje się w odpowiednim miejscu, albo wyrzuca kulki jak popadnie nawet podczas obrotu tacki… masz może jakieś rady w tym temacie?
    Pozdrawiam
    Dybi

    • Hmm … jeśli dobrze rozumiem – sortera zrobiłeś według instrukcji umieszczonej w oprogramowaniu i również wykorzystałeś z niej instrukcję do napisania programu?

      Dawno nie bawiłem się NXT, ale w tej chwili przychodzą mi do głowy cztery rozwiązania:
      1) przeanalizuj bloczek po bloczku, czy nie masz jakiegoś babola w kodzie
      2) sprawdź, czy złożony robot gdzieś się nie blokuje
      3) sprawdź, czy w sieci nie ma nowszych sterowników
      4) spróbuj podmienić silnik na inny

  3. Pingback: Paczka z Mindstorms NXT i dodatkowymi częściami. Opis pudełka zestawu. - TeachersConnect

Dodaj komentarz