Трансмісія#

Вступ#

Робот 123 має двоколісну трансмісію, яка дозволяє йому їздити та повертати. Блоки трансмісії контролюють рух робота.

Трансмісія може вимірювати відстань двома способами: кроками та мм (міліметрами). Один крок дорівнює одному квадрату на полі 123.

Існує багато способів кодування трансмісії. Нижче наведено список усіх блоків трансмісії:

Дії — Переміщення та поворот робота.

  • drive — Рухає робота вперед або назад безперервно.

  • drive for — Переміщує робота вперед або назад на певну відстань.

  • рухатися до — Рухає робота вперед або назад, доки не виявить об’єкт, зіткнення або лінію.

  • повернути — Повертає робота ліворуч або праворуч назавжди.

  • повернути на — Повертає робота ліворуч або праворуч на певну кількість градусів.

  • повернути до напрямку — Повертає робота обличчям до певного напрямку від -359 до 359 градусів. Робот поверне найкоротшим шляхом для досягнення цільового напрямку.

  • зупинити рух — Зупиняє рух робота.

Налаштування — Налаштування параметрів трансмісії.

Значення — Перевірити стан руху.

  • рух завершено — Повідомляє, чи завершив рух робота.

  • курс руху — Повідомляє поточний курс робота від 0 до 359 градусів.

Дії#

диск#

Блок стека drive переміщує робота вперед або назад нескінченно. Робот продовжуватиме рухатися, доки йому не буде надано іншу дію, таку як поворот або зупинка.

їхати [вперед v]

Параметри

Опис

напрямок

Напрямок руху робота: вперед або назад.

Приклад

коли запущено
[Drive for 2 seconds.]
їхати [вперед v]
чекати (2) секунд
зупинити рух

їхати за#

Блок стеку drive for переміщує робота вперед або назад на певну відстань. Проект чекатиме, поки робот завершить рух, перш ніж запуститься наступний блок у стеку.

їхати [вперед v] на (1) [кроки v]

Параметри

Опис

напрямок

Напрямок руху робота: вперед або назад.

відстань

Відстань, яку проїжджає робот. Це може бути ціле або десяткове число.

одиниця

Одиниця вимірювання відстані: кроки або мм.

Приклад

коли запущено
[Drive back and forth.]
їхати [вперед v] на (3) [кроки v]
їхати [назад v] на (3) [кроки v]

їхати до#

Блок стеку drive until переміщує робота вперед, доки датчик ока не виявить об’єкт, зіткнення або лінію.

їхати вперед до [об'єкт v]

Параметри

Опис

хвороба

Умова, яка зупиняє робота:

  • об’єкт — Датчик ока виявляє об’єкт.
  • зіткнення — Робот врізається в об’єкт.
  • лінія — Детектор ліній виявляє лінію під роботом.

Приклад

коли запущено
[Reverse after a crash.]
їхати вперед до [зіткнення v]
їхати [назад v] на (1) [кроки v]

поворот#

Блок стеку turn повертає робота ліворуч або праворуч назавжди. Робот продовжуватиме повертатися, доки йому не буде надано іншу дію, наприклад, рух або зупинку.

повернути [праворуч v]

Параметри

Опис

напрямок

Напрямок повороту робота: ліворуч або праворуч.

Приклад

коли запущено
[Turn for 2 seconds.]
повернути [праворуч v]
чекати (2) секунд
зупинити рух

повернути за#

Блок стеку turn for повертає робота ліворуч або праворуч на певну кількість градусів. Поворот здійснюється відносно поточного положення робота. Проект чекатиме, поки робот завершить поворот, перш ніж запустити наступний блок у стеку.

повернути [праворуч v] на (90) градусів

Параметри

Опис

напрямок

Напрямок повороту робота: ліворуч або праворуч.

кут

Кількість градусів, на яку повертається робот. Це може бути ціле або десяткове число.

Приклад

коли запущено
[Turn left, then turn around to the right.]
повернути [ліворуч v] на (90) градусів
повернути [праворуч v] на (180) градусів

повернути до заголовка#

Курс руху – це напрямок, у якому рухається робот, виміряний у градусах. Блок стеку поворот до курсу повертає робота обличчям до певного курсу від -359 до 359 градусів. Робот поверне у найкоротшому напрямку, щоб досягти цільового курсу.

Початковий курс робота становить 0 градусів.

повернути на курс (90) градусів

Параметри

Опис

заголовок

Напрямок, у якому має бути повернутий робот, у градусах. Це може бути ціле число або десяткове число від -359 до 359.

Приклад

коли запущено
[Turn to face the cardinal directions.]
повернути на курс (90) градусів
чекати (2) секунд
повернути на курс (180) градусів
чекати (2) секунд
повернути на курс (270) градусів
чекати (2) секунд
повернути на курс (0) градусів
чекати (2) секунд

зупинити керування#

Блок стеку зупинити рух зупиняє рух робота.

зупинити рух

Параметри

Опис

Цей блок не має параметрів.

Приклад

коли запущено
[Stop driving after 4 seconds.]
їхати [вперед v]
чекати [4] секунд
зупинити рух

Налаштування#

встановити час очікування диска#

Блок стеку set drive timeout встановлює, скільки секунд робот намагатиметься завершити рух. Якщо робот не зможе завершити за цей час, він припинить спроби та перейде до наступного блоку в стеку. Це запобігає зависанню робота на русі.

встановити тайм-аут руху (1) секунд

Параметри

Опис

час

Кількість секунд, протягом яких робот може спробувати завершити рух. Це може бути ціле число або десятковий дроб.

Приклад

коли запущено
[Turn right after driving for 1 second.]
встановити тайм-аут руху (1) секунд
їхати [вперед v] на (1000) [мм v]
повернути [праворуч v] на (90) градусів

встановити заголовок диска#

Курс руху – це напрямок руху робота, що вимірюється в градусах. Блок стеку set drive heading змінює поточний курс руху робота на нове значення курсу.

Наприклад, якщо робот повернувся обличчям праворуч, встановлення курсу на 0 градусів робить це положення обличчям праворуч новим 0 градусами. Потім робот може повертатися в інші позиції на основі цього нового курсу.

встановити курс руху (0) градусів

Параметри

Опис

заголовок

Значення курсу в градусах, яке потрібно встановити для робота. Це може бути ціле число або десяткове число від 0 до 359.

Приклад

коли запущено
[Face the new 0 degree heading.]
встановити курс руху (90) градусів
повернути на курс (0) градусів

Цінності#

диск завершено#

Булевий блок drive is done повідомляє, чи завершив рух робота. Це можна використовувати для керування часом інших дій на основі руху робота.

  • Правда — Робот завершив рух.

  • Хибно — Робот все ще рухається.

Цей блок працює разом з такими блоками трансмісії: drive for, drive until, turn for та turn to heading.

<рух завершено?>

Параметри

Опис

Цей блок не має параметрів.

Приклад

коли запущено
[Glow blue after a crash.]
їхати вперед до [зіткнення v]
назавжди
якщо <рух завершено?> тоді
засвітити [синій v]
інакше
засвітити [зелений v]

напрямок руху#

Курс руху – це напрямок, у якому рухається робот, що вимірюється в градусах. Блок репортера курс руху повідомляє поточний курс робота від 0 до 359 градусів.

Початковий курс робота становить 0 градусів.

(курс руху у градусах)

Параметри

Опис

Цей блок не має параметрів.

Приклад

коли запущено
[Display the heading after turning.]
повернути [праворуч v] на (450) градусів
вивести (курс руху у градусах) ▶