Forum LUGPOL Strona Główna Forum LUGPOL
www.lugpol.pl

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj

Poprzedni temat «» Następny temat
Zdalne sterowanie kostką poprzez pad bluetooth
Autor Wiadomość
OmenGda 
No risk no fun!


Wiek: 37
Dołączył: 05 Lut 2007
Wpisy: 821
Skąd: Gdańsk
Wysłany: 2018-03-09, 05:36   

Nieźle. Całkiem fajnie by się prowadziło np auto na 2 analogach a przyciskami zmieniało biegi :-)
Swoją drogą, widać, że lubisz PS skoro kupiłeś kolejną konsolę :-D
_________________
Nie jest sztuką trafić w muchę przednią szybą...
Sztuką jest, zrobić to boczną!
 
 
 
 
artpoz 

Wiek: 42
Dołączył: 12 Sie 2014
Wpisy: 36
Skąd: Kraków
Wysłany: 2018-03-24, 23:50   

Udostępniam kod do PS4Explor3ra.
https://gist.github.com/artpoz/d66f72a6092b580b9903d088dd6d1262

Parowanie jest jeszcze prostsze niż w padzie od PS3, gdyż nie wymaga kabla.
Trzeba wcisnąć na kilka sekund przyciski PS+Share i wyszukać na kostce "Wireless Controller".
Nieco inna jest numeracja przycisków. Przykładowo X ma numer 305.
Ostatnio zmieniony przez artpoz 2018-03-24, 23:51, w całości zmieniany 1 raz  
 
 
 
artpoz 

Wiek: 42
Dołączył: 12 Sie 2014
Wpisy: 36
Skąd: Kraków
Wysłany: 2018-09-13, 23:12   

Utworzyłem stronę z projektem PS4explor3r na ev3dev.org.
Jest tam parę informacji o budowie, instalacji i przyciskach.
Poniżej link do strony projektu:
https://www.ev3dev.org/pr...02/PS4Explor3r/

Pozdrawiam
artpoz
 
 
 
eric trax 
VIP
LEGO Farmer :D


Wiek: 30
Dołączył: 28 Lut 2011
Wpisy: 1285
Skąd: Wrocław
Wysłany: 2018-09-15, 10:57   

Wyglada to bardzo fajnie. Czas pomyslec nad kostka i silnikami
_________________
Na warsztacie:
- Claas Scorpion 756 - 99%
Ostatnio zmieniony przez eric trax 2018-09-15, 10:57, w całości zmieniany 1 raz  
 
 
 
 
artpoz 

Wiek: 42
Dołączył: 12 Sie 2014
Wpisy: 36
Skąd: Kraków
Wysłany: 2019-04-17, 01:44   

Lego wypuściło MicroPython dla EV3 na bazie ev3dev.
To oznacza, że sterowanie padem staje się jeszcze prostsze.
Nie potrzebna jest wiedza na temat linuxa, logowania,
przegrywania pliku, zmiany atrybutów itp.

Oto kolejne kroki

1. Budujemy pojazd (poniżej instrukcja, budujemy do kroku 14 z pominięciem 12).
http://robotsquare.com/20...g-instructions/

2. Z poniższej strony pobieramy instrukcję i obraz ev3dev
https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3

3. Czytamy i wykonujemy kroki do strony 15. Punkt 2.5 można pominąć.

4. W Visual Studio Code po wybraniu "Create a new project" i wpisaniu nazwy projektu
na dysku utworzy nam się folder a w nim plik main.py.
Zamykamy program i otwieramy opcją "File->Open folder" i wybieramy utworzony folder.

5. Po uruchomieniu programu przykładowego powninniśmy usłyszeć dźwięk.

6. Z poniższej strony kopiujemy zawartość ps4explor3r.py i wklejamy do main.py. Zapisujemy (Ctrl+S)
https://gist.github.com/artpoz/d66f72a6092b580b9903d088dd6d126

7. Wybieramy "Run and Download", odłączamy kabel, na kostce powninniśmy mieć nasz program.

8. Parujemy pada:
a. na padzie naciskamy przyciski PS+Share i czekamy, aż zacznie mrugać światełko
b. na kostce wybieramy Bluetooth, zaznaczamy opcje Powered, Visible i dajemy "Start Scan"
na dole pojawi nam się "Wireless controller", wybieramy go i dajemy "Pair".

9. Na kostce w File Browserze znajdujemy program main.py i uruchamiamy.

10. Cieszymy się z jazdy pojazdu sterowanego Dualshockiem :)

Pozdrawiam
artpoz
 
 
 
SERVATOR 
VIP


Wiek: 46
Dołączył: 08 Lis 2013
Wpisy: 3212
Skąd: Warszawa
Wysłany: 2019-04-17, 07:01   

Tak przystępnie i porządnie, to rozpisałeś że na pewno wypróbuję. Bardzo dziękuję. :)
_________________
Mój "blożek"
Liga Gorących Szesnastek
 
 
 
artpoz 

Wiek: 42
Dołączył: 12 Sie 2014
Wpisy: 36
Skąd: Kraków
Wysłany: 2019-04-17, 13:40   

Koniecznie daj znać jak poszło :)
 
 
 
artpoz 

Wiek: 42
Dołączył: 12 Sie 2014
Wpisy: 36
Skąd: Kraków
Wysłany: 2019-04-17, 14:53   

Jeszcze jedno. Po uruchomieniu kostki musimy poczekać na Brickmana, włączyć pada i poczekać, aż zaświecą się dwie zielone diody LED. Parowanie robimy tylko pierwszy raz. Następnym razem wystarczy nacisnąć przycisk PS na padzie. Po uruchomieniu programu czekamy na napis "Finding ps4 controller...Engine running!". Z programu wychodzimy kółkiem na padzie.
Ostatnio zmieniony przez artpoz 2019-04-17, 16:09, w całości zmieniany 4 razy  
 
 
 
OmenGda 
No risk no fun!


Wiek: 37
Dołączył: 05 Lut 2007
Wpisy: 821
Skąd: Gdańsk
Wysłany: 2019-04-25, 13:54   

Elo. Ja w kwestii padów to zielony jestem. Pada od ps4 nie mam. Ale mam pada takiego jak do xbox one podłączonego obecnie do pc przez dongla na usb. Czy takiego pada też da się jakoś z kostką sparować?

Poozdr.
Michu
_________________
Nie jest sztuką trafić w muchę przednią szybą...
Sztuką jest, zrobić to boczną!
 
 
 
 
artpoz 

Wiek: 42
Dołączył: 12 Sie 2014
Wpisy: 36
Skąd: Kraków
Wysłany: 2019-04-25, 17:30   

OmenGda napisał/a:
Elo. Ja w kwestii padów to zielony jestem. Pada od ps4 nie mam. Ale mam pada takiego jak do xbox one podłączonego obecnie do pc przez dongla na usb. Czy takiego pada też da się jakoś z kostką sparować?


Ja nie mam pada od Xboxa One. Ale spróbuj, może się da. Wiem, że da się sparować pada od Xboxa 360 z Rasperry Pi.

Pozdrawiam
artpoz
Ostatnio zmieniony przez artpoz 2019-04-25, 17:31, w całości zmieniany 1 raz  
 
 
 
artpoz 

Wiek: 42
Dołączył: 12 Sie 2014
Wpisy: 36
Skąd: Kraków
Wysłany: 2019-04-29, 18:40   

W najnowszej wersji Etchera (1.5.30) jest błąd uniemożliwiający poprawne nagranie systemu na kartę SD. Do momentu poprawienia go trzeba korzystać z ostatniej poprawnej wersji (1.5.26), którą można pobrać stąd:
https://github.com/balena-io/etcher/releases/tag/v1.5.26
 
 
 
artpoz 

Wiek: 42
Dołączył: 12 Sie 2014
Wpisy: 36
Skąd: Kraków
Wysłany: 2019-04-30, 23:58   

Błąd w Etcherze poprawiony, więc można brać najnowszą wersję ze strony głównej. Sprawdziłem wersję 1.5.33 i karta startuje bez problemu.
Ostatnio zmieniony przez artpoz 2019-04-30, 23:59, w całości zmieniany 1 raz  
 
 
 
OmenGda 
No risk no fun!


Wiek: 37
Dołączył: 05 Lut 2007
Wpisy: 821
Skąd: Gdańsk
Wysłany: 2019-05-01, 14:20   

Dzięki za bieżący update. Pad xbox jest na wifi. Wprawdzie mam do ev3 dongla wifi na usb. Ale zakładam, że to już inna bajka taki soft do tej komunikacji :/
Na obecną chwile zatem mi zostaje szukać używki pada ps4 w dobrej cenie :)
Pozdrawiam
Michu
_________________
Nie jest sztuką trafić w muchę przednią szybą...
Sztuką jest, zrobić to boczną!
 
 
 
 
BJ 
VIP

Wiek: 22
Dołączył: 16 Sty 2012
Wpisy: 908
Skąd: Majdan/Warszawa
Wysłany: 2019-05-01, 20:30   

Pad od Xboxa nie jest na wifi z tego co pamiętam lecz na jakiś inny sygnał radiowy. Pad od Xbox one s działa na 100% po BT, steruje nim sbricka przez telefon.
_________________
(19:28:58) Toltomeja: teraz powiem absolutnie serio, nawet jeśli zaraz będę żałował: trialowki wygrywają ten pojedynek
 
 
 
 
Zozoleon 

Wiek: 22
Dołączył: 20 Sie 2013
Wpisy: 123
Skąd: Tarnowskie Góry
Wysłany: 2019-05-03, 13:44   

To i ja dorzucę swoje dwa grosze :) Z racji że zbudowałem trialówkę na NXT, to zacząłem szukać sposobów na sterowanie nią przez pada. Wszystkie poniższe sposoby używają 'Direct Commands' (chociaż sposobu używającego RobotC nie jestem pewien), więc nie wymagają programowania kostki.

Jest kilka opcji:

1. NXT/EV3, komputer z Win8 wzwyż i Bluetoothem, pad kompatybilny z systemami Windows, aplikacja Mindstorms Remote

Najprostsza opcja. Wchodzimy na Microsoft Store, ściągamy darmową aplikację Mindstorms Remote. Wystarczy sparować kostkę z komputerem, podłączyć pada, włączyć aplikację. Całość działa dość przyjemnie, niestety na stałe ustawione jest sterowanie: L1/R1 sterują silnikiem A, lewy analog steruje silnikami B i C przód tył, prawy analog steruje różnicą prędkości silników B i C (sterowanie czołgowe). Od biedy można używać tylko lewego analoga i L1/R1, wtedy da się trialówką jakoś sterować.

2. NXT/EV3, telefon z Androidem, opcjonalnie trochę doświadczenia w kodowaniu

Mobilna opcja. Wiem że na iOSie i Androidzie da się napisać aplikację, która będzie czytać pada i sterować kostką, ale mam za mało doświadczenia z tymi systemami żeby się na to porwać. Może w przyszłości. Jednak są sposoby, żeby pisać aplikacje na Androida dużo prościej, niż ucząc się systemu i Javy. Mowa o MIT AppInventor i jego pochodnych.
Jeżeli ktoś programował w Scratchu, to powinien się łatwo odnaleźć. AppInventor ma wbudowane 'klocki' do sterowania NXT i EV3. Nie trzeba bawić się z Bluetoothem na niskim poziomie.
Sam 'napisałem' aplikację do sterowania NXT ekranowymi joystickami w jednym z klonów AppInventora - AppyBuilder. Ma on ten plus, że obsługuje wielodotyk.
Plik instalatora dla ciekawych można znaleźć tutaj: .APK
A tutaj jest plik do otwarcia w AppyBuilder, jeśli chcecie coś zmienić: .AIA

3. NXT, komputer z Bluetoothem, doświadczenie w programowaniu, pad Logitech, licencja RobotC

Ciut cięższa opcja, ale warta rozważenia. Język programowania i środowisko RobotC wspiera sterowanie robotem przez pady Logitech. W bibliotekach są już gotowe przykłady i zmienne, czytanie pada i przesyłanie informacji jest dość proste. Albo co najmniej takie się wydaje, z racji że RobotC jest płatne i tego że nie wiem czy metoda działa z innymi padami, nie przyglądałem jej się bliżej.

4. NXT/EV3, komputer z Bluetoothem, pad kompatybilny z Windows, darmowe środowisko Bricx Command Center.

Znów opcja bez programowania, ale bez możliwości konfiguracji. Środowisko Bricx Command Center służy głównie do programowania w NXC, ale posiada wbudowaną opcję sterowania joystickiem. Są dwie możliwości sterowania: czołgowe, i samochodowe. W tym drugim, jedna gałka analogowa steruje silnikiem do skrętu (z tego co pamiętam to prawa), a druga silnikiem napędowym. Minusy są dwa: nic tu nie można zmienić, i silnik napędowy możemy zaznaczyć... tylko jeden. Szkoda, bo gdyby minimalnie zmienić środowisko, stałoby się naprawdę dobrym sposobem na sterowanie trialówkami.

5. NXT/EV3, komputer z Bluetoothem, kompatybilny pad, doświadczenie w programowaniu

Jeśli żadna poprzednia opcja ci nie odpowiada, zawsze można samemu napisać program do sterowania. Jako że nikt nie chce się bawić z komunikacją Bluetooth, poszukałem gotowych bibliotek do komunikacji z NXT/EV3. Najbardziej rozwiniętą jest bazą jest według mnie MonoBrick: dostępną mamy bibliotekę do C++ i C#. Ja używałem tej drugiej, i wszystko działało jak powinno. Jak doszlifuję program, to go tutaj udostępnię. Z bibliotekami do innych języków jest trochę gorzej, nic pod Pythona nie znalazłem.

6. NXT/EV3, Arduino + HC05 lub ESP32, doświadczenie w programowaniu, lutowaniu

Opcja dla elektroników. Z mojego doświadczenia wiem, że taniutki moduł HC05 może łączyć się z NXT jako master. Jeżeli podepniemy go do Arduino, to możemy czytać najróżniejsze sygnały, np: pady ze starych konsol (PS2, Wii), aparatury RC, joysticki-samoróbki itd. Opcji jest tyle ile pomysłów.
ja sam zrobiłem 'przejściówkę' pomiędzy aparaturą RC a NXT. Działa to szybko, nie ma opóźnień. Całość jest dużo wygodniejsza od jakiegokolwiek Legowego systemu sterowania czy pada.
Tutaj są zdjęcia, a tutaj film.
_________________
PARK MASZYN
 
 
 
Wyświetl wpisy z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich wpisów
Nie możesz usuwać swoich wpisów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

phpBB by przemo  
Strona wygenerowana w 0,065 sekundy. Zapytań do SQL: 14