Zestaw narzędzi dla nauczyciela - Cel tego ćwiczenia
Na poprzedniej stronie uczeń programował obrót ramienia za pomocą przycisku Brain Up. Ta strona będzie opierać się na poprzednim projekcie, aby zaprogramować również obrót ramienia w dół za pomocą przycisku Brain Down.
To ćwiczenie zapozna uczniów z programowaniem za pomocą bloków [If then else], a także z użyciem bloków sensorycznych i bloków operatora, aby robot sprawdzał, czy naciśnięto przyciski Brain Up lub Down. Jeśli naciśniesz przycisk Brain Up, ramię Clawbota podniesie się. Jeśli naciśniesz przycisk Brain Down, ramię Clawbota opadnie. Jest to kontynuacja poprzedniego ćwiczenia i będzie stanowić podstawę dla wyzwania dotyczącego interfejsu użytkownika w sekcji „Przemyślenie”.
Aby wziąć udział w wyzwaniu dotyczącym interfejsu użytkownika, uczniowie będą musieli zaprogramować swojego Clawbota tak, aby podnosił, opuszczał ramię, otwierał i zamykał pazur, a wszystko to za pomocą przycisków na mózgu robota IQ.
Aby uzyskać więcej informacji na temat bloków [If then], [If then else], <Naciśnięty przycisk Brain>, lub [Spin] bloków, odwiedź informacje pomocy w VEXcode IQ. Aby uzyskać więcej informacji na temat tego wbudowanego narzędzia pomocy, kliknij tutaj.
Poniżej znajduje się zarys tego, co Twoi uczniowie będą robić w ramach tego ćwiczenia:
-
Użyj istniejącego ArmUp2, aby zbudować dostarczony projekt ArmUpDown i przewidzieć, co projekt zrobi.
-
Wyświetl schemat blokowy, który pomoże wyjaśnić przepływ bloków w projekcie.
-
Doprecyzuj wyjaśnienia dotyczące działania projektu ArmUpDown .
-
Obejrzyj film instruktażowy If then Else Blocks .
-
Edytuj swój projekt, używając [If then else] bloków.
-
Zatrzymaj się i omów: Uczniowie zastanowią się nad swoimi przewidywaniami dotyczącymi tego, co w ramach projektu będzie robił Clawbot, w porównaniu z ich rzeczywistymi obserwacjami.
-
Zaprogramuj pazur, korzystając z tego samego schematu projektu, co przy programowaniu ramienia.
Ilość | Potrzebne materiały |
---|---|
1 |
Super zestaw VEX IQ |
1 |
Kod VEX IQ |
1 |
Notatnik inżynieryjny |
1 |
Szablon Clawbot (układ napędowy). |
Ramię Clawbota jest gotowe do poruszania się w górę i w dół!
Dzięki temu ćwiczeniu zdobędziesz narzędzia do programowania robota za pomocą zachowań warunkowych.
Blok [If then else] jest głównym przedmiotem działania, ale używane są także inne bloki Wyczuwanie, Sterowanie i Operator.
Możesz skorzystać z informacji pomocy w VEXcode IQ, aby dowiedzieć się o blokach. Wskazówki dotyczące korzystania z funkcji Pomoc można znaleźć w samouczku Korzystanie z Pomocy.
Wskazówki dla nauczycieli
Jeśli uczeń po raz pierwszy korzysta z VEXcode IQ, może także zobaczyć Samouczki na pasku narzędzi, aby nauczyć się innych podstawowych umiejętności.
Krok 1: Programowanie przesunięcia ramienia w dół.
Na poprzedniej stronie zaprogramowałeś ramię Clawbota tak, aby obracało się po naciśnięciu przycisku Brain Up. Ale co z obniżeniem ramienia? Powróćmy najpierw do poprzedniego projektu ArmUp2.
Czy byłoby możliwe użycie tego samego bloku [If then] do obracania ramienia w górę, aby jednocześnie obracać ramię w dół? Spróbujmy! Zbuduj poniższy projekt, edytując już istniejący projekt ArmUp2.
-
Zapisz projekt jako ArmUpDown. Jeśli uczniowie potrzebują pomocy w zapisaniu projektu, zapoznaj się z samouczkiem Nazywanie i zapisywanie.
-
Sprawdź, czy nazwa projektu ArmUpDown znajduje się teraz w oknie na środku paska narzędzi.
-
Przewiduj, co projekt będzie robił Clawbot w swoim notatniku inżynierskim. Wyjaśnij zachowanie użytkownika i Clawbota.
-
Sprawdź, czy Twoje przewidywania dotyczące działania Clawbota w projekcie są prawidłowe.
-
Pobierz projekt do Slot 3 na Clawbocie, a następnie uruchom go.
-
Aby uzyskać pomoc dotyczącą pobierania i uruchamiania projektu, zobacz samouczek w VEXcode IQ, który wyjaśnia, jak pobrać i uruchomić projekt.
-
-
Sprawdź wyjaśnienia dotyczące projektu i dodaj notatki, aby je poprawić, jeśli zajdzie taka potrzeba.
Zestaw narzędzi nauczyciela
Projekt, który uczniowie zbudowali powyżej, będzie działać. Po naciśnięciu przycisku Brain Up ramię obróci się w górę, a po naciśnięciu przycisku Brain Down ramię obróci się w dół. Mimo że projekt działa tak, jak jest, nie jest napisany optymalnie. Może zaistnieć sytuacja, w której oba warunki mogą być spełnione jednocześnie. Zwróć także uwagę, że ponieważ warunkiem rozpoczęcia naciśnięcia przycisku Brain Up jest pierwszy, jeśli przycisk Brain Up zostanie przytrzymany, a następnie naciśnięty zostanie również przycisk Brain Down, ramię będzie nadal się obracać. Ta czynność nie zakończy się, dopóki nie zostanie zwolniony przycisk Brain Up. Dlatego w następnym kroku projekt zostanie przepisany, aby uwzględnić blok [If then else] , aby uniknąć potencjalnych problemów.
Zestaw narzędzi dla nauczyciela - Zatrzymaj się i porozmawiaj
Teraz, gdy uczniowie przetestowali projekt, zapytaj ich, jak ich przewidywania mają się do obserwacji. Ułatw sobie dyskusję, zadając następujące pytania:
-
Czy Twoje przewidywania pokrywały się z obserwacjami?
-
Co wydaje się dziać w projekcie?
-
Czy warunki naciśnięcia przycisków W górę i W dół są sprawdzane tylko raz?
-
Czy uważasz, że projekt można zreorganizować, aby działał wydajniej?
Krok 2: Zrozumienie przebiegu projektu.
W poprzednim kroku projekt podnosił i opuszczał ramię. Jednakże, ponieważ warunkiem rozpoczęcia naciśnięcia przycisku Brain Up jest pierwszy, jeśli przycisk Brain Up zostanie przytrzymany, a następnie naciśnięty zostanie również przycisk Brain Down, ramię będzie się nadal kręcić, ponieważ działanie to nie zakończy się, dopóki nie zostanie naciśnięty przycisk Brain Up zostaje zwolniony. Zobacz poniższy schemat blokowy wyjaśniający przebieg projektu.
W ten sposób w projekcie można zastąpić bloki [If then] blokami [If then else], tak że w dowolnym momencie tylko jedno wystąpienie może być prawdziwe.
Obejrzyj następujący film instruktażowy na temat bloków [If then else] :
Zacznij od obejrzenia filmu instruktażowego If-Then-Else w VEXcode IQ.
Użycie bloków [If then else] wyeliminuje również potrzebę bloków [Poczekaj do], ponieważ ramię będzie się obracać do momentu zwolnienia przycisku Brain Up. Dzieje się tak, ponieważ część „else” [If then else] nigdy nie zostanie osiągnięta, dopóki warunek przycisku Brain Up nie będzie fałszywy (zwolniony).
Blok [Forever] umożliwia ciągłe sprawdzanie pierwszego warunku.
Przyjrzyjmy się zmianie projektu poprzez dodanie [If then else] bloków. Silnik ramienia będzie się teraz obracał, dopóki przycisk Brain Up nie będzie już wciśnięty (zwolniony). Ze względu na blok [Forever] warunek ten będzie sprawdzany aż do uzyskania wartości fałszywej.
Gdy warunek przycisku Brain Up będzie fałszywy, projekt przejdzie do następnego bloku, który polega na sprawdzeniu warunku w przypadku naciśnięcia przycisku Brain Down. Jeśli warunek naciśnięcia przycisku Brain Down jest prawdziwy, ramię zacznie się obracać. Ponownie, ze względu na blok [Forever] , warunek ten będzie sprawdzany, dopóki nie stanie się fałszywy.
Gdy warunek przycisku Brain Up będzie fałszywy, projekt będzie kontynuowany do następnego bloku, czyli bloku [Stop motor] . Zatem silnik ramienia zatrzyma się tylko wtedy, gdy oba warunki będą fałszywe (żaden przycisk nie zostanie naciśnięty).
Motywuj dyskusję
P: Jaki jest postęp w realizacji projektu, jeśli warunek naciśnięcia przycisku Brain Up jest FAŁSZYWY (zwolniony)?
A: Jeśli warunek jest fałszywy, w trakcie realizacji projektu będzie kontynuowane sprawdzanie stanu naciśnięcia przycisku Brain Down.
P: Jaki jest cel [If then else] bloków w powyższym projekcie?
A: Użycie bloków [If then else] pozwala, aby tylko jedno wystąpienie było prawdziwe w danym momencie. Zatem przyciski Brain Up i Brain Down nie mogą być jednocześnie prawdziwe przy użyciu bloków [If then else] , ponieważ drugi warunek naciśnięcia przycisku Brain Down nie byłby nawet opcją, chyba że pierwszy warunek Naciśnięcie przycisku Brain Up było fałszywe. Drugim celem jest poprawa efektywności programowania.
P: Jaki jest postęp w realizacji projektu, jeśli oba warunki naciśnięcia przycisków „W górę” i „W dół” są fałszywe?
A: Jeśli oba warunki są fałszywe, przepływ projektu będzie kontynuowany do bloku [Stop motor] , po czym powróci na szczyt stosu, powtarzając się w nieskończoność.
Krok 3: Programowanie za pomocą [If then else] bloków.
Użyjmy bloków [If then else] :
-
Dodaj bloki [If then else] do swojego projektu ArmUpDown, aby projekt wyglądał następująco:
-
Zapisz projekt jako ArmUpDown2. Jeśli uczniowie potrzebują pomocy w zapisaniu projektu, zapoznaj się z samouczkiem Nazywanie i zapisywanie.
-
Pobierz projekt do Slot 4 na Clawbocie, a następnie uruchom go.
-
Aby uzyskać pomoc dotyczącą pobierania i uruchamiania projektu, zobacz samouczek w VEXcode IQ, który wyjaśnia, jak i uruchomić projekt.
-
Sprawdź, czy ramię będzie się teraz obracać po naciśnięciu przycisku Brain Up i opadać po naciśnięciu przycisku Brain Down.
-
Sprawdź, czy gdy przyciski Brain Up i Down nie są wciśnięte (zwolnione), silnik ramienia zatrzymuje się.
-
Zapisz w swoim notatniku inżynierskim swoje obserwacje dotyczące zachowania Clawbota przed i po dodaniu bloków if then else do projektu.
Zestaw narzędzi dla nauczyciela - Zatrzymaj się i porozmawiaj
Po tym, jak uczniowie przetestują projekt przed i po dodaniu bloku [If then else] , przedyskutuj z uczniami, w jaki sposób umożliwia to dalsze obracanie ramienia do momentu zwolnienia przycisku Brain Up. Poproś uczniów, aby podzielili się swoimi obserwacjami z notatników inżynierskich. Ułatw dyskusję, zadając następujące pytania:
-
Czy widzisz, że Clawbot zachowuje się inaczej przy użyciu bloków [If then else] w porównaniu z samymi bloczkami [If then] ?
-
Jak myślisz, dlaczego efektywność programu jest ważna?
-
Czy warunek przycisku Brain Up jest sprawdzany tylko raz w projekcie?
Notatniki inżynierskie uczniów można prowadzić i oceniać indywidualnie (Google / .docx / .pdf) lub zespołowo (Google / .docx / .pdf). Poprzednie linki zawierają inną rubrykę dla każdego podejścia. Ilekroć w planowaniu edukacji uwzględnia się rubrykę, dobrą praktyką jest wyjaśnienie rubryki lub przynajmniej rozdanie uczniom kopii przed rozpoczęciem zajęć.
Zestaw narzędzi nauczyciela
Uczniowie mogą nie widzieć dużej różnicy w zachowaniu Clawbota pomiędzy użyciem bloczków [If then else] w porównaniu z bloczkami [If then] . Jeśli uczniowie fizycznie nie widzą dużej różnicy, poprowadź dyskusję na temat wydajności programowania i tego, jak uproszczenie projektu może prowadzić do użycia mniejszej liczby bloków. Użycie mniejszej liczby bloków w projekcie może zmniejszyć liczbę potencjalnych błędów.
Krok 4: Programowanie pazura.
W poprzednim kroku projekt został zoptymalizowany pod kątem wydajniejszego działania przy użyciu [If then else] bloków. W poprzednim przykładzie manipulowano ramieniem za pomocą przycisków Brain Up i Down.
Korzystając z dokładnie tego samego schematu projektu, pazurem można również manipulować.
-
Przejrzyj projekt ArmUpDown2 i zmień bloki [Spin] na ClawMotor zamiast ArmMotor, korzystając z menu rozwijanego.
Upewnij się, że przycisk Brain Up powoduje „otwarcie” Pazura, a przycisk Brain Down powoduje „zamknięcie” Pazura, korzystając z menu rozwijanych.
-
Zapisz projekt jako ClawUpDown. Jeśli uczniowie potrzebują pomocy w zapisaniu projektu, zapoznaj się z samouczkiem Nazywanie i zapisywanie.
-
Pobierz projekt do Slot 1 na Clawbocie, a następnie uruchom go.
-
Aby uzyskać pomoc dotyczącą pobierania i uruchamiania projektu, zobacz samouczek w VEXcode IQ, który wyjaśnia, jak i uruchomić projekt.
-
Sprawdź, czy Pazur będzie się teraz otwierał po naciśnięciu przycisku Brain Up i zamykał się po naciśnięciu przycisku Brain Down.
-
Sprawdź, czy gdy przyciski Brain Up i Down nie są wciśnięte (zwolnione), silnik kłowy zatrzymuje się.
-
Zapisz w swoim notatniku inżynierskim swoje obserwacje dotyczące zachowania Clawbota przed i po dodaniu bloków if then else do projektu.
Zestaw narzędzi nauczyciela
Teraz, gdy uczniowie nabyli już umiejętności manipulowania ramieniem i pazurami za pomocą przycisków, poproś ich, aby przeprowadzili burzę mózgów, w jaki sposób mogą wykonać wszystkie cztery czynności w tym samym projekcie (ramię w górę, ramię w dół, pazur otwarty i pazur zamknięty).
Uczniowie wykorzystają kolejny blok [if then else] w części dotyczącej ponownego przemyślenia, aby umożliwić robotowi wykonanie wszystkich czterech czynności.
Rozszerz swoją naukę - Ustaw blokadę silnika
Jeśli uczniowie zaprogramują swojego robota tak, aby podnosił i opuszczał ramię, ciężar Szponu może spowodować, że ramię opadnie.
W tym przypadku można zastosować blok [Ustaw zatrzymanie silnika] , aby ramię nie opadło pod wpływem grawitacji i ciężaru pazura. Blok ten może zostać użyty na początku projektu i będzie zastosowany do wszystkich przyszłych bloków silnikowych w pozostałej części projektu.
Ustawiona blokada zatrzymania silnika ma trzy ustawienia:
-
Hamulec powoduje natychmiastowe zatrzymanie silnika.
-
Wybieg umożliwia stopniowe obracanie się silnika aż do zatrzymania.
-
Trzymanie powoduje natychmiastowe zatrzymanie silnika i powrót do pozycji zatrzymania w przypadku poruszenia.