LEKCJA 13 Asystent parkowania

Podobne dokumenty
LEKCJA 2 Program do zdalnego sterowania robotem

LEKCJA 4 Misja na Marsie piszemy pierwszy program dla autonomicznego robota

LEKCJA 1 Poznajemy robota mbot

LEKCJA 3 Jak powstają kolory diody LED RGB

Temat: Programujemy historyjki w języku Scratch tworzymy program i powtarzamy polecenia.

Along the Yellow Brick Road, czyli tworzymy mapę i łączymy sceny w dłuższe sekwencje

Zapisywanie algorytmów w języku programowania

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Programowanie i techniki algorytmiczne

Roboty grają w karty

Temat 20. Techniki algorytmiczne

Dziennikarze przyszłości

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Innowacja pedagogiczna dla uczniów pierwszej klasy gimnazjum Programowanie

Sposoby przedstawiania algorytmów

Scenariusz lekcji: Manewry wykonywane przez kierującego rowerem: wymijanie, omijanie i wyprzedzanie

Programowanie w środowisku Baltie

Temat 5. Programowanie w języku Logo

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota Scenariusze lekcji i zajęć pozalekcyjnych

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Projektowanie rozwiązania prostych problemów w języku C++ obliczanie pola trójkąta

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Strona 1. Edu-Sense Sp. z o.o. Lubelski Park Naukowo-Technologiczny ul. Dobrzańskiego Lublin

PROGRAMOWAĆ KAŻDY MOŻE

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

Warunki i sposoby realizacji podstawy programowej kształcenia ogólnego w klasie IV i VII szkoły podstawowej z informatyki.

Innowacja pedagogiczna na zajęciach komputerowych w klasach 4e, 4f, 4g. Nazwa innowacji Programowy Zawrót Głowy

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

kodowanienaekranie.pl

Kl 7-8 Szkoła Podstawowa

kodowanienaekranie.pl

Zasady oceniania z informatyki (od roku szkolnego 2018/2019)

Sposoby sprawdzania osiągnięć edukacyjnych uczniów

SPRAWOZDANIE Z REALIZACJI INNOWACJI W ZESPOLE SZKÓŁ IM. KS. KARD. STEFANA WYSZYŃSKIEGO W POŁOMI

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Innowacja pedagogiczna

Scenariusz lekcji Ozobot w klasie: Tabliczka mnożenia

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

LEKCJA OTWARTA Z MATEMATYKI. Temat lekcji: Pole powierzchni prostopadłościanu i sześcianu.

WYMAGANIA EDUKACYJNE Z INFORMATYKI NA POSZCZEGÓLNE STOPNIE W KLASIE 6 opracowane na podstawie podręcznika:

WYMAGANIA EDUKACYJNE DLA KLASY 4 powstałe w oparciu o nową podstawę programową i program nauczania

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Silniki, brzęczyki i diody, czyli poznajemy się bliżej z mbotem

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Scenariusze cyklu 15 zajęć praktycznych dla uczniów klas I-III szkół podstawowych

Numer i nazwa obszaru: Temat szkolenia:

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Wymagania edukacyjne do przedmiotu

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Tworzenie stron WWW PROGRAM AUTORSKI. Spis treści ZAJĘCIA POZALEKCYJNE KÓŁKO INFORMATYCZNE

Przedmiot: zajęcia komputerowe/techniczne/nauczanie zintegrowane

Plan wynikowy do realizacji informatyki w szkole podstawowej na poziomie klasy IV

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Definiowanie procedur z parametrami w Logo Komeniuszu.

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

w Zespole Szkolno-Przedszkolnym w Kucharach Innowacja pedagogiczna Programistyczny start SPIS TRE Opis programu e) Cele programu b) Treści nauczania

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera

Pierwsze kroki Roberto (przód/tył)

SCENARIUSZ ZAJĘĆ Z INFORMATYKI

Kl-1-3 Szkoła Podstawowa

SCENARIUSZ LEKCJI FIZYKI W GIMNAZJUM

PROGRAMOWANIE DLA KAŻDEGO. Rewolucja w nauczaniu informatyki. Programowanie od pierwszych klas, sterowanie robotami i co jeszcze?

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Numer i nazwa obszaru: Temat szkolenia:

Krzyżówka na lekcji o logarytmie liczby dodatniej i nie tylko

Dokument komputerowy w edytorze grafiki

Lekcja 2: Silniki, brzęczyki i diody, czyli poznajemy się bliżej z mbotem

Wprowadzenie do zmiennych w programowaniu

Przedmiotowe zasady oceniania z informatyki w klasach: IV, V, VII, VIII i III oddziałach gimnazjalnych

Komputer i urządzenia cyfrowe

Scenariusz zajęć z matematyki w I klasie Liceum Ogólnokształcącego. Funkcja kwadratowa niejedno ma imię... Postać iloczynowa funkcji kwadratowej

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

Numer i nazwa obszaru: Temat szkolenia:

PROGRAMOWANIE ROBOTÓW NA EKRANIE KOMPUTERA ZGODNE Z NOWĄ PODSTAWĄ PROGRAMOWĄ.

Temat 4. Programowanie w języku Scratch

PROGRAMOWANIE CZAS ZACZĄĆ

Zmiany w podstawie programowej informatyki w klasie 4. Jolanta Pańczyk

Zasady ruchu drogowego dla rowerzysty - przypomnienie wiadomości. Wykorzystanie podstawowych funkcji przeglądarki do przeglądania stron WWW.

Nie święci garnki lepią. czyli wprowadzenie do programowania

MoboLab roboty i tablety w Twojej szkole Obszar I. Zakoduj robota

Wymagania edukacyjne z informatyki w klasie VIII

Scenariusz lekcji Ozobot w klasie: Ciąg Fibonacciego

Tytuł zajęć. NAKARM SCOTTIEGO. Poziom edukacyjny/ przedmiot/ grupa przedmiotów. I etap edukacyjny. Cel główny realizacji zajęć

Scenariusz lekcji matematyki w szkole ponadgimnazjalnej. Funkcja kwadratowa niejedno ma imię... Postać iloczynowa funkcji kwadratowej

Scenariusz zajęć z matematyki dla klasy I gimnazjum z wykorzystaniem programu edurom Matematyka G1

WYMAGANIA PROGRAMOWE INFORMATYKA DLA KLAS IV-VIII. II Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych

Hello World! Pierwsze linijki kodu dla mbota

dokument DOK wersja 1.0

#UczymyDzieciProgramować

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY Z INFORMATYKI KLASA IV

SCENARIUSZ ZAJĘĆ KOŁA NAUKOWEGO z MATEMATYKI. prowadzonego w ramach projektu Uczeń OnLine

Numer i nazwa obszaru: Temat szkolenia:

Wymagania edukacyjne z informatyki w klasie 8 szkoły podstawowej

Transkrypt:

LEKCJA 13 Asystent parkowania Przedmiot: Informatyka Etap: klasa IV-VI, klasa VII-VIII Czas na realizację: 45min. Autor: Grzegorz Troszyński Redakcja: Joanna Skalska Krótki opis zajęć: Tworzymy pojazd automatycznie wyszukujący miejsce na parkingu. Piszemy programy wykorzystujące czujnik odległości i timer. Przy okazji poznajemy procedury rekurencyjne. Cele szczegółowe: w wyniku przeprowadzonej lekcji, uczeń: opisuje budowę i zasadę działania ultradźwiękowego czujnika odległości montuje czujnik odległości na robocie wykorzystuje zegary systemowe robota i komputera w swoich programach tworzy i wykorzystuje własne bloczki tworzy i wykorzystuje procedury rekurencyjne testuje napisany program i wprowadza potrzebne zmiany zapisuje wyniki swojej pracy na dysku komputera Środki dydaktyczne i materiały pomocnicze: roboty mbot wyświetlacze LED Matrix (opcjonalnie) komputery z zainstalowanym oprogramowaniem mblock, wyposażone w Bluetooth dla robotów w wersji Bluetooth (dla robotów w wersji 2.4G wystarczy port USB) kilka kartonowych pudełek (na przykład opakowania od mbotów) taśma miernicza projektor z ekranem lub tablica interaktywna Formy/metody pracy: metoda praktyczna pokaz z objaśnieniem metoda problemowa wykład konwersatoryjny metoda praktyczna ćwiczenia 1

Zgodność z podstawą programową przedmiotu informatyka: II etap edukacyjny klasy IV VI I. Rozumienie, analizowanie i rozwiązywanie problemów. Uczeń: 2) formułuje i zapisuje w postaci algorytmów polecenia składające się na: c) sterowanie robotem lub obiektem na ekranie; II. Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych. Uczeń: 1) projektuje, tworzy i zapisuje w wizualnym języku programowania: a) pomysły historyjek i rozwiązania problemów, w tym proste algorytmy z wykorzystaniem poleceń sekwencyjnych, warunkowych i iteracyjnych oraz zdarzeń, b) prosty program sterujący robotem lub innym obiektem na ekranie komputera; 2) testuje na komputerze swoje programy pod względem zgodności z przyjętymi założeniami i ewentualnie je poprawia, objaśnia przebieg działania programów; klasy VII VIII II. Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych. Uczeń: 1) projektuje, tworzy i testuje programy w procesie rozwiązywania problemów. W programach stosuje: instrukcje wejścia/wyjścia, wyrażenia arytmetyczne i logiczne, instrukcje warunkowe, instrukcje iteracyjne, funkcje oraz zmienne i tablice. 2) projektuje, tworzy i testuje oprogramowanie sterujące robotem lub innym obiektem na ekranie lub w rzeczywistości; 2

Przebieg zajęć: Wprowadzanie w tematykę zajęć (5 min.) Nauczyciel wprowadza uczniów w tematykę zajęć i przypomina zasadę działania ultradźwiękowego czujnika odległości. Prosi uczniów o podanie znanych im przykładów autonomicznych samochodów (np. Google Car, Tesla). Przedstawia film ilustrujący działanie systemu wspomagającego kierowcę przy manewrach parkowania. Tego rodzaju systemy są już stosowane w wielu modelach samochodów. Autonomiczne parkowanie - Volvo Asystent parkowania Volkswagen Asystent parkowania Mercedes Na dzisiejszej lekcji zmienimy nasze roboty w pojazdy zdolne do znalezienia wolnego miejsca na parkingu i wykonania manewru parkowania. Nauczyciel dzieli grupę na zespoły, odpowiednio do ilości posiadanych robotów (2-3 uczniów do 1 robota). Szukamy miejsca do parkowania (10 min) Nauczyciel ustawia na macie pudełka zgodnie z rys. poniżej. Luka pomiędzy pudełkami powinna być wystarczająco duża, aby robot mógł w niej zaparkować (ok. 30cm). Przesuwając robota po macie przedstawia cel ćwiczenia. Jaki czujnik będzie najbardziej przydatny do wyszukania wolnego miejsca na parkingu (ultradźwiękowy czujnik odległości). W jaki sposób zamontować go na robocie? Rysunek 1 Robot jedzie wzdłuż ściany szukając luki. 3

Rysunek 2: Przykładowy montaż ultradźwiękowego czujnika odległości. Programy w dalszej części scenariusza dotyczą robota z czujnikiem zamontowanym z tyłu. Uczniowie montują ultradźwiękowy czujnik odległości na swoich robotach, uruchamiają środowisko mblock na komputerach i włączają roboty. Uwaga! Programy na tej lekcji lepiej wykonywać bezpośrednio na sterowniku robota (tryb Arduino). W trybie Scratch (bezprzewodowe połączenie z robotem) program wykonuje się wolniej i precyzja manewrów będzie mniejsza. Ćwiczenie 1. Umieść robota na macie w odległości około 10 cm od ściany z pudełek. Napisz program dzięki któremu robot jadący wzdłuż ściany wykryje w niej lukę. Po wykryciu luki robot ma się zatrzymać i wydać dźwięk. Pamiętaj, że na parkingu jeździmy powoli. Prędkość jazdy ustaw na 100, dzięki temu manewry robota będą bardziej precyzyjne. Rysunek 3: Program 13_1 szukanie_luki.sb2 4

Jak dobrać zasięg skanowania czujnika odległości? Zwróć uwagę, że luka musi być na tyle głęboka, by robot mógł w nią swobodnie wjechać. Zasięg skanowania powinien być większy od sumy odległości robota od ściany i jego długości. Ćwiczenie 2. Rozbuduj program z ćwiczenia 1 w taki sposób by robot po znalezieniu luki zaparkował w niej. Stwórz własny bloczek Zaparkuj. Rysunek 4: Robot wjeżdża w lukę. Skąd będzie wiedział kiedy się zatrzymać? Wykorzysta do tego czujnik odległości. Rysunek 5: Program 13_1 procedura parkowania 5

Procedurę parkowania można zrealizować na wiele sposobów. W naszym przykładzie wykorzystujemy czujnik odległości. Jest on umieszczony z tyłu robota, dzięki czemu robot zatrzyma się równo z krawędzią ściany, niezależnie od głębokości luki i swojego początkowego położenia. Uczniowie testują napisane programy na planszy. Uniwersalna procedura parkowania rekurencja (20 min) Nauczyciel zmienia ustawienie pudełek na planszy w taki sposób, by luka do parkowania była zbyt wąska dla robota (np. 10 cm). Prosi uczniów o ponowne przetestowanie napisanego programu. Okazuje się, że robot wykrywa lukę i próbując w nią wjechać uderza w ścianę z pudełek. Rysunek 6: Robot znajduje lukę. Czy może tu zaparkować? Powinien najpierw zbadać jej szerokość. Jaka powinna być minimalna szerokość luki, aby robot mógł w niej bezpiecznie zaparkować? Robot mbot potrzebuje co najmniej 30cm, czyli szerokość robota + margines błędu. W jaki sposób robot może zbadać szerokość luki? W poprzednich ćwiczeniach nauczyliśmy się wykorzystywać ultradźwiękowy czujnik odległości do wykrywania krawędzi luki. Robot rozpoczynał manewr parkowania tuż po wykryciu początku luki. Jeśli manewr ma być wykonany prawidłowo, robot przed zaparkowaniem musi wykryć również koniec luki i ocenić czy się w niej zmieści. Nauczyciel ustawia pudełka w taki sposób by szerokość luki wynosiła 30cm. Sprawdź ile czasu potrzebuje Twój robot na pokonanie dystansu 30cm. Pamiętaj o tym, że prędkość robota ma wpływ na ten czas. Ustaw prędkość jazdy taką samą jak podczas poprzedniego ćwiczenia (np. 100) i nie zmieniaj jej w kolejnych ćwiczeniach. 6

Rysunek 7: Robot wykrywa początek (2) i koniec luki (3) i mierzy czas przejazdu pomiędzy nimi. Ćwiczenie 3. Napisz program do pomiaru czasu przejazdu odcinka 30cm. Początek i koniec odcinka wyznaczone są przez krawędzie pudełek jak na rys. powyżej. Wykorzystaj wewnętrzny stoper robota. Wynik zaprezentuj na wyświetlaczu. Jeśli nie masz wyświetlacza program musisz wykonywać w trybie Scratch, a wynik możesz zaprezentować na scenie. Wykonaj kilka pomiarów i oblicz średnią. Rysunek 8: Program 13_2_pomiar_czasu.sb2 7

Twój robot potrafi już sprawdzać szerokość luki. Przykładowo, jeśli przejazd 30cm zajmuje mu 2s, to wszystkie luki z krótszym czasem przejazdu powinien pomijać. Manewr parkowania może wykonać dopiero wtedy, gdy czas przejazdu wzdłuż znalezionej luki będzie większy niż 2s. Ćwiczenie 4. Napisz program dzięki któremu robot jadąc wzdłuż ściany z pudełek będzie w stanie wyszukać miejsce odpowiednie do parkowania i zaparkować na nim. Podpowiedź: Zacznij od stworzenia procedury szukaj_wolnego_miejsca. Wykorzystaj w niej program z ćwiczenia 3. Po wykryciu końca luki robot sprawdza czy jest ona dostatecznie szeroka. Jeśli tak, wykonuje procedurę zaparkuj (zmodyfikuj bloczek stworzony w ćwiczeniu 2). Jeśli nie, wykonuje ponownie procedurę szukaj_wolnego_miejsca. Rysunek 9: Progam 13_3_parkowanie_rekurencja.sb2 8

Zauważ ciekawą rzecz procedura szukaj_wolnego_miejsca wywołuje sama siebie, tzn. w definicji bloczka jest użyty on sam. Ciekawa sztuczka, nieprawdaż? Procedurę, która wywołuje sama siebie nazywamy rekurencyjną. Rekurencja upraszcza kod programu, ale zużywa znacznie więcej zasobów (pamięci) komputera. Rysunek 10: Procedura zaparkuj Rysunek 11: Przykładowa procedura zaparkuj użyta w programie 13_3 Nauczyciel ustawia ścianę z pudełek z lukami o różnej szerokości. Uczniowie testują napisane programy. Ćwiczenie 5.(opcjonalnie) Zamontuj drugi czujnik odległości z przodu robota jak na poniższym rysunku. Wykorzystując obydwa czujniki napisz program dzięki któremu robot jadąc wzdłuż ściany z pudełek będzie w stanie wyszukać miejsce odpowiednie do parkowania i zaparkować na nim. 9

Rysunek 12: Przykładowy montaż czujnika odległości z przodu robota. Rysunek 13: Wyszukiwanie wolnego miejsca przy użyciu 2 czujników. W praktyce problemy można rozwiązać na wiele sposobów. W tym przypadku dodatkowy czujnik znacznie upraszcza program. Podsumowanie i ewaluacja (5min.) Nauczyciel zadaje uczniom pytania: Co najbardziej podobało się Wam podczas dzisiejszej lekcji? Z czym mieliście największe problemy? Czego nauczyliście się na dzisiejszej lekcji? Do czego można wykorzystać umiejętności zdobyte na tej lekcji? 10