Czas trwania zajęć: 45 min (1 godzina lekcyjna)
Wprowadzenie (krótki opis zajęć):
Celem tej lekcji jest ukazanie w jaki sposób robot w praktyce wykrywa przeszkody, które napotyka na swojej drodze i jak tą wiedzę możemy wykorzystać do sterowania nim. Uczniowie najpierw doświadczalnie poznają sposób w jaki robot “widzi”, czyli jak działa czujnik odległości, a następnie sami programują go tak, aby LOFI Robot mógł swobodnie przemieszczać się po klasie bez obawy, że gdzieś utknie, np. zahaczając o plecak.
CELE, POJĘCIA, MATERIAŁY ▼
Cele zajęć:
Uczeń powinien:
- rozumieć pojęcia: ciąg poleceń / skrypt / algorytm,
- podłączyć LOFI Brain 2.0 z komputerem lub tabletem za pomocą BLUETOOTH,
- uruchamiać LOFI Blocks,
- umieć wykorzystać bloczek “Czujnik odległości”,
- tworzyć samodzielnie skrypty w LOFI Blocks, dzięki którym robot
będzie się przemieszczał autonomicznie oraz omijał przeszkody.
Pojęcia kluczowe:
- pętla,
- ultradźwięki,
- czujnik odległości,
- echolokacja.
Metody pracy:
- Wykład problemowy,
- Dyskusja dydaktyczna związana z wykładem,
- Pokaz,
- ćwiczenia przedmiotowe,
- Projekt.
Materiały pomocnicze:
- laptop/komputer nauczycielski z zainstalowaną aplikacją LOFI Blocks oraz z zainstalowanym
programem Arduino IDE, - projektor i ekran projekcyjny,
- komputery uczniowskie z zainstalowaną aplikacją LOFI Blocks oraz programem Arduino IDE,
- Laptop/komputer nauczycielski, projektor i tablica projekcyjna,
- dostęp do internetu na wszystkich komputerach,
zestaw CODEBOX LOFI Robot edycja Superkoderzy – pojazd zmontowany w czasie lekcji 4 i 5 z modułem BLUETOOTH.
Treści programowe (związek z podstawą programową)
Podstawa programowa kształcenia ogólnego dla szkół podstawowych – II etap edukacyjny – klasy IV-VI. Zajęcia komputerowe. Treści szczegółowe:
1. Bezpieczne posługiwanie się komputerem i jego oprogramowaniem.
Uczeń:
1.5. posługuje się podstawowym słownictwem informatycznym;
4. Opracowywanie za pomocą komputera rysunków, motywów, tekstów, animacji, prezentacji multimedialnych i danych liczbowych. Uczeń:
4.1. tworzy rysunki i motywy przy użyciu edytora grafiki (posługuje się kształtami, barwami, przekształcaniem obrazu, fragmentami innych obrazów);
5. Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera.Uczeń:
5.1. za pomocą ciągu poleceń tworzy proste motywy lub steruje obiektem na ekranie;
5.2. uczestniczy w pracy zespołowej, porozumiewa się z innymi osobami podczas realizacji wspólnego projektu, podejmuje decyzje w zakresie swoich zadań i uprawnień.
6. Wykorzystywanie komputera oraz programów i gier edukacyjnych do poszerzania wiedzy z różnych dziedzin. Uczeń:
6.1. korzysta z komputera, jego oprogramowania i zasobów elektronicznych (lokalnych i w sieci) do wspomagania i wzbogacania realizacji zagadnień z wybranych przedmiotów;
Przebieg zajęć:
1. Wprowadzenie w tematykę i integracja grupy
Czas na realizację tej części: ok 5 minut
Podczas tych zajęć przyjrzymy się zabawnym “oczom” robota. Poznamy czym jest czujnik odległości i jak działa. Dowiemy się jak wykorzystać jego potencjał do ulepszenia możliwości sterujących naszego pojazdu. Następnie nauczymy się tworzyć skrypt, który uczyni nasz robot autonomicznym. Na koniec przeprowadzimy testy naszych programów, aby poznać coraz to nowsze sposoby rozbudowywania funkcji jezdnych pojazdów.
Zwracamy się do uczniów z prośbą, aby podzielili się na wcześniej wyznaczone grupy, następnie rozdajemy przygotowane zestawy robotów.
UWAGA! Tym razem łączymy się przy pomocy modułu Bluetooth. Pamiętaj, aby łącząc się bezprzewodowo, a nie za pomocą kabla USB A-B.
2. Część zasadnicza
Czas na realizację tej części: ok 10 minut
Czujnik odległości to jeden z najbardziej popularnych elektronicznych komponentów wykorzystywanych w robotyce. Jest niezwykle użyteczny, a do tego jego działanie zawiera w sobie element “elektronicznej magii”. Na pierwszy rzut oka nie wiadomo, w jaki sposób jest w stanie widzieć znajdujące się przed nim obiekty. Czujnik odległości, który wykorzystujemy w naszych robotach to najpopularniejszy w świecie Arduino model HC-SR04. Działa on na zasadzie ultradźwięków i echolokacji. W skład czujnika wchodzą dwie sondy, które wręcz doskonale wizualnie imitują oczy robota. Jedna z nich jest głośnikiem, który wysyła serię krótkich “piknięć”. Druga sonda to mikrofon, który nasłuchuje echa “piknięć”, odbijających się od obiektów umiejscowionych naprzeciwko czujnika.
Te “piknięcia” to krótkie sygnały dźwiękowe, których nie słyszymy, gdyż ich częstotliwość jest wyższa niż możliwości naszego słuchu (wynosi 40kHz, podczas gdy zdrowe ludzkie ucho słyszy maksymalnie dźwięki do 20kHz).
Z uwagi na to, że prędkość dźwięku jest stała i wynosi 1225 kilometrów na godzinę, mierząc czas od wysłania “piknięcia” do momentu aż sonda-mikrofon usłyszy jego echo, możemy wyznaczyć jaka jest odległość pomiędzy czujnikiem, a obiektem od którego odbija się “piknięcie”.
Jak pewnie wiecie, zjawisko echolokacji zostało zaczerpnięte ze świata biologii. Czy wiecie które zwierzęta wykorzystują ultradźwięki? Pozostaw uczniom chwilę czasu na zastanowienie się i wysłuchaj ich odpowiedzi. Najbardziej znane zwierzęta wyposażone w tą umiejętność to oczywiście nietoperze, walenie i delfiny. Zdolność tę mają też niektóre ssaki ryjówkowate oraz ptaki. Echolokacja służy również zwierzętom do nawigacji, wykrywania, chwytania oraz do komunikacji pomiędzy sobą. W świecie technologii na podobnej zasadzie wykorzystuje się np. sonary na statkach.
Podsumowując, czujnik odległości pozwala naszemu robotowi “widzieć” co dzieje się przed nim. Wykorzystajmy go więc, aby zaprogramować kilka różnych algorytmów ruchu w reakcji na sygnały z czujnika odległości.
Ćwiczenie 1 – bloczek “Czujnik odległości”
Czas na realizację tej części: ok 5 minut
Jak pamiętamy podczas lekcji szóstej poznaliśmy bloczki KONSOLA oraz Czujnik odległości. Teraz wykorzystamy je w praktyce. Dzięki ich połączeniu możemy poznać odczyty naszego czujnika na komputerze. W tym celu wpinamy blok KONSOLA do pętli POWTARZAJ i uzupełniamy go blokiem Czujnik odległości.
Uruchomienie programu oraz wysuniecie MONITORA CZUJNIKÓW (ikona suwaczków pod główką robota) pozwoli na uzyskanie podglądu na żywo w następujące zmiany w odczytach czujnika na ekranie. Możemy zbliżać oraz oddalać rękę od czujnika. To doświadczenie będzie niezbędne w kolejnym ćwiczeniu:
Blok zwraca przybliżoną odległość mierzoną w centymetrach, jednak jeśli czujnik nie wykrywa żadnej przeszkody wówczas blok zwraca wartość 100.
UWAGA!Warto przyłożyć do czujnika dłoń w pełni go zasłaniając. Zauważyć można, że odczyt w takiej sytuacji także wynosi 100. Należy o tym pamiętać przy tworzeniu skryptów, aby przewidzieć ewentualne błędy programu.
Na koniec tego ćwiczenia uczniowie powinni zanotować dwie podstawowe wartości, które okażą się niezbędne podczas tworzenia pierwszego skryptu w przyszłości. Chodzi o wartość określającą moment gdy Robot widzi/dostrzega przeszkodę i powinien na nią zareagować oraz wartość gdy przeszkoda już jest za blisko. Można tutaj wprowadzić element rywalizacji. Każda z grup notuje, ale nie podaje swoich wyników. Dopiero w kolejnym ćwiczeniu dane zostaną sprawdzone, a efekty pracy wspólnie komentowane.
Ćwiczenie 2 – Omijanie przeszkód
Czas na realizację tej części: ok 20 minut
UWAGA!Przed programowaniem robota należy umieścić go na jakiejś podstawce (wykorzystać można do tego pudełeczko na śrubki). Czynimy te przygotowania, aby podczas testów jego koła mogły kręcić się swobodnie i nie dotykały ławki. Należy ustawić robot stabilnie, aby nie spadł z ławki.
W pierwszej kolejności zaprogramujemy naszego robota tak, aby jechał do przodu. Natomiast gdy “zobaczy” jakąś przeszkodę dokona uniku, czyli wykona zwrot do momentu aż przeszkoda zniknie i dalej podąży swobodnie prosto. W tym celu tworzymy na polu roboczym układ puzzli z podstawowymi poleceniami (na zakończenie uczniowie sami w grupach ułożą je tak, aby skrypt stał się funkcjonalny).
1) Blok – jazda do przodu,
2) Blok – omijanie przeszkód,
3) Blok – rozpoznawanie przeszkód.
Prosimy uczniów o stworzenie ich na swoich komputerach.
Przykładowo, blok jazda do przodu (jeśli robot nie jedzie równo naprzód warto eksperymentować z prędkościami):
Blok omijania (warto eksperymentować z prędkościami):
Przykładowy blok rozpoznawania przeszkód (tutaj wartość 30 uczniowie zastępują swoimi notatkami z ćwiczenia pierwszego):
Pierwsze dwa bloki nie powinny przysporzyć uczniom żadnych problemów, gdyż ich tworzenie było już omawiane na poprzednich lekcjach. Jeśli jednak pojawią się trudności z ostatnim blokiem, można podsunąć podpowiedź, mianowicie wspomnieć o puzzlach. Warto przypomnieć, że w programie możemy wykorzystać wcześniej zanotowaną wartość określającą moment, gdy robot widzi/dostrzega przeszkodę. Zalecamy pracę samodzielną uczniów w grupach i testowanie. Pomyłki są dopuszczalne, a nawet mile widziane (uczenie się na własnych błędach).
Rozwiązanie:
Kiedy wszystkim grupom uda się zakończyć zadanie, warto jego efekt przetestować w praktyce i nanieść ewentualne poprawki w skrypcie. Do tego przyda się duża przestrzeń i oczywiście przeszkody. Można np. zbudować kwadrat z czterech ławek szkolnych odwróconych na bok, ułożonych nogami na zewnątrz. Wewnątrz ławek powstaną cztery ściany, które posłużą za nasze przeszkody. Uczniowie mogą wewnątrz umieścić LOFI Robota i obserwować jego zachowanie (ewentualnie jeśli jest to sala komputerowa można taki kwadrat zbudować np. z plecaków uczniów). Stworzenie takiej przestrzeni jest optymalnym pomysłem, gdyż przemieszczanie się robotów po prostu na podłodze klasy może okazać się mało efektywne. Działanie czujnika pozwala mu widzieć duże przeszkody (najlepiej pod kątem 90 stopni), może jednak mieć problem z wąskimi nogami ławek, czy krzeseł.
UWAGA!Warto zwrócić uwagę na prędkość naszych robotów. Jeżeli ustawimy na maksymalną (100), nasz czujnik odległości może nie zdążyć wykryć przeszkody. W takiej sytuacji należy prędkość (obydwu silników) robota zmniejszyć, aby pojazd miał czas na reakcję. Ta sama zasada obowiązuje w przypadku prędkości manewru omijania. Jeśli pojazd uderza w przeszkodę warto zmodyfikować moc silników tak, aby manewr ten był bardziej zdecydowany.
Jeżeli czas pozwoli, można zachęcić grupy do rozbudowania programu o bardziej złożony algorytm:
-
1) Jeżeli nie widzisz przeszkody – JEDŹ DO PRZODU
2) Jeśli przeszkoda jest blisko – SKRĘCAJ
3) Jeśli przeszkoda jest BARDZO blisko – COFAJ SIĘ
W tym wypadku poprzez pojęcie blisko rozumiemy zakres odczytów czujnika od 30 do 10 cm. Natomiast BARDZO blisko to odległość poniżej 10 cm. Z uwagi na to, że nasz algorytm ma trzy warunki, nie możemy użyć bloku JEŻELI…W PRZECIWNYM RAZIE… Zamiast niego użyjemy trzech pojedynczych warunków. Nasz program wyglądać będzie następująco:
Dziękujemy uczniom za zabawę. Prosimy o posprzątanie ławek lub plecaków, wyłączenie i zabranie robotów, wyłączenie komputerów. Pamiętajmy też o podładowaniu powerbanków przed kolejnymi zajęciami.
Podsumowanie i ewaluacja
Czas na realizację tej części: ok 5 minut
Zadajemy uczniom pytania:
- Co najbardziej podobało się Wam podczas dzisiejszej lekcji?
- Z czym mieliście największe problemy?
- Co można byłby zrobić inaczej?
- Do czego można wykorzystać umiejętności zdobyte na tej lekcji?