Zdalne sterowanie kostką poprzez pad bluetooth

Mindstorms, WeDo, Lego Digital Desinger, Stud.io

Moderatorzy: Mod Team, Mod Team

Autor
Wiadomość
artpoz
Posty: 54
Rejestracja: 2014-08-12, 21:15
Lokalizacja: Kraków
brickshelf: Proszę uzupełnić

 

Re: Zdalne sterowanie kostka poprzed pad bluetooth

#31 Post autor: artpoz »

Waler pisze: Czy można gdzies znaleźć kod programu albo choć jakiś nakreślony wzór jak miałoby wyglądać sterowanie silnikami kostki (EV3) poprzez pad (np. od PS3 albo X360) za pomocą bluetooth bez udziału komputera?
Nie wiem czy to pytanie jest nadal aktualne, ale sam szukałem na nie odpowiedzi.
Mnie co prawda udało się zrobić sterowanie padem od PS3 pojazdu zbudowanego z zestawu EV3, jednak pad połączony był do komputera.
https://www.youtube.com/watch?v=c8Wu4to ... e=youtu.be

Szukając, czy komuś ta sztuka się udała, znalazłem możliwą taką kombinację:
pad ----- bt -----> raspberry pi + brickpi (obie zastępują kostkę EV3)
http://www.moonmile.net/blog/archives/5997

Przypuszczam, że da się pewnie jeszcze tak:
pad ----- bt -----> EV3 (ev3dev)
pad ------bt -----> telefon (Android) --wifi--> EV3 (leJOS)
Ostatnio zmieniony 2014-08-12, 22:58 przez artpoz, łącznie zmieniany 1 raz.

artpoz
Posty: 54
Rejestracja: 2014-08-12, 21:15
Lokalizacja: Kraków
brickshelf: Proszę uzupełnić

 

#32 Post autor: artpoz »

Może kogoś to zainteresuje:
Pewnemu Francuzowi udało się napisać obsługę kostki EV3 za pomocą pada od PS3 poprzez Bluetooth bez pośrednictwa komputera. Więcej szczegółów poniżej:
http://www.pabr.org/bricks/brickhid/brickhid.en.html

artpoz
Posty: 54
Rejestracja: 2014-08-12, 21:15
Lokalizacja: Kraków
brickshelf: Proszę uzupełnić

 

#33 Post autor: artpoz »

Powtórzyłem instrukcje podane w ostatnim linku powyżej i zbudowałem mały pojazd EXPLOR3R sterowany padem od PS3.
https://www.youtube.com/watch?v=X8JbOYUS-F0

Awatar użytkownika
Atros
VIP
Posty: 801
Rejestracja: 2009-04-08, 19:03
Lokalizacja: Warszawa
brickshelf: Atrx
Kontakt:

 

#34 Post autor: Atros »

Czyli się da. Super - spora zaleta w stosunku do NXT. Być może kiedyś spróbuję tego na Lejosie.

artpoz
Posty: 54
Rejestracja: 2014-08-12, 21:15
Lokalizacja: Kraków
brickshelf: Proszę uzupełnić

 

#35 Post autor: artpoz »

Kolejna ciekawostka w tym temacie:
Wczoraj znalazłem ciekawy artykuł o tym jak podpiąć zdalne sterowanie oraz dwie kamerki do EV3. Obraz rzucany jest na telefon, który jest włożony do obudowy zakładanej na głowę. Coś niesamowitego.
https://www.youtube.com/watch?v=36T7fQ2xV0k - filmik youtube
http://www.pabr.org/bricks/brickfpv/brickfpv.en.html - artykuł

Częściowo zainspirowany postanowiłem napisać program, który:
1. Umożliwi sterowanie silnikami za pomocą pada od PS3 poprzez Bluetooth.
2. Nie będzie korzystać z WiFi, co pozwoli na działanie z dala od sieci np. poza domem.
W tym celu zamierzam skorzystać z ev3dev. Jak mi się ta sztuka uda, to dam znać.

artpoz
Posty: 54
Rejestracja: 2014-08-12, 21:15
Lokalizacja: Kraków
brickshelf: Proszę uzupełnić

 

#36 Post autor: artpoz »

Udało się. Napisałem program, który zaplanowałem. Robi to co podałem wcześniej, czyli nie korzysta z WiFi. Wykorzystałem ev3dev i kod z projektu FPV.

https://www.youtube.com/watch?v=EOml-z246vU

Awatar użytkownika
3dom
Adminus Emeritus
Posty: 5639
Rejestracja: 2011-04-18, 20:43
Lokalizacja: Warszawa
brickshelf: 3dom

 

#37 Post autor: 3dom »

Świetna robota. Da się tak samo sterować NXT?
...na mieście już ćwierkają wróble... 🐦🐦🐦
nisiia pisze:SMAŻ SIĘ W PIEKLE ZA TE POSPINANE PLEJTY!!!!!!!!

artpoz
Posty: 54
Rejestracja: 2014-08-12, 21:15
Lokalizacja: Kraków
brickshelf: Proszę uzupełnić

 

#38 Post autor: artpoz »

3dom pisze:Świetna robota. Da się tak samo sterować NXT?
Silnikami NXT? Tak. Kostką NXT? Nie.

Awatar użytkownika
3dom
Adminus Emeritus
Posty: 5639
Rejestracja: 2011-04-18, 20:43
Lokalizacja: Warszawa
brickshelf: 3dom

 

#39 Post autor: 3dom »

No trudno. Trzeba będzie w takim razie pomyśleć o wymianie kostek ;)
...na mieście już ćwierkają wróble... 🐦🐦🐦
nisiia pisze:SMAŻ SIĘ W PIEKLE ZA TE POSPINANE PLEJTY!!!!!!!!

Awatar użytkownika
Waler
VIP
Posty: 768
Rejestracja: 2010-09-08, 21:42
Lokalizacja: Ożarów Mazowiecki
brickshelf: waler
Kontakt:

 

#40 Post autor: Waler »

O, coś nowego w temacie zdalnego sterowania. Podoba mi się, artpoz gratuluję programu. Co potrzeba praktycznie, by zacząć sterować padem? Jakie oprogramowanie? Jak programować dalsze funkcje?

Awatar użytkownika
Szerszen
VIP
Posty: 1785
Rejestracja: 2012-03-30, 17:08
Lokalizacja: Warszawa
brickshelf: Szerszen
Kontakt:

 

#41 Post autor: Szerszen »

Gratulacje... super sprawa, zwłaszcza biorąc pod uwagę niewygodę jaką daje firmowy pilot do ev3.
Jeden klocek zgubię a drugi zepsuję. ;)

artpoz
Posty: 54
Rejestracja: 2014-08-12, 21:15
Lokalizacja: Kraków
brickshelf: Proszę uzupełnić

 

#42 Post autor: artpoz »

Waler pisze:Co potrzeba praktycznie, by zacząć sterować padem? Jakie oprogramowanie? Jak programować dalsze funkcje?
Oto szczegóły co wykorzystałem i jak to powtórzyć:

Hardware
- zestaw Lego Mindstorms EV3 (#31313)
- pad od PlayStation3 (DualShock 3) + kabel USB
- karta microSD (4 gb)
- laptop z Windowsami

Software
- ev3dev, czyli darmowa open-sourcowa dystrybucja linuxa
- program do sparowania pada z kostką, są dwa do wyboru
a) SixaxisPairTool (pod Windows)
b) sixpair (pod Linuxa)
- brickrc - program do obsługi pada i silników
- PuTTY - do komunikacji laptopa z kostką
- Win32DiskImager - do zrobienia obrazu ev3dev

Program brickrc jest częścią projektu brickfpv, z udostępnionym kodem. Kod jest napisany w języku C, więc do ewentualnych zmian potrzebny jest kompilator i znajomość tego języka. Do kompilacji użyłem gcc. Do edycji nano. Parowanie pada z kostką wystarczy zrobić tylko raz.

Kolejne kroki:
1. nagrywamy ev3dev na kartę microSD -> testujemy bootowanie
2. łączymy się z kostką po kablu USB (tym od zestawu) -> testujemy logowanie
3. na laptopie konfigurujemy dostęp z kostki do sieci -> testujemy pobieranie z netu na kostkę
4. pobieramy brickfpv, gcc, sixaxisPairTool, etc..
5. odczytujemy adres mac bluetootha na kostce i parujemy pada -> testujemy parowanie
6. uruchamiamy brickrc, modyfikujemy, kompilujemy, testujemy
7. ustawiamy program tak żeby startował zaraz po bootowaniu

Przydatne linki:
http://www.ev3dev.org/ - strona domowa projektu ev3dev (pkt.1,2,3)
http://www.pabr.org/bricks/brickhid/brickhid.en.html - wskazówki do pkt.4,5
http://www.pabr.org/bricks/brickfpv/brickfpv.en.html - Projekt brickfpv pkt. 6
https://github.com/ev3dev/ev3dev/issues/238 - pkt.7

Pozdrawiam i życzę powodzenia :)
artpoz
Ostatnio zmieniony 2015-02-20, 07:51 przez artpoz, łącznie zmieniany 2 razy.

Awatar użytkownika
OmenGda
Posty: 873
Rejestracja: 2007-02-05, 21:58
Lokalizacja: Gdańsk
brickshelf: OmenGda

 

#43 Post autor: OmenGda »

Hej!
dzięki bardzo. Idealnie krok po kroku. Jak dla mnie to taki temat (lub sam opis) do podpięcia gdzieś. Może na wiki?

Pytanie z innej beczki: na filmiku głównie używasz analoga.
Czy da się zaprogramować dowolne przyciski?

Pozdrawiam
Michał
artpoz pisze:
Waler pisze:Co potrzeba praktycznie, by zacząć sterować padem? Jakie oprogramowanie? Jak programować dalsze funkcje?
Oto szczegóły co wykorzystałem i jak to powtórzyć:

Hardware
- zestaw Lego Mindstorms EV3 (#31313)
- pad od PlayStation3 (DualShock 3) + kabel USB
- karta microSD (4 gb)
- laptop z Windowsami

Software
- ev3dev, czyli darmowa open-sourcowa dystrybucja linuxa
- program do sparowania pada z kostką, są dwa do wyboru
a) SixaxisPairTool (pod Windows)
b) sixpair (pod Linuxa)
- brickrc - program do obsługi pada i silników
- PuTTY - do komunikacji laptopa z kostką

Program brickrc jest częścią projektu brickfpv, z udostępnionym kodem. Kod jest napisany w języku C, więc do ewentualnych zmian potrzebny jest kompilator i znajomość tego języka. Do kompilacji użyłem gcc. Do edycji nano. Parowanie pada z kostką wystarczy zrobić tylko raz.

Kolejne kroki:
1. nagrywamy ev3dev na kartę microSD -> testujemy bootowanie
2. łączymy się z kostką po kablu USB (tym od zestawu) -> testujemy logowanie
3. na laptopie konfigurujemy dostęp z kostki do sieci -> testujemy pobieranie z netu na kostkę
4. pobieramy brickfpv, gcc, sixaxisPairTool, etc..
5. odczytujemy adres mac bluetootha na kostce i parujemy pada -> testujemy parowanie
6. uruchamiamy brickrc, modyfikujemy, kompilujemy, testujemy
7. ustawiamy program tak żeby startował zaraz po bootowaniu

Przydatne linki:
http://www.ev3dev.org/ - strona domowa projektu ev3dev (pkt.1,2,3)
http://www.pabr.org/bricks/brickhid/brickhid.en.html - wskazówki do pkt.4,5
http://www.pabr.org/bricks/brickfpv/brickfpv.en.html - Projekt brickfpv pkt. 6
https://github.com/ev3dev/ev3dev/issues/238 - pkt.7

Pozdrawiam i życzę powodzenia :)
artpoz
Nie jest sztuką trafić w muchę przednią szybą...
Sztuką jest, zrobić to boczną!

artpoz
Posty: 54
Rejestracja: 2014-08-12, 21:15
Lokalizacja: Kraków
brickshelf: Proszę uzupełnić

 

#44 Post autor: artpoz »

OmenGda pisze: Pytanie z innej beczki: na filmiku głównie używasz analoga.
Czy da się zaprogramować dowolne przyciski?
Tak.
Ostatnio zmieniony 2015-01-07, 12:34 przez artpoz, łącznie zmieniany 1 raz.

marek.kaminski
Posty: 15
Rejestracja: 2014-12-14, 23:12
Lokalizacja: Gdańsk
brickshelf: Proszę uzupełnić

 

#45 Post autor: marek.kaminski »

3dom pisze:Świetna robota. Da się tak samo sterować NXT?
gdyby ktoś szukał w temacie bluetooth <-> nxt, może poniższe mu się przyda:

http://www.00453005_0000002.pl/forum/viewtopic.php?t=25596

pozdrawiam,
Marek

ODPOWIEDZ