Układ napędowy#
Wstęp#
Układ napędowy obejmuje koła i silniki, które sterują jazdą i skręcaniem robota. Układy napędowe można znaleźć w takich zestawach jak Code Base 2.0, Super Car czy w niestandardowych robotach.
Układy napędowe wykorzystują Czujnik bezwładności w mózgu do wykrywania kolizji i wspomagania precyzyjnego poruszania się i skręcania robota. Na początku każdego projektu układ napędowy automatycznie kalibruje czujnik bezwładności. Podczas kalibracji należy unieruchomić robota na około 2 sekundy, aby mógł on poruszać się i skręcać prawidłowo.
Istnieje wiele sposobów kodowania układu napędowego. Poniżej znajduje się lista wszystkich bloków układu napędowego:
Akcje — poruszanie i obracanie robotem.
drive — Przesuwa robota do przodu lub do tyłu w nieskończoność.
napęd — Przesuwa robota do przodu lub do tyłu na określoną odległość.
jedź dopóki — Przesuwa robota do przodu lub do tyłu, aż czujnik oka wykryje obiekt lub robot wykryje zderzenie.
turn — Obraca robota w lewo lub prawo na zawsze.
turn for — Obraca robota w lewo lub prawo o określoną liczbę stopni.
turn to heading — Obraca robota w kierunku określonego kierunku od -359 do 359 stopni. Robot obróci się w najkrótszym kierunku, aby osiągnąć docelowy kierunek.
obróć do obrotu — Obraca robota o określoną wartość.
zatrzymaj jazdę — Zatrzymuje ruch robota.
Ustawienia — Dostosuj ustawienia układu napędowego.
ustaw prędkość jazdy — Informuje robota, z jaką prędkością ma jechać.
ustaw prędkość skrętu — Informuje robota, jak szybko ma skręcić.
ustaw zatrzymanie napędu — Informuje, w jaki sposób robot zatrzyma się: poprzez hamowanie, jazdę bez obciążenia lub przytrzymanie.
ustaw limit czasu napędu — Ustawia liczbę sekund, przez które robot będzie próbował zakończyć ruch.
ustaw kierunek jazdy — Zmienia aktualny kierunek robota na nowy.
ustaw obrót napędu — Zmienia aktualny obrót robota na nowy obrót.
Wartości — Sprawdź status ruchu.
jazda zakończona — Raportuje, czy robot zakończył ruch.
kierunek jazdy — Raportuje aktualny kierunek robota od 0 do 359 stopni.
obrót napędu — Raportuje aktualny obrót robota.
prędkość jazdy — Raportuje, jak szybko jedzie robot, w procentach od -100% do 100%.
Akcje#
prowadzić#
Blok stosu drive porusza robota do przodu lub do tyłu w nieskończoność. Robot będzie się poruszał, dopóki nie otrzyma innej akcji, takiej jak obrót lub zatrzymanie.
jedź [do przodu v]
Parametry |
Opis |
|---|---|
kierunek |
Kierunek, w którym porusza się robot: do przodu lub do tyłu. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
jedź [do przodu v]
czekaj (2) sekund
zatrzymaj jazdę
jechać do#
Blok napędu przesuwa robota do przodu lub do tyłu o określoną odległość. Projekt będzie czekał, aż robot zakończy ruch, zanim zostanie uruchomiony kolejny blok w stosie.
jedź [do przodu v] przez [100] [mm v] ▶
Parametry |
Opis |
|---|---|
kierunek |
Kierunek, w którym porusza się robot: do przodu lub do tyłu. |
dystans |
Odległość pokonywana przez robota. Może być liczbą całkowitą lub dziesiętną. |
jednostka |
Jednostka odległości: mm (milimetry) lub cale. |
i nie czekaj |
Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive back and forth.]
jedź [do przodu v] przez [100] [mm v] ▶
jedź [wstecz v] przez [4] [cale v] ▶
jechać aż#
Blok napędu do przesuwa robota do przodu lub do tyłu, dopóki czujnik oka nie wykryje obiektu lub robot nie wykryje zderzenia.
jedź [do przodu v] dopóki [obiekt v] ▶
Parametry |
Opis |
|---|---|
kierunek |
Kierunek, w którym porusza się robot: do przodu lub do tyłu. |
stan |
Warunkiem zatrzymania robota jest obiekt lub awaria. |
i nie czekaj |
Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn right after a crash.]
jedź [do przodu v] dopóki [zderzenie v] ▶
skręć [w prawo v] o (90) stopni ▶
zakręt#
Blok turn obraca robota w lewo lub w prawo w nieskończoność. Robot będzie się obracał, dopóki nie zostanie mu przydzielona inna czynność, np. jazda do zatrzymania.
skręć [w prawo v]
Parametry |
Opis |
|---|---|
kierunek |
Kierunek, w którym robot się obraca: w lewo lub w prawo. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn right and left, then stop.]
skręć [w prawo v]
czekaj [2] sekund
skręć [w lewo v]
czekaj [2] sekund
zatrzymaj jazdę
skręcić na#
Blok obrót w stosie obraca robota w lewo lub w prawo o określoną liczbę stopni. Obrót jest względny do bieżącej pozycji robota. Projekt będzie czekał, aż robot zakończy obrót, zanim zostanie uruchomiony kolejny blok w stosie.
skręć [w prawo v] o (90) stopni ▶
Parametry |
Opis |
|---|---|
kierunek |
Kierunek, w którym robot się obraca: w lewo lub w prawo. |
kąt |
Liczba stopni, o jaką obróci się robot. Może to być liczba całkowita lub dziesiętna. |
i nie czekaj |
Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn right then left.]
skręć [w prawo v] o (90) stopni ▶
skręć [w lewo v] o (90) stopni ▶
skręć w stronę kierunku#
Kierunek to kierunek, w którym zwrócony jest mózg robota, mierzony w stopniach. Blok stosu turn to heading obraca robota w określonym kierunku od -359 do 359 stopni. Robot obróci się w najkrótszym kierunku, aby osiągnąć docelowy kierunek.
Początkowy kurs wynosi 0 stopni.

Projekt będzie czekał, aż robot zakończy obrót, zanim zostanie uruchomiony kolejny blok ze stosu.
skręć do kursu [90] stopni ▶
Parametry |
Opis |
|---|---|
nagłówek |
Kierunek, w którym robot powinien być zwrócony, wyrażony liczbą całkowitą z zakresu od -359 do 359 stopni. |
i nie czekaj |
Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn to face the cardinal directions.]
skręć do kursu [90] stopni ▶
czekaj [1] sekund
skręć do kursu [180] stopni ▶
czekaj [1] sekund
skręć do kursu [270] stopni ▶
czekaj [1] sekund
skręć do kursu [0] stopni ▶
obrócić do obrotu#
Blok stosu obrót w celu wykonania obrotu powoduje obrót robota w określonym kierunku.
Obrót to wartość obrotu robota, mierzona w stopniach. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. Obrót można również ustawić za pomocą bloku set drive rotation.
Wartości obrotu są bezwzględne. Oznacza to, że kierunek obrotu zależy od aktualnego obrotu robota. Skręt w prawo zwiększa obrót, a w lewo zmniejsza.
Na przykład, jeśli robot zaczyna od 0 stopni i obrócisz go o 720 stopni, skręci w prawo dwa razy. Jeśli następnie obrócisz go o 360 stopni, skręci raz w lewo, ponieważ 360 stopni to mniej niż 720.

Projekt będzie czekał, aż robot zakończy obrót, zanim zostanie uruchomiony kolejny blok ze stosu.
skręć do obrotu (90) stopni ▶
Parametry |
Opis |
|---|---|
obrót |
Wartość obrotu, w stopniach, o jaką obróci się robot. Może to być liczba całkowita. |
i nie czekaj |
Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Make one full turn to the right.]
skręć do obrotu [360] stopni ▶
[Make another full turn to the right.]
skręć do obrotu [720] stopni ▶
[Make one full turn to the left, returning to 360 degrees.]
skręć do obrotu [360] stopni ▶
przestań prowadzić#
Blok stosu stop driving zatrzymuje ruch robota.
zatrzymaj jazdę
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
jedź [do przodu v]
czekaj (2) sekund
zatrzymaj jazdę
Ustawienia#
ustaw prędkość napędu#
Blok stosu ustaw prędkość jazdy informuje robota, jak szybko ma jechać. Wyższy procent sprawia, że robot jedzie szybciej, a niższy – wolniej.
Każdy projekt rozpoczyna się od tego, że robot domyślnie porusza się z prędkością równą 50%.
Uwaga: Większa prędkość sprawia, że robot jedzie szybciej, ale może być mniej precyzyjny. Niższa prędkość sprawia, że robot jedzie wolniej, ale jest bardziej precyzyjny.
ustaw prędkość jazdy na (50) %
Parametry |
Opis |
|---|---|
prędkość |
Prędkość jazdy od 0% do 100%. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive at different velocities.]
jedź [do przodu v] przez [100] [mm v] ▶
czekaj [1] sekund
[Drive slow.]
ustaw prędkość jazdy na (20) %
jedź [do przodu v] przez [100] [mm v] ▶
czekaj [1] sekund
[Drive fast.]
ustaw prędkość jazdy na (100) %
jedź [do przodu v] przez [100] [mm v] ▶
ustaw prędkość skrętu#
Blok stosu ustaw prędkość skrętu informuje robota, jak szybko ma się skręcić. Wyższy procent powoduje, że robot skręca szybciej, a niższy – że skręca wolniej.
Każdy projekt rozpoczyna się od ustawienia robota tak, aby domyślnie obracał się z prędkością równą 50%.
Uwaga: Większa prędkość sprawia, że robot skręca szybciej, ale może być mniej precyzyjny. Niższa prędkość sprawia, że robot skręca wolniej, ale jest bardziej precyzyjny.
ustaw prędkość obrotu na [50]%
Parametry |
Opis |
|---|---|
prędkość |
Prędkość skrętu od 0% do 100%. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn at different velocities.]
skręć [w prawo v] o [180] stopni ▶
czekaj [1] sekund
[Turn fast.]
ustaw prędkość obrotu na [100]%
skręć [w prawo v] o [180] stopni ▶
ustaw zatrzymanie napędu#
Blok stosu ustaw zatrzymanie napędu określa, w jaki sposób robot zatrzyma się: poprzez hamowanie, wybieg lub przytrzymanie.
ustaw zatrzymanie jazdy na [hamulec v]
Parametry |
Opis |
|---|---|
zatrzymywanie zachowania |
Jak robot się zatrzyma:
|
Jeśli ten blok nie zostanie użyty, robot użyje hamulca podczas zatrzymywania.
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive, then coast to a stop.]
ustaw prędkość jazdy na (100) %
ustaw zatrzymanie jazdy na [wybieg v]
jedź [do przodu v]
czekaj [2] sekund
zatrzymaj jazdę
ustaw limit czasu dysku#
Blok stosu set drive timeout ustawia liczbę sekund, przez które robot będzie próbował zakończyć ruch. Jeśli robot nie ukończy ruchu w tym czasie, przerwie próby i przejdzie do następnego bloku w stosie. Zapobiega to zablokowaniu ruchu przez robota.
ustaw limit czasu jazdy na [1] sekund
Parametry |
Opis |
|---|---|
czas |
Liczba sekund, w ciągu których robot może próbować zakończyć ruch. Może to być liczba całkowita lub dziesiętna. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive as far as possible for 1 second before turning right.]
ustaw limit czasu jazdy na [1] sekund
jedź [do przodu v] przez [25] [cale v] ▶
skręć [w prawo v] o [90] stopni ▶
ustaw kierunek jazdy#
Kierunek to kierunek, w którym zwrócony jest mózg robota, mierzony w stopniach. Blok stosu „ustaw kierunek jazdy” zmienia aktualny kierunek robota na nową wartość.
Na przykład, jeśli robot obrócił się w prawo, ustawienie kierunku na 0 stopni spowoduje, że ta pozycja skierowana w prawo stanie się nowym 0 stopniem. Następnie robot może obrócić się w inne pozycje w oparciu o ten nowy kierunek.
ustaw kurs jazdy na [0] stopni
Parametry |
Opis |
|---|---|
nagłówek |
Wartość kierunku (w stopniach), którą należy ustawić dla robota. Może to być liczba całkowita od 0 do 359. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Face the new 0 degree heading.]
ustaw kurs jazdy na [90] stopni
skręć do kursu [0] stopni ▶
ustaw obroty napędu#
Obrót to wartość obrotu robota, mierzona w stopniach. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. Blok stosu „Ustaw obrót napędu” zmienia bieżący obrót robota na nową wartość.
Na przykład, jeśli robot wykonał dwa pełne obroty w prawo, jego wartość obrotu wyniesie 720 stopni. Ustawienie obrotu na 0 stopni zresetuje ten obrót z 720 do 0 stopni. Następnie robot może wykonać obrót w oparciu o tę nową wartość.
ustaw obrót jazdy na (0) stopni
Parametry |
Opis |
|---|---|
obrót |
Wartość obrotu (w stopniach), którą należy ustawić dla robota. Może to być liczba całkowita. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Spin counterclockwise two times.]
ustaw obrót jazdy na [720] stopni
skręć do obrotu [0] stopni ▶
Wartości#
jazda zakończona#
Blok logiczny „napęd zakończony” informuje, czy robot zakończył ruch. Można go wykorzystać do sterowania czasem innych zachowań na podstawie ruchu robota.
Prawda — robot zakończył ruch.
Fałsz — Robot nadal się porusza.
Ten blok współpracuje z następującymi blokami układu napędowego, które mają parametr i nie czekaj: jedź do, jedź do, skręć do, skręć do kierunku i skręć do obrotu.
<jazda zakończona?>
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn when the drivetrain is done moving forward.]
jedź [do przodu v] przez [100] [mm v] ◀ i nie czekaj
czekaj [0.25] sekund
zawsze
jeśli <jazda zakończona?> to
skręć [w prawo v] o [180] stopni ▶
przerwij
w przeciwnym razie
wydrukuj [Still moving...] ▶
czekaj [0.1] sekund
wyczyść wszystkie wiersze
kierunek jazdy#
Kierunek to kierunek, w którym zwrócony jest mózg robota, mierzony w stopniach. Blok raportujący kierunek jazdy raportuje ten kierunek w zakresie od 0 do 359 stopni.
Początkowy kierunek robota wynosi 0 stopni.

(kurs jazdy w stopniach)
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Display the heading while turning.]
skręć [w prawo v] o [450] stopni ◀ i nie czekaj
zawsze
wyczyść wszystkie wiersze
wydrukuj (kurs jazdy w stopniach) ▶
czekaj [0.1] sekund
obrót napędu#
Obrót to wartość obrotu robota, mierzona w stopniach. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. Blok raportujący Drive Rotation raportuje aktualny obrót robota.
Skręt w prawo zwiększa obrót, a skręt w lewo zmniejsza. Na przykład, wykonanie dwóch pełnych skrętów w prawo spowoduje obrót o 720 stopni.

(obrót jazdy w stopniach)
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
skręć [w prawo v] o [450] stopni ◀ i nie czekaj
zawsze
wyczyść wszystkie wiersze
wydrukuj (obrót jazdy w stopniach) ▶
czekaj [0.1] sekund
prędkość napędowa#
Blok reportera prędkości jazdy raportuje, jak szybko jedzie robot, w procentach od -100% do 100%.
Wartość dodatnia oznacza, że robot jedzie do przodu. Wartość ujemna oznacza, że robot jedzie do tyłu.
(prędkość jazdy w %)
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Display the velocity of the robot before and while moving.]
wydrukuj [Start: ] ▶
wydrukuj (prędkość jazdy w %) ▶
ustaw kursor na następny wiersz
jedź [do przodu v]
czekaj [0.5] sekund
wydrukuj [Moving: ] ▶
wydrukuj (prędkość jazdy w %) ▶
zatrzymaj jazdę