Přeskočit na obsah

Příručka pro mentory k výzvě Mission Zero

Mission Zero Mentor Guide

Vítejte v projektu Evropská výzva Astro Pi 2024/25: Mission Zero. Výzva Mission Zero nabízí mladým lidem úžasnou příležitost napsat počítačový program, který poběží na počítačích Astro Pi na palubě Mezinárodní vesmírné stanice (ISS) a zobrazí astronautům barevný obrázek nebo animaci.

This guide for mentors provides information and tips to help you support your teams to take part.

Nejprve bychom chtěli poděkovat všem, kdo vedou mladé lidi ve výzvě Mission Zero. Děkujeme, že jste ochotni se podělit o svůj čas, znalosti a nadšení, abyste podpořili novou generaci tvůrců technologií.

Než začnete, přečtěte si prosím kritéria způsobilosti.

Nejsou vyžadovány žádné předchozí zkušenosti

Pro účast ve výzvě Mission Zero nepotřebujete žádné předchozí zkušenosti s výzvou Astro Pi. Poskytujeme řadu užitečných zdrojů, které vám a vašemu týmu během mise pomohou.

Více informací o dalších zdrojích naleznete později v této příručce.

Přehled k výzvě Astro Pi Mission Zero

Cílem výzvy Mission Zero je vytvořit program, jenž bude po dobu až 30 sekund spuštěn na ISS a během této doby shromáždí data ze světelného senzoru počítače Astro Pi a použije je k úpravě barev obrázku nebo animace, které budou zobrazeny na LED matici počítače Astro Pi.

Tuto aktivitu je možné dokončit samostatně nebo v týmech složených z maximálně 4 mladých lidí. Jakmile vaše týmy napíšou a otestují své programy, předloží je ke kontrole odborníkům z organizace Raspberry Pi Foundation a Evropské kosmické agentury. Všechny programy, které se budou řídit pravidly výzvy Mission Zero, pak obdrží „stav letu“, díky němuž budou moci být spuštěny ve vesmíru. 

Zdroje a příprava na výzvu

In addition to this mentor’s guide, we provide a number of resources for Mission Zero for you and your teams.

Pokyny pro výzvu Mission Zero obsahují veškeré náležitosti a technické pokyny, které mladým lidem pomohou vytvořit program v jazyce Python tak, aby získal stav letu (byl spuštěn na ISS). Jsou to takové podmínky, kterými se musí program řídit, aby mohl být na ISS spuštěn.  

V podrobném průvodci výzvy Mission Zero se dozvíte, jak vytvořit program připravený k vyslání do vesmíru, ale pokud máte jakékoli dotazy, obraťte se na tým Astro Pi na adrese [email protected]. Neváhejte nás kontaktovat, budeme rádi, když se nám ozvete.

Jako pomůcku pro představení výzvy Astro Pi a Mission Zero můžete použít tuto prezentaci (dostupná v angličtině). Obsahuje odkaz v rámci služby Google Street View na pohled z paluby ISS, kterou může váš tým prozkoumat a pokusit se najít počítače Astro Pi. Prezentace také obsahuje odkaz na tuto interaktivní PDF koláž některých pixelových obrázků vytvořených pro ročník 2022/23.

K dokončení výzvy Mission Zero budou týmy potřebovat:

  • počítač s připojením k internetu,

  • aktualizovaný webový prohlížeč.

Účast ve výzvě Mission Zero zabere přibližně 1 až 2 hodiny času věnovanému samotnému projektu.  

Vaše týmy napíšou své programy v našem online editoru kódu, který zahrnuje emulovaný počítač Astro Pi, díky němuž si programátoři mohou udělat představu o tom, jak bude jejich program vypadat na ISS.

Co přesně musí program udělat?

There are 4 requirements that a Mission Zero program has to meet. These are helpfully displayed at the bottom of the online code editor. 

Po splnění podmínky se u ní objeví zelené zaškrtnutí. U programů, které běží déle než 30 sekund kvůli pomalému zařízení nebo špatnému připojení k internetu, se místo zaškrtnutí zobrazí chybová hláška. Program svého týmu můžete odeslat i v případě, že z těchto důvodů stanovenou dobu překročí. 

A pixel art image of a Fox

Zábavnou částí této aktivity je navrhování obrázků, které se budou zobrazovat na matici o velikosti 8 × 8 LED. Měli byste své týmy vybídnout, aby si na tuto část výzvy vyhradily dostatek času.

Cyklením několika obrázků s pouze minimálními změnami mezi nimi lze snadno vytvořit zábavnou animaci. Spousta týmu z loňského roku začala se vzorovými obrázky uvedenými v průvodci, které následně naanimovala, čímž vznikl například plazící se had, klovající kuře nebo ohánějící se krokodýl. 

Nebo pokud se vaše týmy chtějí opravdu předvést, můžou navrhnout svoji vlastní postavu a naanimovat ji.

To help your teams with their designs, you could print out some grids for them to fill in with coloured pencils, or use one of the many online pixel art tools, like the one at pixilart.com (make sure they select an 8x8 grid). Creating new colours can also really enliven a project. There are plenty of online colour-mixing tools like this that can be used to craft a particularly vivid shade of whatever. 

Pobídněte své týmy, že kreativitě se meze nekladou, ale zároveň jim připomeňte, že je tu několik pravidel, kterými je nutné se řídit. Obrázky a animace nesmí obsahovat:

  • cokoli, co by mohlo být interpretováno jako nelegální, politické, nebo popudlivé,

  • vlajky, neboť bohužel mohou být v některých souvislostech považovány za politicky popudlivé,

  • cokoli, co přímo či nepřímo odkazuje na nepříjemnost nebo újmu způsobenou jiné osobě,

  • osobní údaje, jako jsou telefonní čísla, odkazy na sociální média nebo e-mailové adresy,

  • neslušné obrázky,

  • vulgární výrazy nebo nadávky.

Všechny příspěvky budou důkladně kontrolovány a jakkoli rafinované pokusy překonat testovací tým – jako například hláskování nevhodného sdělení po jednotlivých znacích – skončí neúspěchem. Je dobré se ujistit, že každý účastník si je vědom těchto omezení. Každoročně musíme některé účastníky zklamat tím, že jejich programy neschválíme, protože obsahují vlajky.

How to register as a Mission Zero mentor

You can register as a Mission Zero mentor via the Astro Pi website. Click on the Mission Zero link at the top of the page. Then scroll down and click on the registration link.

Jedná se o jednoduchý proces, v rámci něhož si pouze vytvoříte účet Raspberry Pi. Pokud již účet máte, stačí se jen přihlásit.

Pokud účet Raspberry Pi nemáte, klikněte na odkaz, zadejte obvyklé údaje a vytvořte si jej. Během procesu registrace vám bude zaslán ověřovací kód. 

Po přihlášení budete požádáni o udělení souhlasu ke zpracování osobních údajů. Následně vyberte možnost Mission Zero.

Zeptáme se vás na několik dalších jednoduchých otázek, například odkud hodláte výzvu Mission Zero spustit. Může to být škola, kroužek, skautský oddíl, jiné místo nebo třeba všechny tyto možnosti. Pokud se chystáte přihlásit týmy z různých míst (např. z klubu CoderDojo a skautského oddílu), řekněte nám pouze o tom, odkud si myslíte, že bude pocházet většina vašich zúčastněných. 

Poté se zobrazí obrazovka, jako je tato, se zobrazeným kódem třídy. To je jediná věc, kterou budou vaše týmy potřebovat k odeslání svých programů, a automaticky je propojí s vaším účtem.

Počet týmů, které mohou odeslat svůj program pomocí vašeho kódu třídy, není nijak omezen. Ujistěte se, že vaše týmy splňují kritéria způsobilosti zde.

Jak odeslat příspěvek

Jakmile vaše týmy vytvoří funkční program a zaškrtnou políčka v dolní části editoru kódu, mohou svůj program odeslat. Jakmile zadají kód třídy a zvolí název svého týmu, přejdou na krátký formulář, do něhož doplní několik údajů. 

Pokud na programu pracovalo více účastníků, klikněte na + Přidat člena týmu a zadejte i jejich údaje. Název týmu a křestní jména všech jeho členů se objeví na jedinečných certifikátech, které budou zaslány po spuštění programů na ISS.

Na zadní straně každého certifikátu bude také mapa zobrazující polohu ISS nad Zemí v době, kdy byl program spuštěn. 

Pro každý přihlášený tým obdržíte e-mail. Pokud plníte výzvu s velkou skupinou, můžete tyto e-maily použít ke kontrole, zda byly všechny příspěvky správně odeslány. Tyto informace můžete také zkontrolovat po přihlášení k účtu Raspberry Pi v sekci Mission Hub. 

MZ submission of a rainbow

Troubleshooting Mission Zero

Saving work between sessions Teams can save their programs by clicking the Save button on the Mission Zero starter project. They will need to enter a team name, each member’s name, and the classroom code you have given them. So please allow some time for this in your session.

Loading your program To load a program, your teams can simply enter the classroom code and their team name, and their saved program will appear in the Mission Zero starter project.

Why isn’t my program working? It is difficult to predict what programming errors your coders may encounter, but a few common ones are shown below. As a general rule, always check with the example code shown in the step-by-step guide and look for typos and differences in the line formatting. The step-by-step guide encourages the programmers to make small changes and additions to their code and then run the program to check everything is working. This approach makes it much easier to find an error.

Here are some examples of errors you may encounter:

NameError: name 'c' is not defined on line 16 of main.py

V tomto případě jsou všechny řádku kódu v pořádku. Jednopísmenné proměnné s barvami použité v obrázku jsou však definovány až za seznamem, který tvoří samotný obrázek. Přesunutí řádků 27–30 před seznam, který začíná na řádku 16, tento problém vyřeší. Je důležité poznamenat, že proměnnou v jazyce Python nelze použít, dokud nemá přiřazenou hodnotu.

screen grab of c not defined mz CODE error

„Moje animace nefunguje!“

V tomto případě program proběhne zcela bez chyb, ale zobrazí pouze druhý obrázek v sekvenci animace. To se děje proto, že mezi zobrazením dvou snímků není žádná pauza. Tento problém lze vyřešit přidáním řádku sleep(1) mezi řádky 45 a 46.

Screen grab of MZ starter project code error

SyntaxError: bad input on line 34 of main.py

Řádek 34 je odsazený a zarovnaný s výše uvedeným seznamem. Odsazení tabulátorem na začátku tohoto řádku je třeba odstranit. 

MZ starter code error screen grab - indentation

SyntaxError: bad input on line 33 of main.py

Kromě čísla řádku se zdá, že je tento problém totožný s předchozím. Příčina je však trochu odlišná. V tomto případě chybí na konci řádku 30 pravá hranatá závorka ze seznamu. Často se stává, že na vině není právě číslo řádku uváděné v chybové zprávě.

Screen grab of MZ starter project code error

NameError: name 'set_pixels' is not defined on line 33 of main.py

Tento problém může být obtížné odhalit, zejména pokud se díváte na malou obrazovku přes rameno programátora. Jedná se pouze o překlep jednoho znaku: čárka mezi sense a set na řádku 33 má být tečkou.

Screen grab of MZ starter project set_pixels code error

Mám hotovo

Aby program splňoval požadavky, stačí do startovacího kódu přidat pouze pár řádku. Pokud máte šikovného programátora, který si s tím dokázal poradit, nebo někoho, kdo objevil dokončený kód a pouze ho vložil, povzbuďte je, aby svůj kód vylepšili přidáním dalších snímků do animace nebo výběrem zajímavých barev.

Něco se pokazilo a program se ztratil

Někdy se programátorům může stát, že omylem zavřou kartu či prohlížeč, nebo případně mohlo dojít k problémům s počítačem. Pokud taková situace nastane, stojí za to vše znovu otevřít, protože je možné, že bude k dispozici verze uložená v mezipaměti. Pokud se žádný kód nenačte, pak bohužel neexistuje způsob, jak práci bez předešlého uložení obnovit. K takovým problémům především dochází ke konci sezení, kdy už nezbývá dostatek času začít od znovu. Nicméně ve 4. kapitole podrobné příručky je k dispozici hotová verze platného programu výzvy Mission Zero. Nešťastné týmy mohou tento kód zkopírovat a vložit do editoru, čímž získají alespoň nějaký základ, se kterým se dá pracovat. Bohužel je to pouze malá útěcha pro ty, kteří strávili hromadu času tvořením úžasných animací, ale alespoň budou moci odeslat něco, co bude spuštěno na ISS, a získají tak certifikát. 

Pokud máte tým, který píše spoustu řádků kódu, připomeňte jeho členům, aby často ukládali svoji práci.

Můj program běží déle než 30 sekund

Přestože má program 29 snímků s jednosekundovou prodlevou mezi nimi, může na starším počítači někdy běžet déle než 30 sekund. Pokud program cyklí stejným obrázkem, jak je uvedeno v průvodci, pak je nejjednodušším řešením pouze snížit počet cyklů tak, aby byl proběhl za méně než 30 sekund. Pokud je v animaci 29 rozdílných snímků, pak zkraťte dobu intervalu.

Kód třídy nefunguje

Ujistěte se, že kód je zadán správně. Kódy třídy používají spojovníky mezi dvěma dílčími slovy a také rozlišují malá a velká písmena.

Mentorům je každý rok přidělen nový kód třídy, který je k dispozici v sekci Mission Hub. Pokud jste se v minulém ročníku 2023/24 již zaregistrovali pomocí účtu Raspberry Pi, stačí navštívit sekci Mission Hub a obdržet nový kód pro ročník 2024/25. 

Pokud se výzvy Mission Zero účastníte poprvé, zaregistrujte se jako mentor zde. Kód třídy pro ročník 2024/25 se zobrazí po registraci.