Pierwsze kroki z minikomputerem Astro Pi Raspberry Pi pomaga zrozumieć język programowania Witamy w konkursie European Astro Pi Challenge! Astro Pi to nazwa minikomputera opracowanego przez Raspberry Pi Foundation we współpracy z Brytyjską Agencją Kosmiczną i Europejską Agencją Kosmiczną (ESA). Istnieją dwa bardzo szczególne komputery Astro Pi. Jeden nazywa się Ed, a drugi Izzy. Zostały one zakwalifikowane do lotu w kosmos. W tej chwili znajdują się na pokładzie Międzynarodowej Stacji Kosmicznej (ISS) i są do dyspozycji takich uczniów, jak Ty. W pierwszym zestawie zadań zmontujesz swój minikomputer Raspberry Pi po raz pierwszy i nauczysz się języka kodowania niezbędnego do programowania Astro Pi. Dzięki temu masz szansę na uruchomienie swojego własnego kodu i przeprowadzenie eksperymentu naukowego na stacji ISS. Sprzęt o o o o Zestaw Astro Pi Monitor Klawiatura USB Mysz USB Zadanie 1 Poznajemy minikomputer Raspberry Pi Raspberry Pi jest bardzo podobnym do komputerów, które już znamy, za wyjątkiem rozmiaru i wyglądu. Minikomputera Raspberry Pi można używać do przeglądania Internetu i wysyłania poczty elektronicznej, a także przekształcić go w odtwarzacz muzyczny MP3 i uprzyjemnić wolny czas astronautom na międzynarodowej stacji kosmicznej ISS. Ale można zrobić dużo więcej! Można prowadzić eksperymenty naukowe, wykorzystując to narzędzie komputerowe i analizować zebrane dane - tak, jak robią to naukowcy w kosmosie! W tym zadaniu skonfigurujesz swój minikomputer Raspberry Pi i poznasz jego możliwości. Ćwiczenie 1. Aby rozpocząć misję Astro Pi, potrzebny będzie specjalny sprzęt, który znajduje się w zestawie. Potrzebny będzie również monitor, klawiatura i mysz. Rysunek 1 ukazuje cały potrzebny sprzęt. Oznacz różne elementy minikomputera Raspberry Pi, ukazane na Rysunku 1 (karta Micro SD, adapter karty SD, minikomputer Raspberry Pi 3, zasilacz z wtyczką UE, kabel HDMI).
1. 2. 3. 4. 5. 1 3 2 4 5 Rysunek 1 Podzespoły minikomputera Raspberry Pi 2. Teraz zmontujesz swój minikomputer Raspberry Pi! Aby to zrobić, wykonaj instrukcje od I do IV, patrząc na Rysunek 2 poniżej. Rysunek 2 Sposób montażu minikomputera Raspberry Pi I. Wyjmij kartę SD z adaptera kart SD. Umieść ją w gnieździe kart SD minikomputera Raspberry Pi. Pasuje ona tylko w jeden sposób. II. Podłącz klawiaturę i mysz do portów USB. III. Podłącz kabel HDMI od monitora (lub telewizora) do portu HDMI minikomputera Raspberry Pi i włącz monitor. PORADA: To może być najtrudniejszy etap montażu minikomputera Raspberry Pi. Trzeba upewnić się, czy wybrane zostało właściwe wejście (HDMI, DVI itp.). Jeżeli monitor posada tyko wejście VGA (Rysunek 3), trzeba użyć adaptera HDMI-VGA (w zestawie).
Rysunek 3 Porty VGA i HDMI IV. Podłącz zasilacz micro-usb. Czynność ta spowoduje włączenie i uruchomienie minikomputera Raspberry Pi. Może to zająć do 5 minut. Lampka minikomputera powinna migać, a na monitorze powinien pojawić się tekst. Gdy Raspberry Pi zakończy proces uruchamiania, a tekst na ekranie przestanie się przesuwać, zobaczysz pulpit taki jak ten na Rysunku 4. Rysunek 4 - Pulpit, czyli graficzny interfejs użytkownika 3. Można teraz rozpocząć korzystanie z oprogramowania minikomputera Raspberry Pi. Można na przykład otworzyć przeglądarkę sieci Web i surfować po Internecie. Aby to zrobić, kliknij menu główne u góry ekranu (logo Raspberry) i wybierz Internet > Chromium Web Browser (aby korzystać z Internetu, konieczny jest dostęp do WiFi). Używając sieci Web, spróbuj odnaleźć aktualną lokalizację stacji ISS. Zapisz ją. 4. Zapoznaj się z oprogramowaniem Raspberry, wybierając różne opcje z menu programowania. Gdy już skończysz, zastanów się czy potrafisz wyjaśnić różnicę pomiędzy sprzętem i oprogramowaniem?
Uwaga: Aby wyłączyć minikomputer Raspberry Pi, nie należy po prostu wyciągać wtyczki. Po zakończeniu pracy z minikomputerem, należy go wyłączyć klikając przycisk Shutdown w menu głównym. Zadanie dla chętnych Nie wszystko jest takie, jakim się wydaje! Zrób listę używanych na co dzień urządzeń cyfrowych, które są według Ciebie komputerami. Porównaj swoją listę z listami kolegów i porozmawiajcie o tym, co decyduje, że urządzenie jest komputerem!
Zadanie 2 Poznajemy język Python Aby komunikować się z astronautami na stacji ISS za pomocą minikomputera Raspberry Pi, trzeba mu wydać odpowiednie instrukcje. Tak jak każdy inny komputer, zrobi on tylko to, czego nauczysz lub jak go zaprogramujesz. Aby to zrobić, trzeba nauczyć się języka programowania (tak samo, jak trzeba było nauczyć się języka angielskiego, aby komunikować się ze światem wokół!). W tym zadaniu nauczysz się podstawowego słownictwa języka Python i napiszesz swój pierwszy program. Czy wiesz że... Astronauci również muszą nauczyć się różnych języków, zanim będą mogli polecieć w kosmos. Na przykład wszyscy astronauci muszą nauczyć się języka rosyjskiego, ponieważ wszystkie elementy sterujące na statku Sojuz są opisane po rosyjsku. W chwili obecnej Sojuz jest jedynym statkiem kosmicznym, który może transportować ludzi na stację ISS i z powrotem na Ziemię. Sojuz w języku rosyjskim oznacza związek. Pomimo, że statek kosmiczny Sojuz powstał w Związku Radzieckim na początku ery podboju kosmosu, jest on nadal używany do dziś, oczywiście z pewnymi ważnymi modyfikacjami. Ćwiczenie 1. Aby rozpocząć używanie języka Python na minikomputerze Raspberry Pi, trzeba kliknąć menu główne u góry ekranu (logo Raspberry) i wybrać Programming > Open Python 3(IDLE). Nastąpi otwarcie okna wyjściowego powłoki o nazwie Python Shell (Rysunek 5 po lewej). Swoje programy można wpisywać bezpośrednio w oknie powłoki, jednak łatwiej jest pracować w oknie edytora. Aby otworzyć nowe okno, wybierz File> New File. Teraz powinny być otwarte dwa okna. Jedno do pisania swojego programu (okno edytora) i jedno do wyświetlania danych wyjściowych (Python Shell), takich jak wyniki, komunikaty o błędach itp. Upewnij się, że widoczne są obydwa okna.
Rysunek 5 Okno powłoki Python Shell (po lewej) i edytora (po prawej) 2. Jesteśmy teraz gotowi, aby rozpocząć kodowanie w języku Python. Wprowadź poniższy kod w oknie edytora. 3. Aby zobaczyć wynik działania swojego kodu, wybierz Run > Run Module. Program poprosi o zapisanie kodu. Wpisz nazwę dla swojego pliku i uruchom go. Co on zrobił? Uwaga: Pamiętaj o regularnym zapisywaniu swojej pracy! Aby zapisać plik, nad którym pracujesz, wybierz File -> Save. 4. Spróbuj przedstawić się astronautom mieszkającym na stacji ISS. Skopiuj poniższy kod do swojego pliku i uzupełnij go wiadomością, którą chcesz przekazać astronautom. Gratulacje! Udało Ci się właśnie stworzyć Twój pierwszy program w języku Python. Uwaga: Komputer będzie próbował zrozumieć wszystko, co napiszesz w oknie. Jeżeli chcesz napisać krótki komentarz tylko dla siebie, użyj znaku # przed komentarzem. Oznacza on tryb komentowania, a komentarz ten nie zostanie przetłumaczony na język maszynowy. Komputer po prostu ignoruje tekst wpisany po znaku #.
Zadanie 3 Piszemy quiz w języku Python Do tej pory wydawaliśmy komputerowi proste instrukcje. Teraz sprawimy, że komputer będzie zadawał pytania i reagował na odpowiedzi. Ćwiczenie 1. Otwórz nowe okno Python 3 i wpisz poniższy kod. 2. Wybierz Run>Run Module, aby wykonać wprowadzony kod. Co się stało? 3. Funkcja input () w języku Python służy do pobierania danych od użytkownika. Czy wiesz, jak dużo czasu potrzebuje stacja ISS, aby okrążyć Ziemię? Wpisz to w powłoce Python Shell. 4. Powłokę Python Shell można też wykorzystać jako kalkulator. Zapoznaj się z poniższymi przykładami. Spróbuj odpowiedzieć na poniższe pytanie, używając powłoki Python Shell, aby wykonać potrzebne działania matematyczne. Objaśnij wykonane obliczenia. Ile zachodów słońca widzą astronauci na stacji ISS w ciągu jednego dnia?
5. Napiszemy teraz quiz naukowy, używając minikomputera Raspberry Pi. Trzeba będzie w nim wybrać dobrą lub złą odpowiedź. W języku Python możemy to zrealizować przy użyciu instrukcji wyboru, nazywanych czasami instrukcjami if. Otwórz nowy plik i wpisz poniższy kod. Musisz dokończyć kod wpisując odpowiedź. Jak myślisz, co zrobi ten program? Uruchom moduł, aby się przekonać. Uwaga: int przed instrukcją input oznacza w języku Python, że odpowiedź użytkownika będzie liczbą całkowitą. Przykładami liczb całkowitych mogą być 5 lub 10. W języku Python, jeżeli jakaś informacja ma być traktowana jako liczba, należy poinformować o tym komputer odpowiednią instrukcją. Oprócz liczb całkowitych możemy również mieć liczby zmiennoprzecinkowe. Liczby zmiennoprzecinkowe to liczby z miejscami dziesiętnymi - na przykład: 5.1 lub 10.99. 6. Quiz można nieco ułatwić. Tuż przed wierszem else dodaj poniższe polecenie i ponownie uruchom moduł. Wpisz komentarz wyjaśniający, jakie zadanie spełnia słowo kluczowe elif. # Rozszerzenie Instrukcje warunkowe if mogą sprawdzać prawdziwość wielu warunków. W tym celu wystarczy użyć wymaganej liczby instrukcji elif. Napisz program, który poprosi użytkownika o podanie liczby z przedziału od 45 do 60. Niech udziela odpowiedzi, czy liczba należy do tego przedziału, jest zbyt duża, czy zbyt mała. Zadanie 3 Rysujemy przy użyciu żółwia w języku Python
Zadanie 4 - Rysujemy kształty geometryczne używając języka Python Język Python zawiera wiele modułów, które można wykorzystać w swoich programach. Wyobraź sobie, że moduł jest jak książka instrukcji, która objaśnia, w jaki sposób coś należy zrobić. Moduły te są przechowywane przez język Python w bibliotece. W tym zadaniu nauczymy się używania modułu Turtle (żółw) języka Python do rysowania kształtów geometrycznych, ucząc się jednocześnie nowych elementów języka Python, które będą przydatne w misji. Ćwiczenie 1. Otwórz nowe okno Python 3 i wpisz poniższy kod. Zapisz go i uruchom. 2. Właśnie utworzyliśmy żółwia, który pozwoli nam tworzyć rysunki i kształty! Teraz wydamy naszemu żółwiowi kilka instrukcji. 2.1 Dodaj następujący wiersz do swojego kodu: turtle.forward(100) Co się stało z żółwiem? 2.2 Dodaj kolejną instrukcję: turtle.right(90) Zmień liczby w nawiasach. Spróbuj zmienić right na left. Co robi żółw pod wpływem tych instrukcji? Uwaga: Wartość 90 w nawiasie w instrukcji turtle.right(90) jest podana w stopniach. 2.3 Dodaj kolejną instrukcję poniżej, aby dalej poruszać żółwiem: turtle.forward(100) Co się stało z żółwiem?
2.4 Co trzeba dodać do kodu, aby dokończyć kwadrat? W poniższej ramce wpisz końcowy kod potrzebny, aby żółw narysował kwadrat. 3 - Otwórz nowe okno Python 3 i wpisz poniższy kod. 3. Żółw może wykonywać wiele różnych instrukcji. Przeanalizuj poniższy kod. 3.1 Jak myślisz, jaki kształt geometryczny zostanie narysowany przez żółwia? Zapisz swoją odpowiedź. 3.2 Zapisz i uruchom kod. Czy tak się stało? 3.3 W powyższym kodzie, powtórzono kilka wierszy kodu. W informatyce nie jest to najefektywniejszy sposób. Zamiast wpisywać wiele wierszy kodu, można napisać kod raz i dodać instrukcję jego powtarzania. W języku Python istnieją dwa sposoby powtarzania instrukcji. Są to pętle while oraz pętle for. 3.3.1 Otwórz nowe okno Python 3 i wpisz poniższy kod. Kod wewnątrz pętli (tj. kod, który jest wcięty lub przesunięty w prawo) to zestaw instrukcji, które program będzie powtarzał. Zapisz i uruchom program. Co on zrobił?
3.3.2 W tym przykładzie użyto pętli for. Skopiuj i uruchom poniższy kod, aby zobaczyć co się stanie. Uwaga: Czy zwróciliście uwagę na zagnieżdżenie instrukcji w pętlach while/for? Są to tzw. wcięcia. Język Python wykorzystuje wcięcia do określenia bloków kodu w pętlach lub instrukcjach warunkowych if. Każdy poziom wcięcia to cztery spacje, lecz można je wstawić naciskając klawisz Tab. Należy pamiętać o wcięciach podczas kopiowania i wklejania kodu. 3.3.3 Którą pętlę należy wybrać, aby stworzyć rysunek? Wyjaśnij swój wybór i różnice pomiędzy dwoma typami pętli. Rozszerzenie Możesz iść do przodu, w prawo i w lewo, a także wykonywać powtórzenia przy użyciu pętli. Czas na kreatywność! Czy potrafisz stworzyć rysunek Paxiego - maskotki ESA? Jakie kształty geometryczne rozpoznajesz w obrazie Paxiego?
NASTĘPNE ETAPY Właśnie zmontowaliśmy minikomputer Raspberry Pi i poznaliśmy podstawowe struktury programowania w języku Python! Przejdźmy teraz do zadania 2, w którym nauczymy się używać matrycy LED nakładki Sense HAT do komunikowania się z astronautami na stacji ISS.