Poradnik programisty RobotC

Mindstorms, WeDo, Lego Digital Desinger, Stud.io

Moderatorzy: Mod Team, Mod Team

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

 

Poradnik programisty RobotC

#1 Post autor: Emilus »

Witam młode programistki i programistów.

Jako mod działu Mindstorms, utworzyłem i przyklejam ten temat do pomocy.

Startujemy od tego "wstępu" do poradnika: http://www18.zippyshare.com/v/57689743/file.html

A teraz przeczytajcie uważnie i ze zrozumieniem to, co jest poniżej i postarajcie się dostosować.

Jako, że obiecałem pomagać, pomagać będą też inni koledzy obeznani z tematem programowania, wymyśliłem sobie taką o kanwę tego tematu. Uważam, że pisanie poradnika mija się z celem, zawsze ktoś będzie i tak pytać o coś, czego w poradniku nie ma. Dlatego proponuję taką kanwę: zadajecie pytanie, np. jak ustawić blok programowy w robotC, aby kostki łączyły się zdalnie przez BL, czym się różni czujnik światła aktywny od pasywnego, zarówno w kodzie jak i w hardware itp... A my (ja, inni biegli w programowaniu) odpowiadają.

Podsumowując, mini regulamin tego tematu:

-Osoba zainteresowana zamieszcza tu pytanie,
-Osoba która wie jak odpowiedzieć, odpowiada,
-Wszelkie posty na inne tematy, np. dyskusja nad formą tematu, celowością, będą przeze mnie usuwane,
-Propozycje zmian formy tematu, proszę na PW.


Moim zamysłem jest, aby ten temat został kompendium pomocy/problemów na tematy różne w robotC. Niewykluczone, że dodam spis treści, aby łatwiej na wielu stronach tematu znaleźć interesujące informacje (ale to jak temat urośnie).

Przed napisaniem tu posta polecam przeczytać to: www.00453005_0000002.pl/forum/viewtopic.php?t=16017&postdays=0&postorder=asc&start=0

Jeśli jednakże w temacie powyżej nie ma interesującej Cię informacji szanowny lugpolowiczu/lugpolowiczko, pisz śmiał tutaj. Nieważne, że gdzieś w dziale Mindstorms był już temat poruszony. Chciałbym, aby to kompendium było jak najbardziej wyczerpujące i znajdowało się w jednym miejscu - właśnie tutaj.
Ostatnio zmieniony 2012-09-22, 18:27 przez Emilus, łącznie zmieniany 7 razy.

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

 

#2 Post autor: 3dom »

No dobra Emil, skoro deklarujesz pomoc to zaczynamy ;)

Zdalne łączenie kostek przez BT - jak to działa, jak to ugryźć etc?
Ostatnio zmieniony 2012-02-23, 09:13 przez 3dom, łącznie zmieniany 1 raz.
...na mieście już ćwierkają wróble... 🐦🐦🐦
nisiia pisze:SMAŻ SIĘ W PIEKLE ZA TE POSPINANE PLEJTY!!!!!!!!

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

 

#3 Post autor: Emilus »

Odpowiem Maciek w 2 etapach.
Dlatego, że wczoraj padła nam z TT licencja RobotC :P Mają jakieś problemy na stronie Robota, bez aktywnej licencji nie mogę otworzyć programu i wkleić stamtąd moda do łączenia (nie znam na pamięć wszystkich literówek). Dlatego teraz odpowiadam ideowo.

Łączenie BT można przeprowadzić na dwa sposoby:

-Pierwszy, to łączenie manualne. Musisz podłączyć kostkę kablem USB i zmienić jej nazwę na np. K1 (dokładny opis/screen jak ruszy moja licencja - kilka dni). Zmiana nazwy nie jest konieczna, ale to nam ułatwi drugi sposób. Drugą kostkę nazywasz np. K2. Następnie w kodzie swojego programu w kostce K1 umieszczasz podprogram łączenia BT z odpowiednią nazwą kostki (dokładny opis/screen jak ruszy moja licencja - kilka dni), a w kodzie programu w kostce K2 podprogram odbioru/nasłuchu BT. Potem łączysz się manualnie z poziomu kostki za pomocą BT z drugą kostką (w menu kostki bluetooth), czekasz na ustawienie połączenia (ikonka BT u góry wyświetlacza) i następnie uruchamiasz programy w obu kostkach. Połączenie powinno być stabilne.

-Drugi sposób - łączenie kostek zdalne już przez program uruchomiony na kostce. Po pierwsze, po nazwaniu odpowiednio kostek (jak to zrobić, powyżej), należy zresetować z poziomu rorbotaC przy podłączonej kostce, łączność BT (dokładny opis/screen jak ruszy moja licencja - kilka dni). Następnie w kodzie swojego programu w kostce K1 umieszczasz podprogram łączenia BT z odpowiednią nazwą kostki (dokładny opis/screen jak ruszy moja licencja - kilka dni), a w kodzie programu w kostce K2 podprogram odbioru/nasłuchu BT. Potem łączysz się manualnie z poziomu kostki za pomocą BT z drugą kostką (w menu kostki bluetooth), czekasz na ustawienie połączenia (ikonka BT u góry wyświetlacza) i następnie uruchamiasz programy w obu kostkach. Połączenie powinno być stabilne. Następnie, po wyłączeniu programów i obu kostek, uruchamiasz kostki jeszcze raz, uruchamiasz programy i jeśli wszystko zrobiłeś/zrobiłaś poprawnie, połączenie BT zostanie uruchomione zdalnie poprzez podprogram w programie wykonawczym kostki, która nawiązuje połączenie. Co ważne, nie wolno zmieniać nazwy żadnej z kostek, gdyż wtedy kostki zdalnie nie będą mogły się połączyć. Jeśli nazwa kostki/kostek zostanie zmieniona, całą procedurę najlepiej powtórzyć (z uwzględnieniem nowych nazw w podprogramach).

Na koniec dodam, że BT jest kapryśne dla NXT ale ta metoda, którą przedstawiłem jest w 100% pewna, sprawdzona i działa. Poczekajcie teraz te kilka dni, aż ruszy moja licencja, wtedy wzbogacę ten opis o wycinki kodu programu oraz screeny.
Ostatnio zmieniony 2012-02-23, 09:40 przez Emilus, łącznie zmieniany 3 razy.

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

 

#4 Post autor: 3dom »

Dzięki Emil, to czekam na ciąg dalszy. Oczywiście chodziło mi o automatyczne łączenie bo z manualnym sobie poradziłem :P
...na mieście już ćwierkają wróble... 🐦🐦🐦
nisiia pisze:SMAŻ SIĘ W PIEKLE ZA TE POSPINANE PLEJTY!!!!!!!!

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

 

#5 Post autor: Emilus »

Jetboy pisze:Ponieważ w końcu zacząłem sie bawić NXT, co i rusz napotykam na zagadki, jedna z nich:

Jak zresetować Encoder tak aby aktualna pozycja silnika była traktowana jako 0 ?
TT pisze:W czym programujesz?
Jetboy pisze:RobotC

Mogę to zrobić zapamiętując bieżącą pozycje, a potem odczytywać pozycje poprzez własną funkcje która uwzględni stan początkowy, ale mniemam że można to zrobić prościej.
TT pisze:
Jetboy pisze: RobotC

Mogę to zrobić zapamiętując bieżącą pozycje, a potem odczytywać pozycje poprzez własną funkcje która uwzględni stan początkowy, ale mniemam że można to zrobić prościej.



Można prościej:
nMotorEncoder[motorB] = 0;

Warto czytać helpa w robotC.
Ostatnio zmieniony 2012-08-03, 06:26 przez Emilus, łącznie zmieniany 3 razy.

Awatar użytkownika
Qworg
Posty: 627
Rejestracja: 2008-03-20, 09:16
Lokalizacja: Bydgoszcz

#6 Post autor: Qworg »

Można prosić o link do poradnika z pierwszegp posta? Ten co jest wygasł.
[you] nakarm DZIECIAKA klikając w brzuch pajaca.

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

 

#7 Post autor: 3dom »

To chyba ten plik, za dużo w nim nie ma.
Załączniki
PORADNIK ROBOT C 2003.pdf
(379.99 KiB) Pobrany 5588 razy
...na mieście już ćwierkają wróble... 🐦🐦🐦
nisiia pisze:SMAŻ SIĘ W PIEKLE ZA TE POSPINANE PLEJTY!!!!!!!!

Awatar użytkownika
Qworg
Posty: 627
Rejestracja: 2008-03-20, 09:16
Lokalizacja: Bydgoszcz

#8 Post autor: Qworg »

No faktycznie, za wiele nie ma, ale i tak dziękuje.
[you] nakarm DZIECIAKA klikając w brzuch pajaca.

kolodziej_91

#9 Post autor: kolodziej_91 »

Posiada ktoś może bardziej rozbudowany poradnik ? Najlepiej z lista dostępnych funkcji i opisem

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

 

#10 Post autor: 3dom »

Na forum nic nie było. Kiedyś na stronie jakieś politechniki tudzież innej uczelni znalazłem skrypt do wykładu gdzie było trochę o RobotC. Na kompie tego nie mam ale może w sieci gdzieś jeszcze wisi.
...na mieście już ćwierkają wróble... 🐦🐦🐦
nisiia pisze:SMAŻ SIĘ W PIEKLE ZA TE POSPINANE PLEJTY!!!!!!!!

Jetboy

#11 Post autor: Jetboy »

kolodziej_91 pisze:Posiada ktoś może bardziej rozbudowany poradnik ? Najlepiej z lista dostępnych funkcji i opisem
Lista dostępnych funckcji z opisem jest w helpie.

kolodziej_91

#12 Post autor: kolodziej_91 »

@3dom Przeglądając krańce internetu znalazłem to : LINK Czy to o to chodziło ?
@Jetboy Faktycznie rzadko zaglądam do zakładki help ale znalazłem tam wiele odpowiedzi na moje pytania :)

Dzięki Panowie za szybką odpowiedź.undefined

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

 

#13 Post autor: 3dom »

Tego nie kojarzę ale chętnie się z nim zapoznam ;)
...na mieście już ćwierkają wróble... 🐦🐦🐦
nisiia pisze:SMAŻ SIĘ W PIEKLE ZA TE POSPINANE PLEJTY!!!!!!!!

ODPOWIEDZ