Lego Mindstorms EV3: Loop Blok Poradnik
Blok Loop ciągu oprogramowaniu LEGO Mindstorms EV3 (lub aplikacji) jest jednym z najbardziej użytecznych bloków programista może użyć. W tym poście będziemy zagłębić się co to jest, jak to może być używane wraz z dużą ilością przykładowych programów, aby pomóc zrozumieć pojęcia pokrywa.Co oznacza Loop Blok zrobić?
Blok pętla jest przydatna, ponieważ może on być stosowany do programowania logiki powtarzać aż pewien warunek jest spełniony, lub powtórzyć logikę nieskończenie jeśli zajdzie taka potrzeba. Warunkiem przerwania pętli może być zegar lub sygnałem z czujnika (jak naciśnięcie przycisku na czujnik dotyku lub obiektu wykrywane przez czujnik na podczerwień / ultradźwiękowe).Co robi Loop Blok wyglądać?
Blok pętli jest dostępny z palety kontroli przepływu pomarańczowy:
Przerwa Stan bloku pętla
Warunkiem przerwa bloku pętla jest warunek, który musi być spełniony, aby w pętli do końca. Wejście na tryb bloku pętla jest używany do ustawiania stanu przerwę i domyślnie tryb jest ustawiony na nieograniczony. Co oznacza, że blok pętli nie złamie (zjazd) i będzie to powtórzyć swoją logikę zawsze. Gdy ten tryb jest ustawiony dowolny blok po prawej stronie bloku pętla nigdy nie zostanie wykonane (o ile mamy blok pętli Przerwania, które są uwzględnione w dalszej części tego postu).
Nieograniczony
Jak wspomniano powyżej, nieograniczony tryb blok pętli nigdy nie wyjdzie z bloku pętla więc należy być ostrożnym podczas korzystania z tego trybu. Tryb ten jest zwykle używany, gdy można oczekiwać, aby zakończyć program ręcznie lub przy użyciu bloku pętla przerwań, aby wyjść z pętli.Liczyć
Liczyć tryb blokowy pętli wyjdzie po osiągnięciu zaprogramowanej liczby pętli. Poniższy rysunek przedstawia tryb naliczania ustawiony na 10 pętlach:
logika programu:
- Tworzenie nowej zmiennej numerycznej nazwie NoOfLoops
- Generowanie liczb losowych i zapisać go do zmiennej NoOfLoops
- Zacznij pętlę, która złamie od wartości zmiennej NoOfLoops
- Wyświetli komunikat na ekranie „liczba pętli: X” (x jest zmienną NoOfLoops).
- Ustawić licznik pętli do zmiennej NoOfLoops i na każdej pętli wyświetla licznik pętli do ekranu
- Tworzenie zmiennej NoOfLoops:
- Przeciągnij i upuść czerwoną Zmienny blok obok bloku startowym
- Kliknij nazwę zmiennej i wybierz Dodaj Variable
- Wpisz NoOfLoops w nowej zmiennej pola tekstowego i kliknij Ok
- Uwaga: Domyślnie zmienna blok zostanie ustawiony na liczbowe

- Generowanie liczb losowych między 1 a 10
- Przeciągnąć i upuścić czerwoną Losowa blok po prawej stronie bloku Variable
- Zapewnić jej dolna granica wejściowy jest ustawiony na 1 , a górna granica wejście jest ustawione na 10 .

- Zapisz losowy numer do zmiennej NoOfLoops
- Przeciągnąć i upuścić czerwoną zmiennej długości bloku do końca programu EV3
- Zapewnić jej tryb jest ustawiony Napisz | numeryczny
- Połącz wyjście wartość z Losowe bloku do wejścia wartości zmiennej bloku

- Wyświetlanie tekstu „Liczba pętli” na wyświetlaczu Lego EV3 Brick
- Przeciągnąć zieloną wyświetlanie bloku do końca programu
- Zmień to tryb na tekst | Krata
- Ustaw rozmiar czcionki wejście do 1
- Zmienić tekst do: liczba pętli:

- Wyświetlenie
wartości zmiennej NoOfLoops na ekranie wraz z komunikatem z
poprzedniego etapu i dodaj oczekiwanie na 3 sekundy, aby dać
wystarczająco dużo czasu, aby ją przeczytać.
- Przeciągnąć i upuścić czerwoną zmiennej długości bloku do końca programu
- Ustaw swój tryb do Czytaj | numeryczny
- Przeciągnij i upuść zielone wyświetlanie bloku do końca programu
- Ustaw jej tryb na tekst | Krata
- Ustaw Wyczyść ekran wkład Fałsz
- Ustawić X wejście do 10 i Y wkład 3
- Zmień tekst wejście od Mindstorms do przewodowy
- Drut Variable blok wczytywane do wprowadzania tekstu w bloku wyświetlacza
- Przeciągnij i upuść bloku pomarańczowy doczekać, aby po prawej stronie bloku wyświetlacza
- Ustaw swój sekund wejście do 3
- Przeciągnąć i upuścić czerwoną zmiennej długości bloku do końca programu

- Dodaj pętli i ustawić jego licznik (czyli ile razy będzie powtórzyć logiki) do zmiennej NoOfLoops
- Przeciągnij i upuść jest blok pomarańczowy pętli do końca programu
- Ustaw swój tryb do hrabiego
- Drut Variable blok odczytu z poprzedniego etapu do wejścia licznika pętli w

- Wyświetlanie liczby pętli na wyświetlaczu EV3 cegły przy użyciu indeksu pętli
- Przeciągnąć i upuścić zielonym wyświetlaczem blok wewnątrz pętli
- Ustaw jej tryb na tekst | Krata
- Ustawić wartość tekstową do Loop Number
- Przeciągnij i upuść kolejny zielony wyświetlanie bloku obok jednego powyżej nadal wewnątrz pętli)
- Ustaw jej tryb na tekst | Krata
- Ustaw Przezroczysty ekran do Fałsz
- Zestaw X do 10 i Y do 3
- Ustaw tekst do przewodowy
- Drut w Indeksie Loop z lewej strony pętli do wprowadzania tekstu (patrz obrazek poniżej po więcej szczegółów)
- Przeciągnij i upuść pomarańczowy blok timera obok bloku wyświetlacza
- Zostaw go w domyślnej 1 sekundy - to powinno dać wystarczająco dużo czasu, aby czytać licznik pętli
- Przeciągnąć i upuścić zielonym wyświetlaczem blok wewnątrz pętli

Ilość pętli zawsze będzie jeden mniej niż wygenerowanej liczby losowej. To dlatego, że wartość wskaźnika pętli od zera (zaczyna się od 0 zamiast 1).
Spróbuj za pomocą czerwonego bloku Math, aby go naprawić.
Logika
Tryb blok pętli logiczny wykorzystuje wartość logiczną w celu określenia, czy przerwania pętli. Gdy logika (prawda / fałsz) równa się prawda, wówczas pętla zostanie przerwane.poniżej następujący program jest dobrym przykładem pętli logicznej. Podobnie jak w przypadku poprzedniego programu będzie policzyć liczbę pętli na wyświetlaczu cegły EV3 i będziemy ustawić blok logiczny true gdy licznik osiągnie sześć.
Logika programu:
- Utwórz nową zmienną o nazwie BreakLoop logiki (i ustawić ją na false)
- Uruchomić pętlę, która zakończy gdy zmienna BreakLoop jest prawda
- Drukuj indeks pętli na wyświetlaczu EV3 Brick
- Sprawdź, czy indeks pętli jest równa sześciu
- Jeśli nie jest ustawiona zmienna BreakLoop False
- Jeśli tak jest, należy ustawić zmienną BreakLoop True
- Utworzyć zmienną logiczną nazwie BreakLoop
- Przeciągnij i upuść czerwoną Zmienny blok obok przycisku Start
- Ustaw swój tryb do Napisz | Logika
- Kliknij nazwę zmiennej i wybierz Dodaj Variable
- Wpisz BreakLoop w nowej zmiennej pola tekstowego i kliknij Ok

- Dodaj pętli logicznych
- Przeciągnij i upuść jest blok pomarańczowy pętli obok bloku Variable
- Ustaw swój tryb logiki

- Pokaż liczbę indeksu na wyświetlaczu EV3 Brick
- Pokaż słowa „numer Loop”
- Przeciągnąć zieloną wyświetlanie bloku w pętli
- Ustaw jej tryb na tekst | Krata
- Ustawić wartość tekstową do Loop Number
- Przeciągnąć zieloną wyświetlanie bloku w pętli
- Wyświetlanie indeksu pętli
- Przeciągnąć zieloną wyświetlanie bloku w pętli
- Ustaw jej tryb na tekst | Krata
- Ustaw jasny ekran do Fałsz
- Zestaw X do 10 i Y do 3
- Ustawić wartość tekstową do przewodowy
- Drut z indeksu pętli do 2 bloku reklamowej
- Przeciągnąć zieloną wyświetlanie bloku w pętli
- Pauza tekst wystarczająco długo, aby ją przeczytać
- Przeciągnąć i upuścić blok pomarańczowy Czekaj na prawo od ostatniego bloku reklamowej
- Pozostaw domyślne 1 sekundy
- Przeciągnąć i upuścić blok pomarańczowy Czekaj na prawo od ostatniego bloku reklamowej
- Pokaż słowa „numer Loop”

- Sprawdź indeks pętli i ustawić zmienną BreakLoop True jeśli jest równa sześciu
- Przeciągnąć i upuścić pomarańczowy blok przełącznika po prawej stronie bloku Wait
- Ustaw jej tryb na numeryczne
- Podłączyć do indeksu pętli do tego przełącznik bloku wejścia numer
- Ustawić zmienną BreakLoop false jeśli indeks pętli jest mniej niż 6
- Przeciągnij i upuść czerwoną Zmienny blok w sekcji Case for 1
- Ustaw swój tryb do Napisz | Logika
- Ustawić wartość na false (powinno być domyślnie)
- Przeciągnij i upuść czerwoną Zmienny blok w sekcji Case for 1
- Ustawić zmienną BreakLoop True, jeśli indeks pętli jest 6
- Zmień drugą sekcję przypadku bloku przełączyć się 6
- Przeciągnij i upuść czerwoną Zmienny blok do (6) części Case
- Ustaw swój tryb napisać | Logika
- Ustawić wartość na True,
- Przeciągnąć i upuścić pomarańczowy blok przełącznika po prawej stronie bloku Wait

- Sprawdź zmienną BreakLoop aby zobaczyć, czy pętla musi zatrzymać
- Przeciągnij i upuść czerwoną Zmienny blok po prawej stronie bloku przełączników
- Ustaw swój tryb do Czytaj | Logika
- Drut zmienna bloku do bloku Loop Do dnia wejścia Prawdziwego .

Uwaga: Upewnij się, że oświadczenie domyślny przypadek w bloku przełącznik jest „1”, wybierając odpowiedni przycisk radiowy, jak na ostatnim zdjęciu powyżej.
Czas
Tryb bloku pętla czasu pozwala nam wyjść z pętli, gdy określony czas jest spełniony. Na przykład, pętla może być ustawiony, aby zakończyć w ciągu 10 sekund.Poniższy program demonstruje, jak używać trybu czasu na bloku pętli. Jest to schludny trochę gra, która będzie korzystać z czujnika przycisk, aby policzyć, ile razy można nacisnąć go w 10 sekund.
Aby stworzyć ten program Wszystko czego potrzebujesz to klocka Lego EV3 i czujnik dotykowy podłączony do numeru portu 1.
Logika programu:
- Ustawić timer na 10 sekund w pętli
- Za każdym razem, czujnik dotykowy jest na podsłuchu, dodać 1 do zmiennej NoOfBumps
- Wyświetla zmienną NoOfBumps na ekranie
Teraz do programu:
- Ustaw pętlę, która będzie działać przez 10 sekund
- Przeciągnij i upuść jest blok pomarańczowy pętli obok bloku startowym
- Ustaw jej tryb na wskaźniku czasu
- Ustaw sekund wkład 10

- Dodać 1 do zmiennej (NoOfBumps) za każdym razem, czujnik dotykowy jest wciśnięty
- Sprawdź, czy bump na czujniku dotykowym
- Przeciągnij i upuść pomarańczowy Blok przełączników do pętli
- Ustaw swój tryb do czujnika dotykowego | Porównaj | Stan
- Ustaw stan wejście do 2
- Tworzenie zmiennej NoOfBumps
- Przeciągnąć i upuścić czerwoną Zmienny blok do prawdziwego rachunku przypadku bloku switch
- Ustaw swój tryb do Czytaj | numeryczny
- Kliknij Variable nazwę i wybierz Dodaj Variable
- Wpisz NoOfBumps i kliknij Ok
- Dodaj 1 do zmiennej NoOfBumps
- Przeciągnij i upuść czerwony klocek Math obok bloku zmiennej
- Drut czytać Zmienny blok na wejście A w bloku Meczu
- Przeciągnij i upuść czerwoną Zmienny blok po prawej stronie bloku Math
- Upewnić NoOfBumps jest zaznaczona w nazwie
- Drut = wyjście z bloku Math do bloku zmiennej
- Przeciągnij i upuść czerwony klocek Math obok bloku zmiennej
- Sprawdź, czy bump na czujniku dotykowym

- Odczytu zmiennej NoOfBumps i pokazać go na ekranie EV3
- Odczytu zmiennej
- Przeciągnij i upuść czerwony zmiennej blok po bloku przełącznik (wciąż w pętli)
- Ustaw swój tryb do Czytaj | numeryczny
- Upewnić NoOfBumps została wybrana jako nazwy zmiennej
- Display „Nie od stłuczki X”, aby wyświetlić EV3 cegły (gdzie X jest liczbą uderzeń)
- Przeciągnij i upuść zielony wyświetlacz blok obok bloku odczytu zmiennej
- Ustaw jej tryb na tekst | Krata
- Zmiana X 10 i Y 3
- Zmień tekst z Mindstorms do przewodowy
- Okablować Odczyt zmiennej długości bloku do wejścia bloku tekstowego wyświetlacza
- Przeciągnij i upuść zielony wyświetlacz blok obok bloku wyświetlaczu nad
- Ustaw jej tryb na tekst | Krata
- Ustaw Przezroczysty ekran wejście do Fałsz
- Zmienić tekst do nr uderzeń
- Przeciągnij i upuść zielony wyświetlacz blok obok bloku odczytu zmiennej
- Dodaj timer do końca programu tak, że ostatni numer można odczytać
- Przeciągnij i upuść pomarańczowy bloku czasowego na końcu programu, na zewnątrz pętli
- Zmień swoje drugie wejście do 4
- Odczytu zmiennej

Wyzwanie: Sprawdź, czy możesz dodać komunikat końcowy dać ostateczny wynik.
godzin
Jest jeszcze jeden sposób na wykorzystanie czasu z bloku pętli, a to za pomocą programatora | Tryb Wskaźnik czasu:
- Równy
- Nie równy
- Lepszy niż
- Większe bądź równe
- Mniej niż
- Mniejszy lub równy

Tryby pracy czujnika
Tryby czujnik bloku Programowanie Loop EV3 będzie monitorować konkretny i przerwać pętlę gdy pewien warunek z czujnika jest spełniony. Blok pętli przeznaczony dla następujących czujników EV3 i NXT:- cegła Przyciski
- Kolor Sensor
- Czujnik żyroskopowy
- Czujnik podczerwieni
- obrotów silnika
- Czujnik temperatury
- Czujnik dotyku
- Czujnik ultradźwiękowy
- Licznik energii
- NXT czujnik dźwięku
Uwaga: jeśli jesteś użyć wydanie domem oprogramowaniu EV3 czym niektóre z tych opcji nie są dostępne. Nasza poczta tutaj przechodzi nad różnicami między edycjach Home and Education oprogramowania.W naszym przykładzie trybu Czujnik programu bloku pętla mamy zamiar wykorzystać czujnik koloru. Program pokaże nam kolor wykryje i będzie przerwa pętli, gdy wykryje kolor niebieski.
Wszystko, czego potrzebujesz do tego programu jest Lego EV3 Cegła i czujnik koloru podłączony do portu 3.
Logika programu:
- Ustaw pętlę złamać, gdy czujnik wykryje kolor niebieski
- Korzystanie z czujnika kolorów ustawić zmienną o nazwie Kolor z nazwą koloru wykrytego
- Pokaż nazwy kolorów na wyświetlaczu EV3 i wstrzymanie przez 1 sekundę
- Jeśli kolor jest niebieski, przerwać pętlę i napis „Loop zakończony” na wyświetlaczu EV3
- Założyć pętlę, aby wyjść na niebiesko wykrycia
- Przeciągnij i upuść jest blok pomarańczowy pętli obok bloku startowym
- Ustaw jej tryb na Colour Sensor | Kolor
- SET „ zestaw kolorów ” Wejście do 2 (niebieski) i odznacz domyślne (czerwony - 5)

- Korzystanie z czujnika koloru wykryć kolor i zapisać go do zmiennej o nazwie Kolor
- Przeciągnij i upuść pomarańczowy Blok przełączników wewnątrz pętli
- Ustaw swój tryb do Kolor | Zmierz | Kolor
- Dodaj przypadek dla każdego koloru (w tym brak)
- Wolę, aby zmienić widok przełącznika do widoku zakładki, klikając ikonę po lewej stronie numeru portu. To sprawia, że o wiele łatwiejsze do odczytania, gdy istnieje wiele opcji w przełączniku
- Przeciągnij i upuść czerwoną Zmienny blok w każdym przypadku kolorów w bloku przełącznika
- W pierwszym z nich utworzyć zmienną tekstową o nazwie Kolor
- Ustaw swój tryb do Napisz | Tekst
- Ustawić wartość zmiennej wejście do nazwy każdego z kolorów .
- Przeciągnij i upuść pomarańczowy Blok przełączników wewnątrz pętli
- Wyświetlanie wykryty kolor na wyświetlaczu EV3 cegły
- Przeciągnij i upuść na zielony blok wyświetlacza po przełączeniu
- Ustaw jej tryb na tekst | Krata
- Zmień wartość tekstową do koloru:
- Przeciągnij i upuść czerwoną Zmienny blok obok bloku reklamowej
- Ustaw swój tryb do Czytaj | Tekst
- Upewnij się, że nazwa zmiennej jest kolorowa
- Przeciągnij i upuść kolejny zielony blok wyświetlacza i umieścić ją obok Variable bloku.
- Ustaw jej tryb na tekst | Krata
- Ustaw Przezroczysty ekran do Fałsz
- Zestaw X do 10 i Y do 3
- Ustawić jego wprowadzania tekstu do przewodowy
- Drut Variable bloku na wejście tekst bloku wyświetlacza
- Przeciągnij i upuść jest blok pomarańczowy Wait obok bloku wyświetlacza
- Zostaw swoje drugie wejście do 1 (ta wyświetli komunikat na 1 sekundę - zwiększy to jak widać pasuje).
- Przeciągnij i upuść na zielony blok wyświetlacza po przełączeniu

- Wyświetli komunikat „Loop Ended”, gdy zostanie wykryty i niebieski pętla wyjściu:
- Przeciągnij i upuść zielone wyświetlanie bloku poza blokiem Loop
- Ustaw jej tryb na tekst | Krata
- Ustaw tekst do pętli Ended Niebieski Wykryto
- Przeciągnij i upuść jest blok pomarańczowy Wait obok bloku wyświetlacza
- Ustaw swój sekund wejście do 2
- Przeciągnij i upuść zielone wyświetlanie bloku poza blokiem Loop


Sprawdź, czy możesz zaktualizować program również wyjście na czerwony (lub inny wybrany kolor).Jeśli chcesz dowiedzieć się więcej o czujnik koloru, kliknij tutaj, aby zobaczyć nasz czujnik koloru szczegółowo postu.
Przerwanie pętli
Ostatnia pozycja związana z bloku pętli jest pomarańczowy blok przerwania pętli:


Brak komentarzy:
Prześlij komentarz