Wszystkie czujniki ev3 mają poprawną nazwę. Łączenie dwóch lub więcej cegieł EV3

Tradycyjnie roboty budowane są na platformie Lego Mindstorms EV3, są programowane przy użyciu środowiska graficznego LabVIEW. W tym przypadku programy działają na kontrolerze EV3, a robot działa autonomicznie. Tutaj opowiem o alternatywnym sposobie sterowania robotem - za pomocą platformy .NET działającej na komputerze.

Zanim jednak zajmiemy się programowaniem, przyjrzyjmy się niektórym przypadkom, w których może to być przydatne:

  • Wymaga zdalnego sterowania robotem z poziomu laptopa (np. poprzez naciśnięcie przycisków)
  • Wymagane jest pobranie danych ze sterownika EV3 i przetworzenie ich w systemie zewnętrznym (np. dla systemów IoT)
  • Wszelkie inne sytuacje gdy chcesz napisać algorytm sterujący w .NET i uruchomić go z komputera podłączonego do sterownika EV3

API LEGO MINDSTORMS EV3 dla .NET

Sterowanie kontrolerem EV3 odbywa się z systemu zewnętrznego poprzez wysyłanie poleceń na port szeregowy. Sam format poleceń jest opisany w Communication Developer Kit.

Ale ręczne wdrażanie tego protokołu jest nudne. Można zatem skorzystać z gotowego wrappera .NET, który starannie napisał Brian Peek. Kod źródłowy tej biblioteki jest hostowany na Githubie, a gotowy do użycia pakiet można znaleźć na Nuget.

Podłączanie do kontrolera EV3

Do komunikacji z kontrolerem EV3 wykorzystywana jest klasa Brick. Tworząc ten obiekt należy przekazać konstruktorowi implementację interfejsu ICommunication - obiekt opisujący sposób połączenia ze sterownikiem EV3. Dostępne są implementacje komunikacji USB, komunikacji Bluetooth i komunikacji sieciowej (połączenie Wi-Fi).

Najpopularniejszą metodą połączenia jest Bluetooth. Przyjrzyjmy się bliżej tej metodzie połączenia.

Zanim będziemy mogli programowo połączyć się z kontrolerem poprzez Bluetooth, należy połączyć kontroler z komputerem za pomocą ustawień systemu operacyjnego.

Po podłączeniu kontrolera należy przejść do ustawień Bluetooth i wybrać zakładkę Porty COM. Znajdujemy nasz kontroler, potrzebujemy towarzyski Port. Określimy to podczas tworzenia obiektu BluetoothCommunication.

Kod umożliwiający połączenie się z kontrolerem będzie wyglądał następująco:

Publiczne zadanie asynchroniczne Połącz (komunikacja IKomunikacja) ( var komunikacja = nowa komunikacja Bluetooth("COM9"); var cegła = _brick = nowa cegła (komunikacja); czekaj _brick.ConnectAsync(); )

Opcjonalnie możesz określić limit czasu połączenia ze sterownikiem:

Oczekuj _brick.ConnectAsync(TimeSpan.FromSeconds(5));

Podłączenie do urządzenia poprzez USB lub WiFi odbywa się w ten sam sposób, z tą różnicą, że wykorzystywane są obiekty UsbCommunication i NetworkCommunication.

Wszystkie dalsze akcje wykonywane na kontrolerze wykonywane są poprzez obiekt Brick.

Zakręćmy silnikami

Aby wykonać polecenia na kontrolerze EV3, uzyskujemy dostęp do właściwości DirectCommand obiektu Brick. Najpierw spróbujmy uruchomić silniki.

Załóżmy, że nasz silnik jest podłączony do portu A sterownika, wówczas praca tego silnika na 50% mocy będzie wyglądać następująco:

Czekaj na _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50);

Istnieją inne metody sterowania silnikiem. Na przykład można obrócić silnik o określony kąt, korzystając z metod StepMotorAtPowerAsync() i StepMotorAtSpeedAsync(). Dostępnych jest kilka metod, które są odmianami trybów włączania silników - według czasu, prędkości, mocy itp.

Wymuszone zatrzymanie realizowane jest przy pomocy metody StopMotorAsync():

Czekaj na _brick.DirectCommand.StopMotorAsync(OutputPort.A, true);

Drugi parametr wskazuje użycie hamulca. Jeśli ustawisz wartość Fałsz, silnik zatrzyma się wybiegiem.

Odczyt wartości z czujników

Kontroler EV3 posiada cztery porty do podłączenia czujników. Oprócz tego silniki mają również wbudowane enkodery, co pozwala na wykorzystanie ich jako czujników. W rezultacie mamy 8 portów, z których można odczytać wartości.

Dostęp do portów do odczytu wartości można uzyskać poprzez właściwość Ports obiektu Brick. Porty to zbiór portów dostępnych na kontrolerze. Dlatego, aby pracować z określonym portem, musisz go wybrać. InputPort.One...InputPort.Four to porty czujników, natomiast OutputPort.A...InputPort.D to enkodery silnika.

Var port1 = _brick.Ports;

Czujniki w EV3 mogą pracować w różnych trybach. Na przykład czujnik koloru EV3 może służyć do pomiaru światła otoczenia, pomiaru światła odbitego lub wykrywania koloru. Aby zatem „powiedzieć” czujnikowi dokładnie, w jaki sposób chcemy go używać, musimy ustawić jego tryb:

Brick.Ports.SetMode(ColorMode.Reflective);

Teraz, gdy czujnik jest podłączony i ustawiony jest jego tryb pracy, można odczytać z niego dane. Możesz uzyskać „surowe” dane, wartość przetworzoną i wartość procentową.

Float si = _brick.Ports.SIValue; int surowy = _brick.Ports.RawValue; bajt procent = _brick.Ports.PercentValue;

Właściwość SIValue zwraca przetworzone dane. Wszystko zależy od tego, który czujnik jest używany i w jakim trybie. Przykładowo mierząc światło odbite otrzymamy wartości od 0 do 100 w zależności od natężenia światła odbitego (czarny/biały).

Właściwość RawValue zwraca surową wartość uzyskaną z przetwornika ADC. Czasami wygodniej jest go użyć do późniejszego przetwarzania i użytkowania. Nawiasem mówiąc, w środowisku programistycznym EV3 możliwe jest również uzyskanie „surowych” wartości - w tym celu należy użyć bloku z niebieskiego panelu.

Jeśli czujnik, którego używasz, oczekuje otrzymywania wartości w procentach, możesz także skorzystać z właściwości PercentValue.

Wykonywanie poleceń partiami

Załóżmy, że mamy wózek robota z dwoma kołami i chcemy go ustawić na miejscu. W takim przypadku oba koła muszą obracać się w przeciwnym kierunku. Jeśli skorzystamy z DirectCommand i wyślemy do kontrolera kolejno dwa polecenia, pomiędzy ich wykonaniem może upłynąć trochę czasu:

Czekaj na _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50); czekaj _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.B, -50);

W tym przykładzie wysyłamy polecenie obrócenia silnika A z prędkością 50, po pomyślnym wysłaniu tego polecenia powtarzamy to samo z silnikiem podłączonym do portu B. Problem w tym, że wysyłanie poleceń nie następuje natychmiastowo, więc silniki może zacząć się kręcić w różnym czasie - w czasie przekazywania polecenia dla portu B, silnika A już zacznie się kręcić.

Jeśli dla nas ważne jest, aby silniki obracały się w tym samym czasie, możemy wysłać polecenia do sterownika w „pakietze”. W takim przypadku powinieneś użyć właściwości BatchCommand zamiast DirectCommand:

Brick.BatchCommand.TurnMotorAtPower(OutputPort.A, 50); _brick.BatchCommand.TurnMotorAtPower(OutputPort.B, -50); czekaj _brick.BatchCommand.SendCommandAsync();

Teraz przygotowywane są jednocześnie dwa polecenia, po czym wysyłane są do sterownika w jednym pakiecie. Sterownik po otrzymaniu tych poleceń zacznie jednocześnie obracać silniki.

Co jeszcze możesz zrobić

Oprócz obracania silników i odczytywania wartości z czujników, na sterowniku EV3 można wykonywać szereg innych czynności. Nie będę się rozpisywał szczegółowo o każdym z nich, wymienię jedynie listę tego co można zrobić:

  • CleanUIAsync(), DrawTextAsync(), DrawLineAsync(), itp. - manipulacja wbudowanym ekranem kontrolera EV3
  • PlayToneAsync() i PlaySoundAsync() - użyj wbudowanego głośnika do odtwarzania dźwięków
  • WriteFileAsync() , CopyFileAsync() , DeleteFileAsync() (z SystemCommand) - praca z plikami

Wniosek

Wykorzystanie .NET do sterowania robotami Mindstorms EV3 dobrze pokazuje, jak technologie z „różnych światów” mogą ze sobą współpracować. W wyniku badań nad API EV3 dla .NET powstała niewielka aplikacja pozwalająca na sterowanie robotem EV3 z poziomu komputera. Niestety podobne zastosowania istnieją dla NXT, ale EV3 je ominęło. Jednocześnie sprawdzają się w kontrolowanych zawodach robotów, takich jak piłka nożna robotów.

Aplikację można pobrać i zainstalować pod tym linkiem:

Jeśli tak jak my brakuje Ci możliwości standardowych czujników EV3, 4 porty na czujniki w Twoim robocie to za mało lub chcesz podłączyć do swojego robota jakieś egzotyczne urządzenia peryferyjne – ten artykuł jest dla Ciebie. Uwierz mi, domowy czujnik do EV3 jest łatwiejszy niż się wydaje. Do eksperymentu idealnie nadają się „pokrętło głośności” ze starego radia lub kilka gwoździ wbitych w ziemię w doniczce jako czujnik wilgotności gleby.

Co zaskakujące, każdy port czujnika EV3 kryje w sobie wiele różnych protokołów, głównie w celu zapewnienia zgodności z czujnikami NXT i czujnikami innych firm. Przyjrzyjmy się, jak działa kabel EV3


To dziwne, ale czerwony przewód to masa (GND), zielony przewód to plus zasilacza 4,3 V. Niebieski przewód to zarówno SDA dla magistrali I2C, jak i TX dla protokołu UART. Dodatkowo niebieski przewód to wejście przetwornika analogowo-cyfrowego dla EV3. Żółty przewód to zarówno SCL dla magistrali I2C, jak i RX dla protokołu UART. Biały przewód to wejście przetwornika analogowo-cyfrowego dla czujników NXT. Czarny - wejście cyfrowe, dla czujników kompatybilnych z NXT - powiela GND. Nie jest to łatwe, prawda? Chodźmy po kolei.

Wejście analogowe EV3

Każdy port czujnika posiada kanał przetwornika analogowo-cyfrowego. Stosowany jest w czujnikach takich jak czujnik dotyku (przycisk), czujnik światła NXT i czujnik koloru w trybie światła odbitego i światła otoczenia, czujnik dźwięku NXT i termometr NXT.

Rezystancja 910 omów, podłączona zgodnie ze schematem, informuje sterownik, że port ten należy przełączyć w tryb wejścia analogowego. W tym trybie do EV3 można podłączyć dowolny czujnik analogowy, np. z Arduino. Kurs wymiany z takim czujnikiem może sięgać kilku tysięcy zapytań na sekundę, jest to najszybszy rodzaj czujnika.

Czujnik światła

Termometr

Czujnik wilgotności gleby

Można także podłączyć: mikrofon, przycisk, dalmierz IR i wiele innych popularnych czujników. Jeżeli zasilanie 4,3 V nie jest wystarczające dla czujnika, można zasilić go napięciem 5 V z portu USB znajdującego się z boku kontrolera EV3.

Wspomniane powyżej „pokrętło głośności” (zwane również rezystorem zmiennym lub potencjometrem) jest doskonałym przykładem czujnika analogowego - można je podłączyć w następujący sposób:

Aby odczytać wartości z takiego czujnika w standardowym środowisku programistycznym LEGO, należy skorzystać z niebieskiego bloku RAW

Protokół I2C

Jest to protokół cyfrowy, na którym pracuje np. czujnik ultradźwiękowy NXT i wiele czujników Hitechnic, takich jak IR Seeker czy Color Sensor V2. W przypadku innych platform, np. dla Arduino, jest sporo czujników i2c, można je także podłączyć. Schemat jest następujący:

Grupa LEGO zaleca rezystancję 82 omów, ale różne źródła podają wartość 43 omów lub mniejszą. Właściwie to próbowaliśmy w ogóle zrezygnować z tych oporów i wszystko działa, przynajmniej „na stole”. W rzeczywistym robocie pracującym w warunkach różnego rodzaju zakłóceń linie SCL i SDA należy w dalszym ciągu podłączyć do zasilania poprzez rezystancje, jak pokazano na powyższym schemacie. Szybkość działania i2c w EV3 jest dość niska, około 10 000 kbps, dlatego ulubiony przez wszystkich Hitechnic Color Sensor V2 jest tak wolny :)

Niestety w przypadku standardowego EV3-G firmy LEGO nie ma pełnoprawnego bloku do dwukierunkowej komunikacji z czujnikiem i2c, ale korzystając ze środowisk programistycznych innych firm, takich jak RobotC, LeJOS czy EV3 Basic, można współpracować z niemal każdym czujnikiem i2c .

Możliwość działania EV3 przy użyciu protokołu i2c otwiera interesującą możliwość podłączenia wielu czujników do jednego portu. Protokół I2C pozwala na podłączenie do jednej magistrali aż 127 urządzeń typu slave. Czy potrafisz sobie wyobrazić? 127 czujników na każdy port EV3 :) Co więcej, często w jednym urządzeniu łączy się kilka czujników i2c, przykładowo na zdjęciu poniżej znajduje się czujnik 10 w 1 (zawiera kompas, żyroskop, akcelerometr, barometr itp.)

UART

Prawie wszystkie standardowe czujniki inne niż EV3, z wyjątkiem Touch Sensor, działają w oparciu o protokół UART i dlatego nie są kompatybilne z kontrolerem NXT, który mimo że ma te same złącza, nie ma zaimplementowanego UART w swoim czujniku porty. Spójrz na schemat, jest trochę prostszy niż w poprzednich przypadkach:

Czujniki UART automatycznie dopasowują prędkość swojego działania do EV3. Początkowo łączą się z szybkością 2400 kbit/s, uzgadniają tryby pracy i kursy walut, następnie przechodzą na zwiększoną prędkość. Typowe kursy wymiany dla różnych czujników wynoszą 38400 i 115200 kbit/s.
LEGO zaimplementowało w swoich czujnikach UART dość skomplikowany protokół, więc nie ma czujników innych firm, które nie były pierwotnie przeznaczone dla tej platformy, ale są z nią kompatybilne. Niemniej jednak ten protokół jest bardzo wygodny do łączenia „domowych”
czujniki oparte na mikrokontrolerach.
Istnieje wspaniała biblioteka dla Arduino o nazwie EV3UARTEmulation, napisana przez słynnego programistę LeJOS, Lawriego Griffithsa, która pozwala tej płycie udawać, że jest czujnikiem kompatybilnym z UART-LEGO. Na jego blogu LeJOS News znajduje się wiele przykładów podłączenia czujników gazu, czujnika IMU i kompasu cyfrowego przy użyciu tej biblioteki.

Poniżej na filmie znajduje się przykład wykorzystania domowego czujnika. Nie mamy wystarczająco dużo oryginalnych czujników odległości LEGO, więc używamy domowego czujnika na robocie:


Zadaniem robota jest wystartowanie z zielonej komórki, znalezienie wyjścia z labiryntu (czerwona komórka) i powrót do punktu startu najkrótszą drogą, bez wchodzenia w ślepe zaułki.

Wybierz tryb ekranu

Wybór trybu
Zablokuj pole tekstowe
Wejścia
Przycisk podglądu

Za pomocą selektora trybu wybierz typ tekstu lub grafiki, który chcesz wyświetlić. Po wybraniu trybu można wybrać wartości wejściowe. Dostępne wejścia będą się różnić w zależności od trybu. Tryby i wejścia opisano poniżej.

Możesz kliknąć przycisk Podgląd, aby wyświetlić podgląd tego, co blok wyświetlacza wyświetli na ekranie EV3. Możesz pozostawić widok otwarty podczas wybierania wartości wejściowych dla bloku.

Współrzędne ekranu

Wiele trybów bloków ekranu wykorzystuje współrzędne X i Y do określenia lokalizacji elementu. Współrzędne określają położenie pikseli na ekranie klocka EV3 Brick. Pozycja (0, 0) znajduje się w lewym górnym rogu ekranu, jak pokazano na obrazku poniżej.

Wymiary ekranu: szerokość 178 pikseli i wysokość 128 pikseli. Zakres wartości współrzędnych X wynosi od 0 na ekranie po lewej stronie do 177 po prawej stronie. Zakres wartości współrzędnych Y wynosi od 0 na górze do 127 na dole.

Porady i wskazówki

Możesz użyć przycisku Podgląd w lewym górnym rogu bloku ekranu, aby pomóc Ci znaleźć prawidłowe współrzędne ekranu.

Tekst - piksele

Tekst — tryb pikseli umożliwia wyświetlanie tekstu w dowolnym miejscu ekranu klocka EV3 Brick.

Zresetuj okno

Tryb Resetuj okno przywraca ekran klocka EV3 Brick do standardowego ekranu informacyjnego wyświetlanego podczas działania programu. Na tym ekranie wyświetlana jest nazwa programu i inne informacje zwrotne. Kiedy uruchamiasz program na kostce EV3 Brick, ten ekran pojawia się przed uruchomieniem pierwszego bloku ekranu programu.

Zapewnienie widoczności eksponowanych elementów

Po zakończeniu programu EV3 ekran klocka EV3 zniknie i nastąpi powrót do ekranu menu klocka EV3. Wszelkie teksty i grafiki wyświetlane przez program zostaną usunięte. Jeśli na przykład Twój program ma jeden blok „Ekran” i nic więcej, to ekran zostanie wyczyszczony natychmiast po zakończeniu programu tak szybko, że nie zobaczysz wyników bloku „Ekran”.

Jeśli chcesz, aby ekran pozostał widoczny po zakończeniu programu, musisz dodać blok na końcu programu, aby zapobiec natychmiastowemu zakończeniu programu, jak pokazano w poniższych przykładach.

Wyświetlanie wielu elementów

Jeżeli chcesz wyświetlić na ekranie wiele elementów tekstowych lub graficznych jednocześnie, ważne jest, aby nie czyścić ekranu klocka EV3 Brick pomiędzy elementami. Każdy tryb bloku ekranu ma wejście Clear Screen. Jeśli opcja Wyczyść ekran ma wartość true, cały ekran zostanie wyczyszczony przed wyświetleniem elementu. Oznacza to, że aby wyświetlić wiele elementów, należy ustawić opcję Wyczyść ekran na Fałsz dla każdego bloku ekranu z wyjątkiem pierwszego.

Wyświetlanie liczb

Aby wyświetlić wartość numeryczną w programie, podłącz magistralę danych do wejścia tekstowego bloku wyświetlania tekstu. Numeryczna magistrala danych zostanie automatycznie przekonwertowana na tekst przy użyciu konwersji typu magistrali danych (patrz rozdział

Opis prezentacji według poszczególnych slajdów:

1 slajd

Opis slajdu:

2 slajd

Opis slajdu:

Interfejs EV3 Brick Brick EV3 to centrum sterowania, które zasila Twoje roboty. Dzięki ekranowi, przyciskom sterującym Brick i interfejsowi EV3 Brick, który zawiera cztery główne okna, masz dostęp do oszałamiającej różnorodności unikalnych funkcji EV3 Brick. Mogą to być proste funkcje, takie jak uruchamianie i zatrzymywanie programu, lub złożone, takie jak pisanie samego programu.

3 slajd

Opis slajdu:

Interfejs: Menu EV3 składa się z 4 części: Najnowsze programy Nawigacja po plikach Aplikacje Brick Ustawienia Brick

4 slajd

Opis slajdu:

Ostatnie programy Uruchom programy pobrane ostatnio z komputera stacjonarnego. To okno pozostanie puste, dopóki nie zaczniesz pobierać i uruchamiać programów. W tym oknie zostaną wyświetlone ostatnio uruchomione programy. Program na górze listy, który jest wybrany domyślnie, to program, który został uruchomiony jako ostatni.

5 slajdów

Opis slajdu:

Menedżer plików Dostęp i zarządzanie wszystkimi plikami przechowywanymi w pamięci mikrokomputera, a także na karcie pamięci. W tym oknie będziesz mieć dostęp do wszystkich plików znajdujących się w klocku EV3 Brick i będziesz nimi zarządzać, łącznie z plikami przechowywanymi na karcie SD. Pliki są zorganizowane w foldery projektów, które oprócz rzeczywistych plików programu zawierają także dźwięki i obrazy użyte w każdym projekcie. Pliki można przenosić lub usuwać za pomocą nawigatora plików. Programy utworzone przy użyciu środowiska programistycznego modułu i aplikacji do rejestrowania danych modułu są przechowywane oddzielnie w folderach BrkProg_SAVE i BrkDL_SAVE.

6 slajdów

Opis slajdu:

Aplikacje skrzynki sterującej EV3 zawierają 4 preinstalowane aplikacje: A. Widok portu. B. Sterowanie silnikiem. B. Sterowanie IR. D. Środowisko programistyczne modułu.

7 slajdów

Opis slajdu:

A. Widok portu W pierwszym oknie aplikacji Port View możesz szybko sprawdzić, do których portów są podłączone czujniki lub silniki. Użyj przycisków sterujących klocka EV3 Brick, aby przejść do jednego z zajętych portów, a zobaczysz aktualne odczyty z czujnika lub silnika. Zainstaluj kilka czujników i silników i eksperymentuj z różnymi ustawieniami. Aby wyświetlić lub zmienić bieżące ustawienia zainstalowanych silników i czujników, naciśnij środkowy przycisk. Aby powrócić do głównego okna aplikacji modułu należy kliknąć przycisk „Wstecz”.

8 slajdów

Opis slajdu:

B. Sterowanie silnikiem Sterowanie ruchem do przodu i do tyłu dowolnego silnika podłączonego do jednego z czterech portów wyjściowych. Istnieją dwa różne tryby. W jednym trybie będziesz mógł sterować silnikami podłączonymi do portu A (za pomocą przycisków Góra i Dół) oraz do portu D (za pomocą przycisków Lewo i Prawo). W drugim trybie sterujemy silnikami podłączonymi do portu B (za pomocą przycisków Góra i Dół) oraz portu C (za pomocą przycisków Lewo i Prawo). Przełączanie pomiędzy tymi dwoma trybami odbywa się za pomocą centralnego przycisku. Aby powrócić do głównego okna aplikacji modułu należy kliknąć przycisk „Wstecz”.

Slajd 9

Opis slajdu:

Sterowanie na podczerwień Sterowanie ruchem do przodu i do tyłu dowolnego silnika podłączonego do jednego z czterech portów wyjściowych przy użyciu zdalnego sygnalizatora na podczerwień jako pilota i czujnika podczerwieni jako odbiornika (czujnik podczerwieni musi być podłączony do portu 4 klocka EV3 Brick) . Istnieją dwa różne tryby. W jednym trybie będziesz używać kanałów 1 i 2 na zdalnym sygnalizatorze podczerwieni. Na kanale 1 będziesz mógł sterować silnikami podłączonymi do portu B (za pomocą przycisków 1 i 2 na zdalnym sygnalizatorze IR) i portu C (za pomocą przycisków 3 i 4 na zdalnym sygnalizatorze IR). Na kanale 2 będzie można sterować silnikami podłączonymi do portu A (za pomocą przycisków 1 i 2) oraz do portu D (za pomocą przycisków 3 i 4). W innym trybie można sterować silnikami w ten sam sposób, używając zamiast tego kanałów 3 i 4 zdalnego sygnalizatora podczerwieni. Przełączanie pomiędzy tymi dwoma trybami odbywa się za pomocą centralnego przycisku. Aby powrócić do głównego okna aplikacji modułu należy kliknąć przycisk „Wstecz”.

10 slajdów

Opis slajdu:

Środowisko programistyczne Brick Brick EV3 Brick jest dostarczany z zainstalowanym oprogramowaniem. Aplikacja przypomina oprogramowanie instalowane na komputerze. Niniejsza instrukcja zawiera podstawowe informacje potrzebne do rozpoczęcia.

11 slajdów

Opis slajdu:

Ustawienia klocka EV3 Brick To okno umożliwia przeglądanie i dostosowywanie różnych ogólnych ustawień klocka EV3 Brick.

12 slajdów

Opis slajdu:

Regulacja głośności Możesz zwiększyć lub zmniejszyć głośność w zakładce Ustawienia w EV3.

Slajd 13

Połączenie USB

LEGO Mindstorms EV3 można podłączyć do komputera PC lub innego EV3 za pomocą połączenia USB. Szybkość i stabilność połączenia w tym przypadku są lepsze niż w przypadku jakiejkolwiek innej metody, w tym Bluetooth.

LEGO Mindstorms EV3 posiada dwa porty USB.

Komunikacja pomiędzy LEGO EV3 i innymi klockami LEGO EV3 w trybie połączenia łańcuchowego.

Tryb połączenia łańcuchowego służy do łączenia dwóch lub więcej klocków LEGO EV3.

Ten tryb:

  • przeznaczony do podłączenia więcej niż jednego LEGO Mindstorms EV3;
  • służy do podłączenia większej liczby czujników, silników i innych urządzeń;
  • umożliwia komunikację pomiędzy kilkoma LEGO Mindstorms EV3 (aż 4), co daje nam aż 16 portów zewnętrznych i tyle samo portów wewnętrznych;
  • umożliwia kontrolowanie całego łańcucha z poziomu głównego LEGO Mindstorms EV3;
  • nie może działać, gdy aktywne jest Wi-Fi lub Bluetooth.

Aby włączyć tryb połączenia łańcuchowego, przejdź do okna ustawień projektu i zaznacz pole.

Po wybraniu tego trybu, dla dowolnego silnika możemy wybrać blok EV3, który będzie używany oraz niezbędne czujniki.

W tabeli przedstawiono możliwości wykorzystania bloków EV3:

Działanie

Silnik średni

Duży silnik

Sterowniczy

Niezależne zarządzanie

Żyroskopowy

Podczerwień

Ultradźwiękowy

Obrót silnika

Temperatury

Licznik energii

Dźwięk

Połączenie przez Bluetooth

Bluetooth umożliwia połączenie LEGO Mindstorms EV3 z komputerem, innymi zestawami LEGO Mindstorms EV3, smartfonami i innymi urządzeniami Bluetooth. Zasięg komunikacji poprzez Bluetooth wynosi do 25 m.

Do jednego LEGO Mindstorms EV3 możesz podłączyć aż 7 klocków. Kostka główna EV3 umożliwia wysyłanie i odbieranie wiadomości do każdego urządzenia podrzędnego EV3. Urządzenia podrzędne EV3 mogą wysyłać wiadomości tylko do klocka głównego EV3, a nie między sobą.

Sekwencja połączenia EV3 przez Bluetooth

Aby połączyć ze sobą dwa lub więcej bloków EV3 poprzez Bluetooth należy wykonać następujące kroki:

1. Otwórz kartę Ustawienia.

2. Wybierz Bluetooth i naciśnij środkowy przycisk.

3. Kładziemy Pole wyboru widoczność Bluetooth.

4. Sprawdź, czy znak Bluetooth („<") виден на верхней левой стороне.

5. Wykonaj powyższą procedurę dla wymaganej liczby klocków EV3.

6. Przejdź do zakładki Połączenie:

7. Kliknij przycisk Szukaj:

8. Wybierz EV3, z którym chcesz się połączyć (lub z którym chcesz się połączyć) i naciśnij środkowy przycisk.

9. Łączymy pierwszy i drugi blok kluczem dostępu.

Jeśli wszystko wykonałeś poprawnie, w lewym górnym rogu pojawi się ikona „<>", w ten sam sposób połącz pozostałe bloki EV3, jeśli jest ich więcej niż dwa.

Jeśli wyłączysz LEGO EV3, połączenie zostanie utracone i konieczne będzie powtórzenie wszystkich kroków.

Ważne: każdy blok musi mieć napisany własny program.

Przykładowy program:

Pierwszy blok: Po naciśnięciu czujnika dotykowego pierwszy blok EV3 przesyła tekst do drugiego bloku z opóźnieniem 3 sekund (blok główny).

Przykładowy program dla bloku 2:

Drugi blok oczekuje na otrzymanie tekstu z pierwszego bloku i po jego odebraniu wyświetli słowo (w naszym przykładzie słowo „Hello”) przez 10 sekund (blok slave).

Połącz się przez Wi-Fi

Komunikacja na dłuższy zasięg jest możliwa po podłączeniu klucza Wi-Fi do portu USB w EV3.

Aby korzystać z Wi-Fi, należy zainstalować specjalny moduł na bloku EV3 za pomocą złącza USB (adapter Wi-Fi (Adapter bezprzewodowy Netgear N150 (WNA1100)) lub można podłączyć klucz Wi-Fi.