Astro Pi Mission Zero je projekt ESA ve spolupráci s nadací Raspberry Pi. Úkolem je vytvořit v programovacím jazyce Python jednoduchý kód. Ten bude po schválení spuštěn na ISS a autor získá certifikát obsahující mapu s místem a časem spuštění programu.
Kromě Mission Zero se mohou účastníci zapojit do Mission Space Lab, kde je vyžadována detailnější znalost programovacího jazyka a zadaný úkol je složitější.
V Mission Zero je za úkol zobrazit na LED panelu Astro Pi obrázek a použít senzor osvětlení. Maximální doba běhu programu je stanovena na 30 s. Účastnit se díky svému jednoduchému zadání a výborným instruktážním materiálům mohou všichni do věku 19 let včetně. U malých dětí je vyžadován mentor.
Projektu jsme se nechtěli účastnit, ale byl to tahový „hec“. Těsně před koncem jsem se rozhodl zkusit naučit Lucinku trochu programovat. Byť ve svých 4 letech nikdy neprogramovala a s počítačem nepracuje, přišlo mi jako dobrý úkol vyzkoušet, co dalšího může dítě v tomto věku zvládnout.
Původně jsem chtěl začít se Scratch, ale nakonec jsem zvolil jiný přístup. Celý týden se stal od ranního vstávání po příchod do školky řadou různých programových kroků s rozhodováním. A Lucinka vše zvládla bravurně. Sama cestu slovně „programovala“ – říkala, jaký krok dělá a co dalšího bude následovat.
Najednou tu byl pátek a my měli několik dní na vytvoření programu. Lucinka jako autorka, já mentor.
Prvotní návrh byl program, který pracuje na technologickém demu LASARsatu. Tedy opakující se srdíčka, smajlík a smutník. Demo LASARsatu a program jsme vytvořili pro LASAR doma a stal se častým návštěvníkem různých akcí a TV pořadů. Původně to byla pouze legrace, která měla fungovat pouze hodinu. Náš nápad se líbil a demo LASARsat přejmenoval Simon Klinga na LUCKAsat :-)
Software LUCKAsatu ale Lucinka neprogramovala. Jejím úkolem bylo pájení a testování funkčního celku. Elektronice poměrně dobře rozumí a pájí i integrované obvody, tak to pro ni byla hračka.
Protože v Astro Pi Mission Zero nemá být program s negativním obsahem, vytvořila Lucinka obrázky sebe, ségry Terezky a Paxiho. Po spuštění programu se střídají malá a velká srdce, následovaná pozdravem pro Paxiho s obrázky holek.
Programování zabralo Lucince páteční odpoledne a skoro celý sobotní den.
Byl jsem překvapen na jak abstraktních projektech může pracovat. A opravdu programovala sama. Až neuvěřitelně převáděla obrázkové matice do proměnných. Každý barevný pixel musela nahradit číselnou kombinací z definované tabulky. Velkou výhodou je, že ve svém věku umí číst a psát. Nicméně, protože není zvyklá s počítačem pracovat, dělalo jí zpočátku největší problémy najít správná písmenka na klávesnici. Zde se ukázala potřeba mentora a písmenka jsem jí po chvilce samo-hledání pomohl nalézt. Lucince pomohlo také kopírování již vytvořených částí kódu jak z příručky Astro Pi na internetu, tak své už napsané části.
A co hnalo Lucinku stále na programu pracovat? V simulátoru viděla, jak její kód pracuje a chtěla přidávat další a další funkce.
Prvních několik řádek kódu je předpřipravených v programovacím prostředí. Kódy barev jsou zkopírovány z ukázkových kódů Astro Pi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# Importuj knihovny from sense_hat import SenseHat from time import sleep # Nastav Sense HAT sense = SenseHat() sense.set_rotation(270) # Nastav senzor barev sense.color.gain = 60 # Nastav citlivost senzoru sense.color.integration_cycles = 64 # Interval, který udává frekvenci měření ze senzoru # Přidej proměnné s barvami a obrázek a = (255, 255, 255) # Bílá c = (0, 0, 0) # Černá m = (34, 139, 34) # Lesní zelená v = (255, 0, 0) # Červená h = (0, 255, 255) # Azurová t = (255, 140, 0) # Tmavě oranžová l = (0, 255, 127) # Jarní zeleň p = (240, 230, 140) # Khaki e = (0, 0, 205) # Středně modrá srdce_male = [ c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, v, c, c, v, c, c, c, v, v, v, v, v, v, c, c, c, v, v, v, v, c, c, c, c, c, v, v, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c] srdce_velke = [ c, c, c, c, c, c, c, c, c, v, v, c, c, v, v, c, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, c, v, v, v, v, v, v, c, c, c, v, v, v, v, c, c, c, c, c, v, v, c, c, c, c, c, c, c, c, c, c, c] rgb = sense.color # Získej barvu ze senzoru x = (rgb.red, rgb.green, rgb.blue) smajlik = [ c, c, x, x, x, x, c, c, c, x, c, c, c, c, x, c, x, c, a, c, c, a, c, x, x, c, c, c, c, c, c, x, x, c, l, c, c, l, c, x, x, c, c, l, l, c, c, x, c, x, c, c, c, c, x, c, c, c, x, x, x, x, c, c] paxi = [ v, c, v, v, v, v, c, v, c, m, m, m, m, m, m, c, v, m, a, m, m, a, m, v, v, m, m, m, m, m, m, v, v, m, c, m, m, c, m, v, v, m, m, c, c, m, m, v, c, v, m, m, m, m, v, c, m, m, v, v, v, v, m, m] luci = [ c, p, p, p, p, p, p, c, c, p, p, p, p, p, p, c, c, p, p, c, p, c, p, c, c, p, v, p, t, p, p, c, c, p, v, v, v, v, p, c, e, p, p, p, p, p, p, e, c, c, e, c, c, e, c, c, c, c, e, c, c, e, c, c] teri = [ c, p, p, p, p, p, p, c, c, p, p, p, p, p, p, c, c, p, p, c, p, c, p, c, c, p, v, p, t, p, p, c, c, p, v, v, v, v, p, c, v, p, p, p, p, p, p, v, c, c, v, c, c, v, c, c, c, c, v, c, c, v, c, c] # Zobraz obrázek # 2 krát malé a velké for i in range(2): sense.set_pixels(srdce_male) sleep(1) sense.set_pixels(srdce_velke) sleep(1) sense.set_pixels(smajlik) sleep(1) sense.show_message("Hi Paxi", 0.05) sense.set_pixels(paxi) sleep(2) sense.show_message("from Luci", 0.05) sense.set_pixels(luci) sleep(2) sense.show_message("and Teri", 0.05) sense.set_pixels(teri) |
Po Astro Pi challenge jsme s Lucinkou začali společně pracovat na další verzi software pro LUCKAsat.
Lucinky program byl na ISS spuštěn 15. 5. 2025 ve 23:10 přímo na Mexickým zálivem.