Powrót do scenariuszy
Szkoła podstawowa
Klasa: 7-8
Szkoła ponadpodstawowa
Klasa: 1-4
test
Autor:

Mateusz Błaszkiewicz

Korek drogowy

fizyka • informatyka • programowanie
Czas:
90 min.
Roboty:
x3+
Akcesoria:
AccessoryAccessory
Interfejsy:
Scratch 3.0 (Photon Magic Bridge)
alt
Powrót do scenariuszy
Scenario Image

Odniesienie do podstawy programowej

Informatyka Liceum/Technikum PP I.1 II.1 II.2
Fizyka Liceum/Technikum PP I.10

Cele zajęć

Uczeń/uczennica:
  • wykorzystuje robota do przeprowadzania prostych pomiarów
  • posługuje się odpowiednimi operatorami logicznymi i wykorzystuje zmienne do dynamicznych zmian w programie
  • testuje programy
  • analizuje problem, przedstawia koncepcje jego rozwiązania i wdraża je

Metody pracy

  • burza mózgów

Formy pracy

  • indywidualna
  • grupowa

Materiały

  • komputer

Załączniki

Załącznik 1: Program z przykładowym rozwiązaniem
Pobierz

Przebieg zajęć

Wstęp

Scenariusz porusza głównie podstawowe zagadnienia i może być realizowany również w klasach VII-VIII szkoły podstawowej. Głównym celem zajęć jest zachęcenie uczestnika do samodzielnego myślenia, analizowania problemu i tworzenia programu.

Prowadzący przedstawia założenia programu:

  • roboty będą się poruszały w linii prostej za sobą i unikały przeszkód oraz siebie wzajemnie,
  • wszystkie wartości w programie muszą być zastąpione zmiennymi, aby można było dokonywać dynamicznego ustawiania parametrów, takich jak prędkość, odległości itd.
  • łączną odległość oraz odległości pokonane w przód i w tył przez każdego z robotów zostaną zapisane w programie przy wykorzystaniu list.

Zadanie 1. Poruszanie się robotów

  • Rozpoczynamy od analizy pierwszego z problemów - zachowania dystansu między przeszkodami. Wspólnie zastanawiamy się, jakie zdarzenia mogą mieć miejsce podczas działania zaproponowanego programu. Wysłuchujemy każdego pomysłu i rozważamy wspólnie jego plusy i minusy.
  • Metoda zastosowana na potrzeby scenariusza przewiduje zachowanie minimalnej odległości, której przekroczenie powoduje cofnięcie się robota oraz maksymalnej odległości między robotem a przeszkodą. Możemy na początek sprawdzić, jakie wartości zwraca czujnik odległości. Jako, że działa on na zasadzie pomiaru czasu między wysłaniem sygnału, a jego powrotem po odbiciu od przeszkody, mogą wchodzić w grę lekkie wahania między pomiarami. Aby wyelminować ewentualną kolizje pomiędzy robotami, wprowadzony został przedział odległości, w którym to robot stoi nieruchomo. Wszystkie z pól zostały zastąpione zmiennymi, by w łatwy sposób wprowadzać zmiany w programie i testować jakie odległości lub prędkość robota pozwalają na najbardziej płynne działanie.

Przykładowe rozwiązanie:

 

Zadanie 2. Pomiar przebytej odległości

  • Kolejne zadanie to dołączenie do stworzonego już programu, umożliwiającego "synchroniczne" unikanie przeszkód, skryptu pomiaru przebytej odległości przez każdego robota. Odległości te będą inne w zależności od dystansów początkowych, częstotliwości pomiarów itd. Analogicznie jak w zadaniu 1 prowadzimy burzę mózgów, która ma na celu wyłonienie kilku koncepcji rozwiązania zadania. Możemy zapisywać każdą wartość w zmiennych, lecz znacznie lepszym rozwiązaniem będzie wprowadzenie list.
  • Przykładowe rozwiązanie:

Do obliczenia przebytej odległości wykorzystujemy bloczek wyjściowy "Przejechany dystans", który może być resetowany w dowolnym momencie. Wartość dystansu całkowitego jest przypisywana do odpowiedniej listy i resetowana w każdym z bloków instrukcji warunkowej. Odległość całkowita to suma odległości przebytej w przód i tył.

Testujemy

Testowanie to jeden z najważniejszych elementów. Powinno przebiegać na każdym etapie po wprowadzeniiu do skryptu zmian, tak, aby na bieżąco wykluczać pojawiające się błędy i problemy. Warto najpierw przetestować program z tylko jednym robotem i sprawdzić czy działa on poprawnie.

Podsumowanie

Jak widać, roboty mogą oddziaływać między sobą i reagować na siebie wzajemnie - wystarczy tylko odpowiednio przemyśleć skrypt i interpretować błędy oraz zdarzenia, które mają miejsce w trakcie jego testowania.

Ciekawostki/Pytania otwierające

  • Dysponując większą liczbą robotów, można stworzyć znacznie "dłuższy" korek drogowy :)
  • A może uczestnicy zajęć mają pomysł jak wykorzystać zebrane dane o przebytej odległości?
  • Może wprowadźmy "trąbienie" na siebie robotów, jak to często bywa w klasycznych korkach i prowadźmy obserwację co się dzieje. (Program wstrzymuje się na chwilę do momentu, aż robot skończy wydawać dźwięk, dlatego może dochodzić do kolizji, co będzie ciekawą obserwacją ).

Powiązane zasoby

Dyskusja (brak komentarzy)

Zaloguj się, aby rozpocząć dyskusję