Lego Mindstorms EV3 i środowisko ev3dev¶
Cel ćwiczenia¶
Zapoznanie się z elementami LEGO Mindstorms EV3 oraz oprogramowaniem sterującym.
Oprogramowanie Mindstorms EDU¶
Zapoznaj się z prezentacją na google classroom
Uruchom program Mindstorms, zapoznaj się z poszczególnymi ekranami (lobby, okno projektu, okno programowania)
Podłącz brick, upewnij się, że jest zainstalowany najnowszy firmware (w razie potrzeby zainstaluj)
Przetestuj działanie poszczególnych czujników i silników a także wyświetlanie tekstu na ekranie i sterowanie LEDami.
Napisz przykładowy program sterujący robotem. Robot ma jechać do przodu, a jeśli zbliży się do przeszkody na odległość mniejszą niż założona (np. 50 albo 30cm), to ma skręcić o zadany (albo losowy) kąt. Inny przykład: robot utrzymujący się na stole – jeśli dojedzie do krawędzi stołu, to wycofuje się i skręca.
Instalacja ev3dev¶
Przygotuj czystą kartę mikroSD (jeśli nie masz karty, to możesz wypożyczyć u prowadzącego – liczba kart mocno ograniczona!).
Ze strony projektu ev3dev lub bezpośrednio z repozytorium GitHub pobierz najnowszą wersję oprogramowania stretch/beta (Uwaga! użyj właściwego pliku dla odpowiedniej platformy sprzętowej z nazwą zaczynającą się od
ev3-
). Rozpakuj pobrane archiwum.Przenieś system z pliku obrazu na kartę. Nie używaj polecenia kopiowania. Pod linuksem użyj polecenia
dd if=plik.img of=/dev/xxx bs=4M
zastępując/dev/xxx
urządzeniem właściwym dla karty pamięci (można to sprawdzić poleceniemdf -h
). Podczas kopiowania karta powinna być odmontowana. Pod windows należy użyć odpowiedniego programu, np. Etcher lub Win32DiskImager.Włóż kartę do slotu z boku bricka EV3 i włącz zasilanie. Na ekranie powinien pojawić się obraz ładowania LEGO a LEDy powinny zaświecić na czerwono. Po krótkiej chwili na ekranie pojawi się obraz ładowania ev3dev a LED zmieni kolor na pomarańczowy. Przy pierwszym uruchomieniu po jakimś czasie ekran się wygasi, po następnej minucie-dwóch pojawi się napis brickman loading… oraz stan baterii (jeśli napięcie spadnie poniżej 5V ev3dev automatycznie się wyłączy).
Konfigurowanie połączenia sieciowego¶
Połącz brick EV3 z komputerem przy pomocy kabla USB.
Jeśli używasz swojego komputera/laptopa, skonfiguruj go zgodnie z opisem na stronie projektu ev3dev.
W brickmanie wybierz Networking, następnie Manage connections… i Wired
Przejdź do zakładki IPv4 i wybierz Change…
Wczytaj wartości domyślne odpowiednie dla używanego systemu operacyjnego.
W zakładce Conn. zaznacz Connect automatically a następnie włącz połączenie przyciskiem Connect. Stan połączenia powinien zmienić się na Online.
Wróć do zakładki IPv4 i zanotuj przydzielony adres IP.
Na komputerze uruchom terminal (linux) lub putty (windows) i nawiąż połączenie ssh z EV3.
W nowszych wersjach (od grudnia 2015) jest już domyślny użytkownik
robot
z hasłemmaker
. Jeśli używasz starszej wersji, to wykonaj poniższe kroki:Zaloguj się jako
root
z hasłemr00tme
.Utwórz nowego użytkownika poleceniem
adduser nazwa_konta
.Przydziel użytkownika do grup poleceniem
usermod -a -G sudo,ev3dev,plugdev,audio,video,input,bluetooth,i2c nazwa_konta
(gdzienazwa_konta
jest wybranym loginem).
Przykładowy kod¶
Zapoznaj się z plikiem
Readme
.Podłącz poszczególne urządzenia i wykonaj przykładowe programy.
Spróbuj napisać w pythonie te same przykłady, które działały w programie Mindstorms EDU.
Uwaga! W najnowszych wersjach projekt wspiera wyłącznie Pythona w wersji 3!
Dokumentacja projektu dostępna jest pod http://python-ev3dev.readthedocs.io/.
Jest też dostępna strona z samouczkami http://www.ev3python.com/.