Mindstorms NXT - od czego zacząć?

Składnica wiedzy

Moderatorzy: Mod Team, Mod Team

Autor
Wiadomość
Awatar użytkownika
Sariel
VIP
Posty: 5418
Rejestracja: 2007-03-28, 08:16
Lokalizacja: Warszawa
brickshelf: Sariel
Kontakt:

 

Mindstorms NXT - od czego zacząć?

#1 Post autor: Sariel »

Poradnik dla osób chcących zacząć swoją przygodę z NXT autorstwa TT. Sugestie i uwagi są jak zawsze mile widziane.

Początki
Z wyborem pierwszego zestawu nie ma problemu, bo LEGO ma tylko jeden w ofercie - 8547. Ewentualnie jest jeszcze zestaw edukacyjny 9797, który ma 1 czujnik więcej, ale nie ma oprogramowania, jest zwykle droższy i ciężko go gdzieś kupić.
W przypadku kiedy mamy już trochę elementów Technic można się zastanowić nad kupnem samych podzespołów NXT: kostka, silniki, czujniki, kable. Warto jednak zwrócić uwagę, czy nie lepiej zapłacić nieco więcej i kupić pełny oryginalny zestaw z instrukcją, oprogramowaniem i innymi 600 elementami.

Co dalej?
Kiedy mamy już zestaw 8547, największą bolączką NXT jest możliwość podłączenia tylko 3 silników (a raczej niezależnego sterowania nimi, bo podłączyć można na jednym kablu kilka jak się pokombinuje z przejściówkami). Dlatego większość posiadaczy NXT dość szybko dąży do zakupu drugiej kostki. Jeśli chodzi o serwomotory i czujniki:
- silniki PF też można podłączyć do kostki: bezpośrednio za pomocą kabli przejściowych lub pośrednio za pomocą IR Link
- czujniki - zwykle wystarczy po jednym z każdego rodzaju poza czujnikami dotyku. Oczywiście wszystko zależy już od konkretnych konstrukcji w jakich chcemy wykorzystać zestaw.

Dodatki
Bardzo fajną (i drogą) sprawą są dodatkowe czujniki. Do wyboru mamy wiele firm, jednak dominują: Hitechnic i Mindsensors (Hitechnic jest licencjonowane przez LEGO - można nawet kupić w S&H).

HITECHNIC
http://www.hitechnic.com/products
Najciekawsze są akcelerometr i IR Link (do sterowania silnikami PF).
- IR Linka aż żal nie mieć gdy ma się całe pudło PFów. Można nim sterować 4 wieżami praktycznie na raz. Jest to jeden ze sposobów na powiększenie liczby silników sterowanych przez jedno NXT.
- fajnie jest mieć akcelerometr lub żyroskop, bo dają duże możliwości (jednak lepszy jest akcelerometr, bo działa w 3 płaszczyznach i można nim zastąpić żyroskop).

MINDSENSORS
http://mindsensors.com/index.php?module ... tion=24:24
- ciekawy jest czujnik ciśnienia pneumatycznego, który wykorzystał np. Emil w swojej koparce - fajna sprawa przy sterowaniu rozbudowaną pneumatyką.
- ostatnio mają w ofercie takie fajne gadżety jak klawiatura numeryczna do NXT, czy nakładka symulująca ekran dotykowy na kostce.
- estetycznie ich czujniki wyglądają trochę jak goła elektronika, ale są dość trwałe i mają gniazda na piny, axle więc da się je zamontować bez problemu.

Software i programowanie
- w zestawie jest NXT-G - programowanie blokowe. Dobre dla dzieci i do małych projektów. Na dłuższą metę nie ma co się tym bawić i ograniczać.
- wiele osób programuje robotC. Jest to najbardziej wydajne oprogramowanie do NXT, w przykładowym programie szybkość wykonywania pętli na minutę w robotC to 98000, w NXT-G to 750 (oczywiście prędkość NXT-G i tak jest zadowalająca, chodzi o pokazanie różnicy).

Alternatywy:
- NXC (też programowanie w C, ale mniej wygodne niż robotC, zaleta jest taka, że darmowe)
- LabVIEW, dość wolne, ale zapewnia genialne sprzężenie NXT z komputerem; przykład: skaner 3D TT: http://www.brickshelf.com/cgi-bin/gallery.cgi?f=459489

Ogólnie języków programowania NXT jest bardzo dużo. Jak ktoś ma pojęcie o programowaniu strukturalnym, wie co to pętla i instrukcja warunkowa to więcej mu do szczęścia nie trzeba w NXT. Pozostałym osobom pozostaje nauka lub NXT-G.
Istnieje również oprogramowanie/wtyczka LEJOS do javy w celu programowania NXT, dająca bardzo duże możliwości. Dużo większe niż robotC, bo umożliwia robienie współpracujących aplikacji NXT/komputer lub telefon (robotC umożliwia praktycznie programowanie tylko NXT i NXT/NXT - praktycznie, bo teoretycznie da się to zrobić).
Ostatnio zmieniony 2012-01-03, 12:32 przez Sariel, łącznie zmieniany 2 razy.

Hippotam

#2 Post autor: Hippotam »

Wielkie dzięki za ten poradniczek.

Czy ktoś próbował pisać programy do NXT w C# przy uzyciu Visual Studio?
Tutaj jest artykuł, moj (=syna) NXT leży w szafie i czeka na prezentową okazje, więc nie mogę tego sprawdzić na razie...

Awatar użytkownika
Emilus
Adminus Emeritus
Posty: 1460
Rejestracja: 2007-08-26, 19:58
Lokalizacja: Polska
brickshelf: Emilus
Kontakt:

 

#3 Post autor: Emilus »

W razie co, mogę napisać kilka lekcji pokazujących pierwsze kroki programowania w C (robot C), zasadę sprzęgania zdalnego kostek poprzez bluetooth itp.

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

 

#4 Post autor: 3dom »

Emilus pisze:W razie co, mogę napisać kilka lekcji pokazujących pierwsze kroki programowania w C (robot C), zasadę sprzęgania zdalnego kostek poprzez bluetooth itp.
Napisz, z pewnością się przyda.
...na mieście już ćwierkają wróble... 🐦🐦🐦
nisiia pisze:SMAŻ SIĘ W PIEKLE ZA TE POSPINANE PLEJTY!!!!!!!!

Jetboy

#5 Post autor: Jetboy »

Emilus pisze:W razie co, mogę napisać kilka lekcji pokazujących pierwsze kroki programowania w C (robot C), zasadę sprzęgania zdalnego kostek poprzez bluetooth itp.
Bardzo prosimy.
Jeśli można prosić to przydała by się też informacja jak sprzęgnąć kostki z telefonem/komputerem.

Awatar użytkownika
m4rc1n
Posty: 369
Rejestracja: 2009-09-17, 15:28
Lokalizacja: Królewskie Miasto Kraków
brickshelf: m4rc1n

 

#6 Post autor: m4rc1n »

Jetboy pisze:Jeśli można prosić to przydała by się też informacja jak sprzęgnąć kostki z telefonem/komputerem.
Właśnie, też o to proszę, przyda się :) Choć bardziej mi zależy na komunikacji z telefonem :)
MOCs: 4
WIP: who cares?

Mistakes
Posty: 529
Rejestracja: 2009-12-20, 18:00
Lokalizacja: Warszawa!
brickshelf: Ayumi

 

#7 Post autor: Mistakes »

Ja od siebie mogę dodać że gotowe softy na Adroida, Symbiana, czy WM wypadają kiepsko przy LeJOS'ie.
Zamiast od razu zacząć się uczyć javy i LeJOS'a to bawiłem się w szukanie gotowców.
Stracony czas, chyba że coś nowego się pojawiło?

Awatar użytkownika
Neo
Posty: 293
Rejestracja: 2011-04-29, 21:24
Lokalizacja: Kraków/Rzeszów/Starachowice

#8 Post autor: Neo »

Bardzo fajne kompendium.
Dorzucę jeszcze 3 grosze od siebie w temacie.
Grosz 1: można też sterować NXT ze starszych telefonów np. Nokia 6300
Grosz 2: ciekawą kontynuacją zabawy z NXT jest zestaw edukacyjny 9688 Renewable Energy (energia odnawialna ) z panelem słonecznym, generatorem z łopatkami i LEGO Energy Meter
Grosz 3: Microsoft Robotics Developer Studio jest ciekawą aplikacją obsługującą również Mindstorms. Pozwala tworzyć wirtualne środowisko pracy robota, jak również wirtualnego robota - czyli programowanie NXT ... bez NXT (mam już zainstalowane i wkrótce coś zacznę rozkminiać) :)
Ps. Jeszcze Grosz 4 - Hi-Tech ma w ofercie ciekawe ustrojstwo w postaci multipleksera sensorów pozwalający zwiększyć możliwości "czujnikowe" z 4 do 16-tu

Awatar użytkownika
Methos
Posty: 227
Rejestracja: 2011-07-23, 01:19
Lokalizacja: Polska - Gniezno
brickshelf: Methos6

 

#9 Post autor: Methos »

No i pięknie - a jeszcze parę dni temu szukałem podobnego tematu/tudzież pisałem na PW co do niektórych w zw z programowaniem :). Super. Emilus - podpinam się pod ww prośby.

Mateusz
Posty: 1
Rejestracja: 2010-07-25, 22:14
Lokalizacja: Brzesko
brickshelf: MateuszZ89

 

#10 Post autor: Mateusz »

Też był bym chętny na taki kurs. Swój zestaw będę miał za jakieś 2-3 tyg. to będzie jak znalazł.

Awatar użytkownika
Emilus
Adminus Emeritus
Posty: 1460
Rejestracja: 2007-08-26, 19:58
Lokalizacja: Polska
brickshelf: Emilus
Kontakt:

 

#11 Post autor: Emilus »

Pierwsza rzecz, czemu w wiki nie widać tego tematu? Nie mam go w ignorowanych.

Druga rzecz, to wstęp do RobotC, ale tylko KILKA pierwszych kroków. Dajcie znać, czy to jest strawne i czytelne (jestem bardzo kiepskim nauczycielem):

http://www2.zippyshare.com/v/53524746/file.html

Jetboy

#12 Post autor: Jetboy »

Jest ok, ale to nie znaczy że nie może być lepiej :) Brakuje przykładu jak coś robimy z tymi ustawionymi czujnikami, ale rozumiem że to dlatego że to dopiero początek.

Moje uwagi:
-nadawanie zmiennym jednoliterowych nazw to zły zwyczaj (chyba że to tylko licznik pętli)

Warto się zatanowić dla kogo ma byc ten poradnik - dla osób już znajacych c, czy też dla kogoś kto z programowaniem startuje zupełnie od zera. Jeśli to drugie, co wydaje się być bardziej prawdopodobne, to przydało by się pare słów na temat zmiennych i instrukcji sterujących. Tak czy inaczej start od gotowego programu jest dobrym pomysłem.

Na początek warto by też napisać jak to się ma do NXT? Jak uruchomić taki program na bricku?

Pamietaj że piszesz dla osób które dopiero otworzyły swoj set z NXT, albo dopiero mają zamiar go kupić i mogą nie wiedzieć absolutnie nic na ten temat.

Wiem, trudno tak pisać, tym bardziej jesteśmy wdzięczni za Twoje wysiłki :)
Ostatnio zmieniony 2012-01-08, 11:48 przez Jetboy, łącznie zmieniany 1 raz.

Awatar użytkownika
Pietruch
Posty: 1379
Rejestracja: 2004-12-25, 17:06
Lokalizacja: Warszawa
brickshelf: Pietruch-15

 

#13 Post autor: Pietruch »

Emilus pisze:Pierwsza rzecz, czemu w wiki nie widać tego tematu? Nie mam go w ignorowanych.
Jest na drugiej stronie, sortowanie alfabetyczne. ;)
Pozdrawiam,
Maciej

Awatar użytkownika
Emilus
Adminus Emeritus
Posty: 1460
Rejestracja: 2007-08-26, 19:58
Lokalizacja: Polska
brickshelf: Emilus
Kontakt:

 

#14 Post autor: Emilus »

Jetboy pisze:Warto się zastanowić dla kogo ma być ten poradnik - dla osób już znających c, czy też dla kogoś kto z programowaniem startuje zupełnie od zera. Jeśli to drugie, co wydaje się być bardziej prawdopodobne, to przydało by się parę słów na temat zmiennych i instrukcji sterujących. Tak czy inaczej start od gotowego programu jest dobrym pomysłem.
Ten poradnik jest dla osób, które mają jakieś pojęcie o programowaniu. Jeśli nie mają, to na rynku jest wiele książek, nie będę tu pisał abc programowania.

Więc jeśli mają podstawy np. w C, to teraz mogą się z tego cyklu poradników mojego autorstwa (będą kolejne) nauczyć podstaw nakładki na C dla NXT czyli Robota C.
W kolejnych poradnikach będą informacje, których zabrakło w tym. Zależało mi na info, czy to jest zjadliwe.
Ostatnio zmieniony 2012-01-08, 12:36 przez Emilus, łącznie zmieniany 1 raz.

Jetboy

#15 Post autor: Jetboy »

W sumie słuszne założenie. Jak już będzie jakiś bardziej złożony przykłądowy kod, zamieszczaj go jako tekst, oprócz zdjęć, tak żeby można go było łatwo przekleić.

Dla mnie jest zjadliwe, ale jako programista mam większą tolerancje. Może niech się ktoś jeszcze wypowie :)

ODPOWIEDZ