Przewodnik dla mentorów Mission Zero
Przewodnik dla mentorów Mission Zero
Witamy w European Astro Pi Challenge 2024/25: Mission Zero. Mission Zero oferuje młodym ludziom niesamowitą okazję napisania programu komputerowego, który będzie działał na komputerach Astro Pi na pokładzie Międzynarodowej Stacji Kosmicznej (ISS) i wyświetlał astronautom kolorowy obraz lub animację.
Ten przewodnik dla mentorów dostarcza informacji i wskazówek, które pomogą Ci wesprzeć twoje drużyny we wzięciu w nim udziału.
Po pierwsze, chcielibyśmy serdecznie podziękować wszystkim, którzy prowadzą Mission Zero z młodymi ludźmi. Dziękujemy za dzielenie się swoim czasem, wiedzą i entuzjazmem, aby wspierać nowe pokolenie twórców technologii.
Zanim zaczniesz, sprawdź kryteria kwalifikacyjne.
Nie jest wymagane wcześniejsze doświadczenie
Nie musisz mieć żadnego wcześniejszego doświadczenia w Astro Pi Challenge, aby wziąć udział w Mission Zero. Udostępniamy szereg przydatnych zasobów, które wesprą Ciebie i Twój zespół podczas misji.
Więcej informacji na temat innych zasobów, które mogą pomóc Tobie i Twojemu zespołowi, znajdziesz w dalszej części przewodnika.
Przegląd Astro Pi Mission Zero
Celem Mission Zero jest stworzenie programu, który może działać na ISS przez 30 sekund i w tym czasie będzie zbierać dane z czujnika światła komputera Astro Pi i wykorzysta je do dostosowywania kolorów obrazu lub animacji, które będą wyświetlane na matrycy LED Astro Pi.
Działania te mogą być realizowane indywidualnie lub przez zespoły składające się z maksymalnie czterech młodych ludzi pracujących razem. Gdy twoje zespoły napiszą i przetestują swoje programy, prześlą ją do sprawdzenia przez specjalistów z Fundacji Raspberry Pi oraz Europejskiej Agencji Kosmicznej. Wszystkie programy zgodne z zasadami Mission Zero otrzymają wówczas „status lotu”, który pozwoli na uruchomienie ich w kosmosie.

Zasoby i przygotowanie do misji
Oprócz tego przewodnika dla mentorów udostępniamy szereg materiałów dotyczących Mission Zero dla Ciebie i Twojego zespołu.
Wytyczne Mission Zero zawierają wszystkie wymagania i instrukcje techniczne, które pomogą młodym ludziom w tworzeniu programu w Pythonie, któremu można przyznać status lotu (uruchomić na ISS). Pomyśl o tym jako o specyfikacji, którą program musi spełniać, aby mógł zostać wzięty pod uwagę przy uruchomieniu na ISS.
Przewodnik krok po kroku Mission Zero przeprowadzi Cię przez proces tworzenia programu gotowego do lotu w kosmos, ale jeśli masz jakiekolwiek pytania, skontaktuj się z Astro Pi Mission Control, wysyłając wiadomość e-mail na adres [email protected]. Nie wahaj się z nami skontaktować — chętnie Cię wysłuchamy.
Aby pomóc Ci przedstawić Astro Pi Challenge i Mission Zero, możesz użyć tego zestawu slajdów. Zawiera on link do widoku ISS w Google Street View, który Twój zespół może użyć, aby znaleźć komputery Astro Pi na pokładzie stacji. Slajd pokazuje również i zawiera link do tego interaktywnego kolażu PDF niektórych pikselowych dzieł sztuki stworzonych na potrzeby wyzwania 2022/23.
Aby ukończyć Mission Zero, zespoły będą potrzebować:
Komputera z dostępem do Internetu
Aktualną przeglądarkę internetową
Udział w Mission Zero wymaga około 1–2 godzin kontaktu/czasu pracy nad projektem.
Twoje zespoły będą pisać swoje programy, korzystając z naszego edytora kodu online, który zapewnia również emulację komputera Astro Pi, dzięki czemu zespoły będą mogły zobaczyć, jak ich dzieło będzie wyglądało na ISS.
Co dokładnie musi robić program?
Istnieją 4 wymagania, które musi spełniać program w Mission Zero. Są one wyświetlane na dole edytora kodu online.
Po spełnieniu każdego z wymogów pojawi się zielony znacznik. Programy, które działają przez ponad trzydzieści sekund z powodu powolnego urządzenia lub słabego połączenia internetowego, otrzymają komunikat o błędzie zamiast zielonego znacznika. Możesz przesłać program swojego zespołu, jeśli jest on przekroczony z takich powodów.

Naprawdę zabawną częścią ćwiczenia jest projektowanie obrazów, które będą wyświetlane na matrycy LED 8x8. Powinieneś zachęcić swoje zespoły, aby przeznaczyły dużo czasu na tę część wyzwania.
Przewijając wiele obrazów z niewielkimi zmianami pomiędzy nimi, łatwo jest stworzyć naprawdę zabawną animację. Wiele wpisów z zeszłego roku zaczynało się od przykładowych obrazków podanych w przewodniku krok po kroku, a następnie je animowano, jak na przykład kłapiący krokodyl, dziobiący kurczak i pełzający wąż z początku tego przewodnika.
Lub jeśli czują się naprawdę kreatywni, Twój zespół może zaprojektować nową postać i animować jej ruchy.
Aby pomóc swoim zespołom w projektowaniu, możesz wydrukować kilka siatek do wypełnienia kredkami lub skorzystać z jednego z wielu dostępnych w sieci narzędzi do grafiki rastrowej, takich jak pixilart.com (upewnij się, że wybrana jest siatka 8x8). Utworzenie nowych kolorów może również świetnie ożywić projekt. W Internecie dostępnych jest wiele narzędzi do mieszania kolorów, takich jak to, których można użyć do stworzenia szczególnie żywego odcienia czegokolwiek.
Możesz zachęcać swoje zespoły, aby były tak kreatywne jak im się podoba, ale przypomnij im, że istnieje kilka ograniczeń dotyczących rodzaju treści, które można wyświetlać na ISS. W obrazach i animacjach niedozwolone są takie elementy:
Wszystko, co można zinterpretować jako nielegalne, powiązane politycznie lub drażliwe
Flagi, ponieważ niestety w niektórych kontekstach można je uznać za drażliwe politycznie
Wszystko, co odnosi się do nieprzyjemności lub krzywdy wyrządzanej innej osobie
Dane osobowe, takie jak numery telefonów, kontakty z mediów społecznościowych i adresy e-mail
Nieprzyzwoite obrazy
Wulgarny język lub przekleństwa
Wszystkie zgłoszenia są dokładnie sprawdzane, a podstępne próby przepuszczenia czegoś przez zespół testujący nie powiodą się. Na przykład pisanie nieodpowiedniej wiadomości po jednym znaku na raz. Dobrym pomysłem jest upewnienie się, że każda młoda osoba biorąca udział w badaniu jest świadoma tych ograniczeń. Co roku musimy rozczarować niektórych uczestników, nie uruchamiając ich programów ze względu na obecność flag.
Jak zarejestrować się jako mentor Mission Zero
Możesz zarejestrować się jako mentor Mission Zero za pośrednictwem strony internetowej Astro Pi. Kliknij link „Mission Zero” u góry strony. Następnie przewiń w dół i kliknij link rejestracyjny.
Jest to prosty proces, który polega jedynie na założeniu konta Raspberry Pi. Jeśli masz już jedno z nich, sprawa jest jeszcze łatwiejsza i możesz po prostu się zalogować.
Jeśli nie masz konta Raspberry Pi to kliknij link aby je utworzyć i podaj typowe informacje. W ramach procesu rejestracji otrzymasz e-mail z kodem weryfikacyjnym.
Po zalogowaniu się zostaniesz poproszony o wyrażenie zgody na niektóre zasady ochrony prywatności. Następnie wybierz Mission Zero.
Zostaniesz poproszony o odpowiedzi na kilka prostszych pytań, w tym o to, gdzie chcesz prowadzić Mission Zero. Może to być szkoła, klub, drużyna harcerska lub inne miejsce, lub być może każde z nich. Jeśli zamierzasz zgłaszać zespoły z różnych miejsc (np. grupa CoderDojo i drużyna harcerska), po prostu powiedz nam o tym, skąd sądzisz, że pojawią się większość Twoich zgłoszeń.
Następnie zobaczysz ekran taki jak ten, z wyświetlonym kodem Twojej klasy. To jest jedyna rzecz, której Twoje zespoły będą potrzebować, aby przesłać swoje programy, a on automatycznie połączy je z Twoim kontem.
Nie ma ograniczeń na liczbę zespołów, które mogą przesyłać zgłoszenia przy użyciu kodu Twojej klasy. Sprawdź, czy Twoje zespoły spełniają kryteria kwalifikacji tutaj.
Jak przesłać wpis
Kiedy Twoje zespoły mają działający program i zaznaczone są pola wyboru na dole edytora kodu, mogą przesłać swój program. Po wprowadzeniu kodu Twojej klasy i wybraniu nazwy zespołu przejdą do krótkiego formularza, w którym zostaną poproszone o podanie kilku szczegółów.
Jeśli istnieje więcej niż jeden uczestnik, który pracował nad tym programem, kliknij na +Dodaj członka zespołu, aby dodać również jego dane. Nazwa zespołu i imiona wszystkich członków zespołu pojawią się na unikalnych certyfikatach, które zostaną wysłane po uruchomieniu programów na ISS.
Na odwrocie każdego certyfikatu będzie także mapa pokazująca lokalizację ISS nad Ziemią w momencie uruchomienia programu.
Otrzymasz e-mail dla każdego zgłoszonego zespołu. Jeśli organizujesz Mission Zero z dużą grupą, możesz użyć tych e-maili, aby sprawdzić, czy wszystkie zgłoszenia zostały przesłane poprawnie. Informacje te możesz także sprawdzić logując się na swoje konto Raspberry Pi i sprawdzając hub Mission Zero.

Rozwiązywanie problemów Mission Zero
Zapisywanie pracy między sesjami Zespoły mogą zapisywać swoje programy, klikając przycisk Zapisz w projekcie startowym Mission Zero. Będą musieli wpisać nazwę zespołu, imię każdego członka i kod klasy, który im podałeś. Dlatego proszę przeznaczyć na to trochę czasu w swojej sesji.
Ładowanie programu Aby załadować program, zespoły mogą po prostu wprowadzić kod klasy i nazwę zespołu, a zapisany program pojawi się w projekcie startowym Mission Zero.
Dlaczego mój program nie działa? Trudno przewidzieć, na jakie błędy programistyczne mogą natrafić Twoi programiści, ale poniżej przedstawiono kilka typowych błędów. Zasadniczo zawsze porównuj z przykładowym kodem pokazanym w przewodniku krok po kroku i poszukaj literówek i różnic w formatowaniu linii. Przewodnik krok po kroku zachęca programistów do wprowadzania niewielkich zmian i uzupełnień w kodzie, a następnie uruchamiania programu w celu sprawdzenia, czy wszystko działa. Takie podejście znacznie ułatwia znalezienie błędu.
Oto kilka przykładowych błędów, na które możesz się natknąć:

Using Variables In Mission Zero
This video describes the use of variables in Mission Zero, and explains why you can't use the same letter both for colour variables and the loop counter.
NameError: name 'c' is not defined on line 16 of main.py (NameError: nazwa 'c' nie jest zdefiniowana w linii 16 pliku main.py)
Nie ma nic złego w żadnej linii kodu w podanym przykładzie. Jednak jednoliterowe zmienne kolorów użyte w obrazie są zdefiniowane dopiero po liście tworzącej sam obraz. Przeniesienie linii 27–30 powyżej definicji listy rozpoczynającej się w linii 16 rozwiąże ten problem. Kluczową nauką jest to, że nie możesz używać zmiennej w Pythonie, dopóki nie przypiszesz jej wartości.

„Moja animacja nie działa”
W takim przypadku program będzie działał bez żadnych błędów, ale będzie wyświetlał tylko drugi obraz w sekwencji animacji. Dzieje się tak dlatego, że pomiędzy wyświetleniem obu klatek nie ma przerwy. Dodanie linii sleep(1) pomiędzy liniami 45 i 46 rozwiąże ten problem.

SyntaxError: bad input on line 34 of main.py (SyntaxError: nieprawidłowe dane wejściowe w linii 34 pliku main.py)
Linia 34 jest wcięta i dostosowana do listy powyżej. Należy usunąć tabulator na początku tej linii.

SyntaxError: bad input on line 33 of main.py (SyntaxError: nieprawidłowe dane wejściowe w linii 33 pliku main.py)
Oprócz zgłoszonego numeru linii problem wygląda identycznie do poprzedniego. Jednak przyczyna jest tym razem nieco inna. Na końcu linii 30 w liście brakuje zamykającego nawiasu kwadratowego. Jest to częsty problem — czasami przyczyna nie leży w linii podanej w komunikacie o błędzie.

NameError: name 'set_pixels' is not defined on line 33 of main.py (NameError: nazwa 'set_pixels' nie jest zdefiniowana w linii 33 pliku main.py)
Problem tutaj może być trudny do wykrycia, zwłaszcza jeśli patrzysz przez ramię programisty na mały ekran. To tylko literówka jednoznakowa: przecinek pomiędzy sense i set w linii 33 powinien być kropką.

Skończyłem
Można stworzyć program spełniający wymagania, dodając tylko kilka linijek do kodu początkowego. Jeśli masz bystrego programistę, który to zrobił, lub takiego, który odkrył cały przykład i po prostu go wkleił, zachęć go do większej indywidualizacji swojej pracy, dodając dodatkowe klatki do animacji lub wybierając żywe kolory.
How To Animate Your Image In Mission Zero
This video shows how to take your Mission Zero code further by animating your images.
Coś poszło nie tak i straciłem swój program
Czasami programiści mogą przypadkowo zamknąć kartę lub przeglądarkę, a może wystąpił problem z komputerem. Jeśli tak się stanie, warto ponownie otworzyć wszystko, ponieważ istnieje szansa, że wciąż dostępna jest wersja z pamięci podręcznej. Jeśli tak się nie stanie, niestety nie można nic zrobić, aby odzyskać pracę, chyba że została wcześniej zapisana. Nieuchronnie tego rodzaju problemy pojawiają się pod koniec sesji, gdy nie ma wystarczająco dużo czasu, aby zacząć od nowa. Jednak sekcja 4 przewodnika krok po kroku zawiera ukończoną wersję prawidłowego programu Mission Zero. Pechowe zespoły mogą skopiować i wkleić ten kod, aby szybko coś uruchomić. Nie na wiele się to zda, jeśli spędzili wieki pracując nad niesamowitą animacją, ale przynajmniej będą mogli coś przesłać, uruchomić na ISS i otrzymać certyfikat.
Jeśli masz zespół, który tworzy wiele linii kodu, zachęcaj jego członków do regularnego zapisywania swojej pracy.
Mój kod działa dłużej niż 30 sekund
Mimo że program Mission Zero ma 29 klatek z 1-sekundowym opóźnieniem między nimi, czasami jego wykonanie może zająć ponad 30 sekund, jeśli jest uruchamiany na starszym komputerze. Jeśli program przechodzi przez ten sam obraz, jak pokazano w przewodniku krok po kroku, najłatwiejszym rozwiązaniem jest po prostu zmniejszenie liczby pętli, tak aby zakończyć go w czasie krótszym niż 30 sekund. Jeśli istnieje 29 unikalnych klatek niestandardowej animacji, zmniejsz czas interwału.
Kod klasy nie działa
Sprawdź, czy jest wpisywany poprawnie. Kody klasy używają myślników między dwoma częściami składowymi. Są one również wrażliwe na wielkość liter.
Mentorzy otrzymują co roku nowy kod klasy, do którego można uzyskać dostęp z Mission Hub. Jeśli wcześniej zarejestrowałeś się na koncie Raspberry Pi w 2023/24, po prostu odwiedź Mission Hub, aby zobaczyć swój nowy kod na 2024/25.
Zarejestruj się na swoje konto mentora tutaj, jeśli robisz Mission Zero po raz pierwszy. Zobaczysz swój kod klasy na rok 2024/25, gdy się zarejestrujesz.