Трансмісія#

Вступ#

Трансмісія включає колеса та двигуни, які керують тим, як робот їздить та повертається. Трансмісії можна знайти в таких збірках, як Code Base 2.0, Super Car або кастомному роботі.

Трансмісії використовують Інерційний датчик у мозку для виявлення зіткнень та допомоги роботу в точному русі та повороті. На початку кожного проекту трансмісія автоматично калібрує Інерційний датчик. Під час калібрування тримайте робота нерухомим приблизно 2 секунди, щоб він міг правильно рухатися та повертатися.

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

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

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

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

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

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

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

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

  • повернути на обертання — Повертає робота на певний оберт.

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

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

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

Дії#

диск#

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

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

Параметри

Опис

напрямок

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
їхати [вперед v]
чекати (2) секунд
зупинити рух

їхати за#

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

їхати [вперед v] на [100] [мм v] ▶

Параметри

Опис

напрямок

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

відстань

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

одиниця

Одиниця вимірювання відстані: мм (міліметри) або дюйми.

і не чекай

Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу.

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Drive back and forth.]
їхати [вперед v] на [100] [мм v] ▶
їхати [назад v] на [4] [дюйми v] ▶

їхати до#

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

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

Параметри

Опис

напрямок

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

хвороба

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

і не чекай

Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу.

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Turn right after a crash.]
їхати [вперед v] до [зіткнення v] ▶
повернути [праворуч v] на (90) градусів ▶

поворот#

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

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

Параметри

Опис

напрямок

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Turn right and left, then stop.]
повернути [праворуч v]
чекати [2] секунд
повернути [ліворуч v]
чекати [2] секунд
зупинити рух

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

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

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

Параметри

Опис

напрямок

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

кут

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

і не чекай

Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу.

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Turn right then left.]
повернути [праворуч v] на (90) градусів ▶
повернути [ліворуч v] на (90) градусів ▶

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

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

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

Код VEX GO Code Base 2.0, що показує напрямки руху: 0 градусів вперед, 90 градусів праворуч, 180 градусів назад та 270 градусів ліворуч.

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

повернути на курс [90] градусів ▶

Параметри

Опис

заголовок

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

і не чекай

Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу.

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Turn to face the cardinal directions.]
повернути на курс [90] градусів ▶
чекати [1] секунд
повернути на курс [180] градусів ▶
чекати [1] секунд
повернути на курс [270] градусів ▶
чекати [1] секунд
повернути на курс [0] градусів ▶

поворот на обертання#

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

Обертання – це кут повороту робота, виміряний у градусах. На початку проекту значення повороту встановлюється на 0 градусів. Обертання також можна встановити за допомогою блоку set drive rotation.

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

Наприклад, якщо робот починає рух з кута 0 градусів, а потім повертається на 720 градусів, він двічі повернеться праворуч. Якщо потім повернути на 360 градусів, він один раз повернеться ліворуч, оскільки 360 менше за 720.

Код VEX GO 2.0, що показує стрілки, що обертаються праворуч і ліворуч. Ліва стрілка показує «мінус», а права — «плюс».

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

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

Параметри

Опис

обертання

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

і не чекай

Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу.

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Make one full turn to the right.]
повернути на обертання [360] градусів ▶
[Make another full turn to the right.]
повернути на обертання [720] градусів ▶
[Make one full turn to the left, returning to 360 degrees.]
повернути на обертання [360] градусів ▶

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

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

зупинити рух

Параметри

Опис

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
їхати [вперед v]
чекати (2) секунд
зупинити рух

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

встановити швидкість руху#

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

Кожен проєкт починається з того, що робот рухається зі швидкістю 50% за замовчуванням.

Примітка: Вища швидкість робить робот швидшим, але це може бути менш точно. Нижча швидкість робить робот повільнішим, але точнішим.

встановити швидкість руху (50) %

Параметри

Опис

швидкість

Швидкість руху від 0% до 100%.

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Drive at different velocities.]
їхати [вперед v] на [100] [мм v] ▶
чекати [1] секунд
[Drive slow.]
встановити швидкість руху (20) %
їхати [вперед v] на [100] [мм v] ▶
чекати [1] секунд
[Drive fast.]
встановити швидкість руху (100) %
їхати [вперед v] на [100] [мм v] ▶

встановити швидкість повороту#

Блок стеку set turn velocity вказує роботу, як швидко повертатися. Вищий відсоток змушує робота повертатися швидше, а нижчий — повільніше.

Кожен проект починається з того, що робот обертається зі швидкістю 50% за замовчуванням.

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

встановити швидкість повороту [50]%

Параметри

Опис

швидкість

Швидкість повороту від 0% до 100%.

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Turn at different velocities.]
повернути [праворуч v] на [180] градусів ▶
чекати [1] секунд
[Turn fast.]
встановити швидкість повороту [100]%
повернути [праворуч v] на [180] градусів ▶

встановити зупинку диска#

Блок стеку set drive stopping встановлює, як робот зупинить рух: гальмуванням, рухом по інерції або утримуванням.

встановити зупинку руху на [гальмо v]

Параметри

Опис

зупиняюча поведінка

Як робот зупиниться:

  • гальмо — Негайно зупиняється.
  • рух накатом — Уповільнює рух до повної зупинки.
  • утримувати — Негайно зупиняється та утримує колеса в фіксованому положенні.

Якщо цей блок не використовується, робот використовуватиме гальмо під час зупинки.

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Drive, then coast to a stop.]
встановити швидкість руху (100) %
встановити зупинку руху на [вільний хід v]
їхати [вперед v]
чекати [2] секунд
зупинити рух

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

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

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

Параметри

Опис

час

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Drive as far as possible for 1 second before turning right.]
встановити тайм-аут руху [1] секунд
їхати [вперед v] на [25] [дюйми v] ▶
повернути [праворуч v] на [90] градусів ▶

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

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

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

встановити курс руху [0] градусів

Параметри

Опис

заголовок

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Face the new 0 degree heading.]
встановити курс руху [90] градусів
повернути на курс [0] градусів ▶

встановити обертання диска#

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

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

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

Параметри

Опис

обертання

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Spin counterclockwise two times.]
встановити обертання руху [720] градусів
повернути на обертання [0] градусів ▶

Цінності#

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

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

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

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

Цей блок працює разом із наступними блоками трансмісії, які мають параметр і не чекати: їздити протягом, їздити до, повернути протягом, повернути до напрямку та повернути до обертання.

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

Параметри

Опис

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Turn when the drivetrain is done moving forward.]
їхати [вперед v] на [100] [мм v] ◀ і не чекати
чекати [0.25] секунд
назавжди
якщо <рух завершено?> тоді
повернути [праворуч v] на [180] градусів ▶
перервати
інакше
вивести [Still moving...] ▶
чекати [0.1] секунд
очистити всі рядки

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

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

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

VEX GO Brain показує напрямки руху: 0 градусів вперед, 90 градусів праворуч, 180 градусів назад та 270 градусів ліворуч.

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

Параметри

Опис

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Display the heading while turning.]
повернути [праворуч v] на [450] градусів ◀ і не чекати
назавжди
очистити всі рядки
вивести (курс руху у градусах) ▶
чекати [0.1] секунд

обертання диска#

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

Поворот праворуч збільшує обертання, а поворот ліворуч зменшує. Наприклад, два повних оберти праворуч призведуть до обертання на 720 градусів.

Код VEX GO 2.0, що показує стрілки, що обертаються праворуч і ліворуч. Ліва стрілка показує «мінус», а права — «плюс».

(обертання руху у градусах)

Параметри

Опис

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
повернути [праворуч v] на [450] градусів ◀ і не чекати
назавжди
очистити всі рядки
вивести (обертання руху у градусах) ▶
чекати [0.1] секунд

швидкість руху#

Блок репортера швидкість руху повідомляє про швидкість руху робота у відсотках від -100% до 100%.

Додатне значення означає, що робот рухається вперед. Від’ємне значення означає, що робот рухається назад.

(швидкість руху у %)

Параметри

Опис

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

Приклад

коли запущено :: hat events
[Build Used: Code Base 2.0]
[Display the velocity of the robot before and while moving.]
вивести [Start: ] ▶
вивести (швидкість руху у %) ▶
перейти до наступного рядка
їхати [вперед v]
чекати [0.5] секунд
вивести [Moving: ] ▶
вивести (швидкість руху у %) ▶
зупинити рух