Poradnik programisty RobotC
Moderatorzy: Mod Team, Mod Team
- Emilus
- Adminus Emeritus
- Posty: 1460
- Rejestracja: 2007-08-26, 19:58
- Lokalizacja: Polska
- brickshelf: Emilus
- Kontakt:
-
Poradnik programisty RobotC
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.
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.
- 3dom
- Adminus Emeritus
- Posty: 5639
- Rejestracja: 2011-04-18, 20:43
- Lokalizacja: Warszawa
- brickshelf: 3dom
-
No dobra Emil, skoro deklarujesz pomoc to zaczynamy ;)
Zdalne łączenie kostek przez BT - jak to działa, jak to ugryźć etc?
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!!!!!!!!
- Emilus
- Adminus Emeritus
- Posty: 1460
- Rejestracja: 2007-08-26, 19:58
- Lokalizacja: Polska
- brickshelf: Emilus
- Kontakt:
-
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.
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.
- Emilus
- Adminus Emeritus
- Posty: 1460
- Rejestracja: 2007-08-26, 19:58
- Lokalizacja: Polska
- brickshelf: Emilus
- Kontakt:
-
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.
- 3dom
- Adminus Emeritus
- Posty: 5639
- Rejestracja: 2011-04-18, 20:43
- Lokalizacja: Warszawa
- brickshelf: 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!!!!!!!!
- 3dom
- Adminus Emeritus
- Posty: 5639
- Rejestracja: 2011-04-18, 20:43
- Lokalizacja: Warszawa
- brickshelf: 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!!!!!!!!