Hnací ústrojí#
Zavedení#
Pohonné ústrojí zahrnuje kola a motory, které ovládají, jak se robot pohybuje a zatáčí. Pohonné ústrojí lze nalézt v sestavách, jako je Code Base 2.0, Super Car nebo robot na zakázku.
Pohonné jednotky používají Inerciální senzor v mozku k detekci kolizí a pomáhají robotu s přesným pohybem a otáčením. Na začátku každého projektu pohonná jednotka automaticky kalibruje inerciální senzor. Během kalibrace držte robota v klidu asi 2 sekundy, aby se mohl správně pohybovat a otáčet.
Existuje mnoho způsobů, jak kódovat hnací ústrojí. Níže je uveden seznam všech bloků hnacího ústrojí:
Akce – Pohyb a otáčení robota.
drive — Pohybuje robota vpřed nebo vzad natrvalo.
drive for — Pohybuje robota vpřed nebo vzad o určitou vzdálenost.
drive until — Pohybuje robota vpřed nebo vzad, dokud oční senzor nezaznamená předmět nebo robot nezaznamená náraz.
turn — Otočí robota doleva nebo doprava natrvalo.
otoč se o — Otočí robota doleva nebo doprava o určitý počet stupňů.
otočit se do směru — Otočí robota tak, aby dosáhl určitého směru od -359 do 359 stupňů. Robot se otočí nejkratším směrem, aby dosáhl cílového směru.
otočení do rotace — Otočí robota do určité rotace.
zastavit jízdu — Zastaví pohyb robota.
Nastavení – Úprava nastavení hnacího ústrojí.
nastavit rychlost jízdy — Říká robotovi, jak rychle má jet.
nastavit rychlost otáčení — Říká robotovi, jak rychle se má otáčet.
nastavit zastavení pohonu — Určuje, jak se robot zastaví: brzděním, doběhem nebo zastavením.
set drive timeout — Nastaví, po kolik sekund se bude robot pokusit dokončit pohyb.
nastavit směr jízdy — Změní aktuální směr robota na nový směr.
nastavit rotaci pohonu — Změní aktuální rotaci robota na novou rotaci.
Hodnoty – Zkontrolujte stav pohybu.
pohon dokončen — Hlásí, zda robot dokončil pohyb.
směrování — Ukazuje aktuální směr pohybu robota od 0 do 359 stupňů.
rotace pohonu — Hlásí aktuální rotaci robota.
rychlost pohybu — Udává rychlost pohybu robota v procentech od -100 % do 100 %.
Akce#
řídit#
Blok drive pohybuje robotem vpřed nebo vzad donekonečna. Robot se bude pohybovat, dokud nedostane další akci, například otočení nebo zastavení.
jet [dopředu v]
Parametry |
Popis |
|---|---|
směr |
Směr pohybu robota: vpřed nebo vzad. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
jet [dopředu v]
čekat (2) sekund
zastavit jízdu
jet pro#
Blok drive for pohybuje robotem vpřed nebo vzad o určitou vzdálenost. Projekt počká, dokud se robot nedokončí s pohybem, než se spustí další blok v zásobníku.
jet [dopředu v] na [100] [mm v] ▶
Parametry |
Popis |
|---|---|
směr |
Směr pohybu robota: vpřed nebo vzad. |
vzdálenost |
Vzdálenost, kterou robot urazí. Může to být celé číslo nebo desetinné číslo. |
jednotka |
Jednotka vzdálenosti: mm (milimetry) nebo palce. |
a nečekej |
Vyberte šipku (▶) pro rozbalení bloku s textem a nečekejte, takže další blok v zásobníku se spustí ihned. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Drive back and forth.]
jet [dopředu v] na [100] [mm v] ▶
jet [zpět v] na [4] [palce v] ▶
jet až#
Blok drive until pohybuje robotem vpřed nebo vzad, dokud senzor Eye Sensor nezaznamená objekt nebo dokud robot nezaznamená náraz.
jet [dopředu v] dokud [objekt v] ▶
Parametry |
Popis |
|---|---|
směr |
Směr pohybu robota: vpřed nebo vzad. |
stav |
Podmínka, která zastaví robota: předmět nebo havárie. |
a nečekej |
Vyberte šipku (▶) pro rozbalení bloku s textem a nečekejte, takže další blok v zásobníku se spustí ihned. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Turn right after a crash.]
jet [dopředu v] dokud [náraz v] ▶
otočit [vpravo v] o (90) stupňů ▶
otočit#
Blok turn otáčí robota doleva nebo doprava navždy. Robot se bude otáčet, dokud nedostane další akci, například zastavení.
otočit [vpravo v]
Parametry |
Popis |
|---|---|
směr |
Směr otáčení robota: doleva nebo doprava. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Turn right and left, then stop.]
otočit [vpravo v]
čekat [2] sekund
otočit [vlevo v]
čekat [2] sekund
zastavit jízdu
otočit se pro#
Blok turn for otočí robota doleva nebo doprava o určitý počet stupňů. Otočení je relativní vzhledem k aktuální poloze robota. Projekt počká, dokud robot nedokončí otáčení, než se spustí další blok v zásobníku.
otočit [vpravo v] o (90) stupňů ▶
Parametry |
Popis |
|---|---|
směr |
Směr otáčení robota: doleva nebo doprava. |
úhel |
Počet stupňů, o které se robot otočí. Může to být celé číslo nebo desetinné číslo. |
a nečekej |
Vyberte šipku (▶) pro rozbalení bloku s textem a nečekejte, takže další blok v zásobníku se spustí ihned. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Turn right then left.]
otočit [vpravo v] o (90) stupňů ▶
otočit [vlevo v] o (90) stupňů ▶
otočit k nadpisu#
Směr je směr, kterým je robotův mozek otočen, měřený ve stupních. Blok zásobníku otoč se ke směru otočí robota tak, aby směřoval v určitém směru, od -359 do 359 stupňů. Robot se otočí nejkratším směrem, aby dosáhl cílového směru.
Výchozí směr je 0 stupňů.

Projekt počká, dokud robot nedokončí otáčení, než se spustí další blok v zásobníku.
otočit na kurz [90] stupňů ▶
Parametry |
Popis |
|---|---|
záhlaví |
Směr, kterým by se měl robot otočit, jako celé číslo v rozsahu od -359 do 359 stupňů. |
a nečekej |
Vyberte šipku (▶) pro rozbalení bloku s textem a nečekejte, takže další blok v zásobníku se spustí ihned. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Turn to face the cardinal directions.]
otočit na kurz [90] stupňů ▶
čekat [1] sekund
otočit na kurz [180] stupňů ▶
čekat [1] sekund
otočit na kurz [270] stupňů ▶
čekat [1] sekund
otočit na kurz [0] stupňů ▶
otočit se k rotaci#
Blok zásobníku otoč se na rotaci otočí robota do určité rotace.
Rotace udává, o kolik se robot otočil, měřeno ve stupních. Na začátku projektu je hodnota rotace nastavena na 0 stupňů. Rotaci lze také nastavit pomocí bloku set drive rotation.
Hodnoty rotace jsou absolutní. To znamená, že směr otáčení závisí na aktuální rotaci robota. Otočení doprava rotaci zvyšuje a otáčení doleva snižuje.
Například pokud robot začne na 0 stupních a otočíte se o 720 stupňů, otočí se dvakrát doprava. Pokud se poté otočíte o 360 stupňů, otočí se jednou doleva, protože 360 je menší než 720.

Projekt počká, dokud robot nedokončí otáčení, než se spustí další blok v zásobníku.
otočit na rotaci (90) stupňů ▶
Parametry |
Popis |
|---|---|
otáčení |
Hodnota rotace ve stupních, na kterou se robot otočí. Může to být celé číslo. |
a nečekej |
Vyberte šipku (▶) pro rozbalení bloku s textem a nečekejte, takže další blok v zásobníku se spustí ihned. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Make one full turn to the right.]
otočit na rotaci [360] stupňů ▶
[Make another full turn to the right.]
otočit na rotaci [720] stupňů ▶
[Make one full turn to the left, returning to 360 degrees.]
otočit na rotaci [360] stupňů ▶
přestaň řídit#
Blok stop driving zastaví pohyb robota.
zastavit jízdu
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
jet [dopředu v]
čekat (2) sekund
zastavit jízdu
Nastavení#
nastavená rychlost pohonu#
Blok set drive velocity říká robotovi, jak rychle má jet. Vyšší procento způsobí, že robot jede rychleji, a nižší procento, že robot jede pomaleji.
Každý projekt začíná s robotem, který se standardně pohybuje rychlostí 50 %.
Poznámka: Vyšší rychlost znamená, že robot jede rychleji, ale může být méně přesný. Nižší rychlost znamená, že robot jede pomaleji, ale je přesnější.
nastavit rychlost jízdy na (50) %
Parametry |
Popis |
|---|---|
rychlost |
Rychlost jízdy od 0 % do 100 %. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Drive at different velocities.]
jet [dopředu v] na [100] [mm v] ▶
čekat [1] sekund
[Drive slow.]
nastavit rychlost jízdy na (20) %
jet [dopředu v] na [100] [mm v] ▶
čekat [1] sekund
[Drive fast.]
nastavit rychlost jízdy na (100) %
jet [dopředu v] na [100] [mm v] ▶
nastavená rychlost otáčení#
Blok set turn velocity říká robotovi, jak rychle se má otáčet. Vyšší procento způsobí, že se robot bude otáčet rychleji, a nižší procento způsobí, že se robot bude otáčet pomaleji.
Každý projekt začíná s robotem, který se standardně otáčí rychlostí 50 %.
Poznámka: Vyšší rychlost způsobí, že se robot otáčí rychleji, ale může to být méně přesné. Nižší rychlost způsobí, že se robot otáčí pomaleji, ale je přesnější.
nastavit rychlost otáčení na [50]%
Parametry |
Popis |
|---|---|
rychlost |
Rychlost otáčení od 0 % do 100 %. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Turn at different velocities.]
otočit [vpravo v] o [180] stupňů ▶
čekat [1] sekund
[Turn fast.]
nastavit rychlost otáčení na [100]%
otočit [vpravo v] o [180] stupňů ▶
nastavit zastavení pohonu#
Blok set drive stopping nastavuje, jak se robot zastaví: brzděním, doběhem nebo pozastavením.
nastavit zastavování jízdy na [brzda v]
Parametry |
Popis |
|---|---|
zastavující chování |
Jak robot zastaví:
|
Pokud se tento blok nepoužije, robot při zastavení použije brzdu.
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Drive, then coast to a stop.]
nastavit rychlost jízdy na (100) %
nastavit zastavování jízdy na [volnoběh v]
jet [dopředu v]
čekat [2] sekund
zastavit jízdu
nastavit časový limit disku#
Blok set drive timeout nastavuje, po kolik sekund se robot pokusí dokončit pohyb. Pokud robot nedokončí pohyb v tomto čase, přestane se snažit a přesune se k dalšímu bloku v zásobníku. Tím se zabrání tomu, aby se robot zasekl na pohybu.
nastavit časový limit jízdy na [1] sekund
Parametry |
Popis |
|---|---|
čas |
Počet sekund, po které se robot může pokusit dokončit pohyb. Může se jednat o celé číslo nebo desetinné číslo. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Drive as far as possible for 1 second before turning right.]
nastavit časový limit jízdy na [1] sekund
jet [dopředu v] na [25] [palce v] ▶
otočit [vpravo v] o [90] stupňů ▶
nastavit směr jízdy#
Směr je směr, kterým je otočen mozek robota, měřený ve stupních. Blok zásobníku set drive heading změní aktuální směr robota na novou hodnotu směru.
Například pokud se robot otočil čelem doprava, nastavením směru na 0 stupňů se tato poloha směřující doprava stane novými 0 stupni. Robot se pak může na základě tohoto nového směru otáčet do jiných pozic.
nastavit kurz jízdy na [0] stupňů
Parametry |
Popis |
|---|---|
záhlaví |
Hodnota směru ve stupních, kterou chcete nastavit pro robota. Může to být celé číslo od 0 do 359. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Face the new 0 degree heading.]
nastavit kurz jízdy na [90] stupňů
otočit na kurz [0] stupňů ▶
nastavení otáčení pohonu#
Rotace udává, o kolik se robot otočil, měřeno ve stupních. Na začátku projektu je hodnota rotace nastavena na 0 stupňů. Blok zásobníku set drive rotation změní aktuální rotaci robota na novou hodnotu.
Například pokud robot provedl dvě plné otáčky doprava, jeho hodnota rotace bude 720 stupňů. Nastavením rotace na 0 stupňů se tato hodnota resetuje ze 720 na 0 stupňů. Robot se pak může otáčet na základě této nové hodnoty.
nastavit rotaci jízdy na (0) stupňů
Parametry |
Popis |
|---|---|
otáčení |
Hodnota rotace ve stupních, která se má nastavit pro robota. Může to být celé číslo. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Spin counterclockwise two times.]
nastavit rotaci jízdy na [720] stupňů
otočit na rotaci [0] stupňů ▶
Hodnoty#
jízda je hotová#
Logický blok drive is done hlásí, zda robot dokončil pohyb. To lze použít k řízení načasování dalších chování na základě pohybu robota.
Pravda – Robot dokončil pohyb.
Nepravda — Robot se stále pohybuje.
Tento blok spolupracuje s následujícími bloky hnacího ústrojí, které mají parametr a nečekej: jeď po dobu, jeď do doby, otoč se po dobu, otoč se na směr a otoč se na rotaci.
<jízda dokončena?>
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Turn when the drivetrain is done moving forward.]
jet [dopředu v] na [100] [mm v] ◀ a nečekat
čekat [0.25] sekund
navždy
pokud <jízda dokončena?> pak
otočit [vpravo v] o [180] stupňů ▶
přerušit
jinak
tisk [Still moving...] ▶
čekat [0.1] sekund
vymazat všechny řádky
směr jízdy#
Směr je směr, kterým je robotův mozek otočen, měřený ve stupních. Blok drive heading hlásí tento směr od 0 do 359 stupňů.
Výchozí směr robota je 0 stupňů.

(kurz jízdy ve stupních)
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Display the heading while turning.]
otočit [vpravo v] o [450] stupňů ◀ a nečekat
navždy
vymazat všechny řádky
tisk (kurz jízdy ve stupních) ▶
čekat [0.1] sekund
otáčení pohonu#
Rotace udává, o kolik se robot otočil, měřeno ve stupních. Na začátku projektu je hodnota rotace nastavena na 0 stupňů. Blok hlášení rotace pohonu hlásí aktuální rotaci robota.
Otočení doprava zvětšuje rotaci a otočení doleva ji snižuje. Například provedení dvou celých otoček doprava bude znamenat rotaci o 720 stupňů.

(rotace jízdy ve stupních)
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
otočit [vpravo v] o [450] stupňů ◀ a nečekat
navždy
vymazat všechny řádky
tisk (rotace jízdy ve stupních) ▶
čekat [0.1] sekund
rychlost pohonu#
Blok hlášení rychlost pohybu hlásí, jak rychle robot jede, v procentech od -100 % do 100 %.
Kladná hodnota znamená, že robot jede vpřed. Záporná hodnota znamená, že robot jede vzad.
(rychlost jízdy v %)
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění :: hat events
[Build Used: Code Base 2.0]
[Display the velocity of the robot before and while moving.]
tisk [Start: ] ▶
tisk (rychlost jízdy v %) ▶
přesunout kurzor na další řádek
jet [dopředu v]
čekat [0.5] sekund
tisk [Moving: ] ▶
tisk (rychlost jízdy v %) ▶
zastavit jízdu