Prozkoumejte vesmír s Minecraftem

Toto je volný překlad projektu Exploring space with Minecraft.

Hannah Belshaw z Cumnor House Girls School se v roce 2015 stala jednou z vítězek soutěže Astro Pi competition. Projekt SpaceCRAFT, který za pomoci Martina O’Hanlona vytvořila, umožňuje vizualizaci dat získaných z Astro Pi ve světě Minecraftu, a nejen to. Zajímá Vás, co dalšího dokáže? Neváhejte a pojďte objevovat s námi.

Co se naučíte?

  • Co je to Sense HAT a co umí
  • Pracovat s daty získanými ze Sense HATu, a to hned několika způsoby. Naučíte se:
    • Sledovat aktuální data přímo v Minecraftu
    • Získávat dat a analyzovat je pomocí tabulkového procesoru
    • Vizualizovat získaná data v Minecraftu

Projekt obsahuje prvky následujících částí vzdělávacího programu Raspberry Pi Digital Making Curriculum:

  • Programming, část Builder: Can programmatically read and manipulate a data structure
  • Physical computing, část Creator: Can write programs to read data from digital and analogue inputs and to control digital and analogue outputs

Co budete potřebovat

Tento projekt není nikterak náročný, potřebujete pro něj následující:

Hardware

Software

  • Raspbian Full
  • program SpaceCRAFT
  • Python modul

Stažení a instalace

SpaceCRAFT společně s Python modulem získáte jednoduše. Otevřete příkazový řádek Menu > Příslušenství > LXTerminal a zadejte následující příkazy. Každý příkaz přitom zadejte zvlášť a potvrďte stisknutím klávesy Enter.

cd ~
git clone https://github.com/astro-pi/SpaceCRAFT

Podrobnou dokumentaci programu u Python modulu naleznete zde (v anglickém jazyce).

Průzkum Sense HATu… v Minecraftu

SpaceCRAFT obsahuje program, jenž nám v Minecraftu vytváří interaktivní Astro Pi (Raspberry Pi se Sense HATem). Jedná se o skvělý způsob, jak zjistit, co vaše Astro Pi umí.

Spusťte Minecraft

Spusťte Minecraft Pi – Menu > Hry > Minecraft Pi.

Vstupte do svého světa, nebo si vytvořte nový – Start Game nebo Create new.

Stisknutím klávesy Esc se vraťte do menu a uvolníte si tak kurzor myši.

Spusťte program interaktivního Astro Pi

Otevřete příkazový řádek – Menu > Příslušenství > LXTerminal – a zadejte následující příkazy.

cd ~/SpaceCRAFT/spacecraft
python3 mcinteractiveastropi.py

V Minecraftu, přímo nad hlavou vaší postavy, se vytvoří interaktivní Astro Pi.

Prozkoumejte svůj Sense HAT z Minecraftu. Dvojtým stiskem klávesy Space se vznesete. Mezerníkem pak dál stoupáte a klávesou Shift naopak klesáte.

Sense HAT reaguje na údery mečem, vyzkoušejte si to!

Mise #1: Objevte všechny součásti Sense HATu

Senzory

K interakci se Sense HATem slouží úder mečem (kliknutí pravým tlačítkem). Přestože se to může jevit jako příliš násilné zacházení, nemusíte se bát, že Sense HAT rozbijete. Tak hurá do průzkumu! A nezapomeňte se podívat, jak na vaše virtuální údery reaguje váš skutečný Sense HAT.

LED matice

Pokud jste se v předchozím kroku drželi naší rady, jistě jste již zjistili, že pomocí úderů do LED matrice virtuálního Sense HAT můžete rozsvítit LED toho skutečného. Dalšími údery také můžete změnit barvu a vytvořit si barevné obrázky, už jste zkoušeli třeba malinu?

Joystick

LED matrice však není jediné, co na Sense HATu najdete. Jistě už jste si všimli černých kvádrů, které po zásahu vypíší aktuální data z daného senzoru. Na jaké senzory jste při průzkumu narazili? Poradíme vám, že dohromady jich je 6. Naleznete zde senzory pro teplotu, vlhkost a tlak, akcelerometr, magnetometr a gyroskop. Kromě senzorů a LED matrice jste také určitě objevili joystick. Pokud do jeho virtuální verze udeříte, Sense HAT se v Minecraftu pootočí.

Mise #2: Změňte podmínky

Zkuste teď svým Astro Pi pohnout, otočit ho nebo na něj dýchnout a sledujte, jak se naměřené hodnoty mění. Experimentujte! Nezapomínejte však na bezpečnost, rozhodně se vyhněte nalévaní vody do zařízení a podobným nebezpečným činnostem!

Zobrazení aktuálních dat

Jak již bylo zmíněno na začátku, tento projekt vyhrál v roce 2015 soutěž Astro Pi. Hannah Belshaw jej použila pro vizualizaci dat získaných pomocí Astro Pi na Mezinárodní vesmírné stanici (ISS). Stejný program můžete využít i vy pro aktuální data ze svého Sense HATu.

Spusťte Minecraft Pi – Menu > Hry > Minecraft Pi.

Vstupte do svého světa, nebo si vytvořte nový – Start Game nebo Create new.

Stisknutím klávesy Esc se vraťte do menu a uvolníte si tak kurzor myši.

Otevřete příkazový řádek – Menu > Příslušenství > LXTerminal – a zadejte následující příkazy:

cd ~/SpaceCRAFT/spacecraft
python3 mcastrorealtime.py

V Minecraftu, přímo před vaší postavou, se vytvoří interaktivní SpaceCRAFT display. Když se vrátíte do Minecraftu a podíváte se nahoru, spatříte ISS.

Čtyři pilíře

Před hráčem se objeví čtyři pilíře reprezentující aktuální data. Tři z nich pochází ze senzorů Sense HATu pro teplotu (láva), vlhkost (voda) a tlak (obsidian), poslední sloupec zobrazuje aktuální hodnotu CPU teploty (červená vlna). Vyzkoušejte, jak se hodnoty mění, když na senzory položíte prst nebo na něj dýchnete.

ISS

Na vrcholku schodů, které obtáčejí čtyři pilíře, najdete model ISS, který se otáčí a naklání v závislosti na datech získaných z akcelerometru, gyroskopu a magnetometru.

Datum a čas

V levé části naleznete modře vyobrazené datum (formát DD.MM.YY) a aktuální čas (formát HH:MM:SS). U aktuálních dat se zobrazuje aktuální čas nastavený na vašem počítači, při přehrávání záznamu dat se zobrazuje čas jejich zachycení, to však patří k jiné kapitole.

Raketa

Poslední zajímavostí, která se vám v Minecraftu objevila, je model rakety. Raketu aktivujete stisknutím joysticku.

Zaznamenávání dat

V rámci mise Principia spustil Tim Peake, astronaut Evropské vesmírné agentury, program SpaceCRAFT, který zaznamenával data získaná ze Sense HATu po dobu jednoho týdne. Program vytvořil soubor obsahující data ze všech senzorů Sense HATu. Tento soubor byl následně odeslán na Zem. V souboru jsou zaznamenána data reprezentující podmínky na ISS v době, kdy program SpaceCRAFT běžel. Stejným způsobem můžete zaznamenávat stav prostředí u vás doma, ve školní třídě, nebo kdekoli jinde.

Spuštění programu pro záznam dat

Program pro záznam dat spustíte přes příkazový řádek. Musíte mu předat několik parametrů – jak dlouho má běžet, jak často má odečítat data se senzorů, a kam je pak uložit.

Otevřete příkazový řádek – Menu > Příslušenství > LXTerminal – a pomocí následujících příkazů spusťte rychlý test. Adresa souboru, do kterého se data uloží je ~/data.csv, program poběží 60 vteřin a měření se provede každou 1 vteřinu.

cd ~/SpaceCRAFT/spacecraft
python3 astropidatalogger.py ~/data.csv 60 1 

Během tohoto testu se na LED matici zobrazí animace pro běh programu a pro čtení dat ze senzorů. Autorkou animací je Hannah Belshaw.

Práce se získanými daty

Data jsou ukládána do souboru formátu CSV (Comma-Seperated Values), což je běžný formát pro ukládání získaných dat. Tento soubor můžete otevřít v tabulkovém procesoru (např. v LibreOffice Calc, který je součástí balíčku aplikací předinstalovaných v Raspbianu).

Mise #3: Vytvořte graf z dat získaných na ISS

Říká se, že obrázek vydá za tisíc slov, a podobně je tomu u grafů. Využijte data z ISS (naleznete zde) pro vytvoření grafu, který bude zobrazovat změny jedné z veličin v průběhu času. Nahrajte data do LibreOffice Calc a použijte funkci Vložit > Graf. Tímto spustíte průvodce tvorby grafu. Podrobnější informace pro práci s grafy naleznete například zde.

Vizualizace získaných dat

Získaná data, můžete v Minecraftu vizualizovat pomocí programu mcastroplayback.py. Po spuštění Minecraftu a vstupu do světa (uloženého nebo nově založeného) se stiskem klávesy Escape dostanete do menu a uvolníte tak kurzor. Do příkazového řádku pak zadáte následující příkazy:

cd ~/SpaceCRAFT/spacecraft python3 mcastroplayback.py

Po spuštění programu se zobrazí textové uživatelské rozhraní podobné příkazovému řádku. Do něj napište příkaz help a potvrďte stiskem klávesy Enter.

Poté použijte příkaz play k zobrazení vašich dat ze souboru data.csv.

play /home/pi/data.csv

V Minecraftu se objeví vizualizace získaných dat. Vizualizaci lze zastavit příkazem stop. Program ukončíte příkazem exit.

Mise #4: Prozkoumejte další příkazy programu mcastroplayback.py

Kromě příkazů help, play, stop a exit v tomto programu naleznete ještě dva: speed a data. Zjistíte, k čemu slouží?

Pokud si nevíte rady, použijte příkaz help speed, který vám zobrazí popis příkazu (v angličtině) nebo vyzkoušejte zadat k tomuto příkazu další parametr, například speed 2.

Kam dál?

Další inspiraci pro práci se Sense HATem naleznete například v těchto článcích:

Pokud vás naopak zajímá, k čemu dalšímu je možné využít Minecraft, zkuste například:

Leave a Reply