Рух#
Вступ#
Двигуни контролюють рух частин робота. Двигуни можна використовувати для підняття руки, повороту кігтя, обертання колеса або переміщення іншої частини конструкції. Два двигуни можуть працювати разом як трансмісія для переміщення та повороту всього робота.
Кожен двигун налаштовується у вікні «Пристрої». Залежно від збірки, назви двигунів та напрямки руху можуть змінюватися. Наприклад, збірка Competition Advanced 2.0 має двигун під назвою ArmMotor з напрямками вгору та вниз. Користувацький робот може використовувати різні назви двигунів або напрямки руху.
За замовчуванням, вперед обертає двигун проти годинникової стрілки, а назад обертає двигун за годинниковою стрілкою. Якщо у вікні «Пристрої» для двигуна налаштовано реверс, ці напрямки зміняться.
Існує багато способів кодування двигунів. Нижче наведено список усіх блоків руху:
Дії — Зупинити та розкрутити двигуни.
обертання двигуна — Обертає двигун вперед або назад безкінечно.
обертати двигун протягом — Обертає двигун на певну відстань.
розкрутити двигун у потрібне положення — Розкрутить двигун у певне положення.
зупинити двигун — Зупиняє обертання двигуна.
Налаштування — Налаштуйте параметри двигуна.
встановити положення двигуна — Змінює поточне положення двигуна на нове значення.
встановити швидкість двигуна — Вказує двигуну, з якою швидкістю обертатися.
встановити зупинку двигуна — Встановлює спосіб зупинки двигуна: гальмуванням, рухом на вильоті або утримуванням.
встановити максимальний крутний момент двигуна — Встановлює силу обертання двигуна.
встановити тайм-аут двигуна — Встановлює, скільки секунд двигун намагатиметься завершити рух.
Значення — Перевірте стан двигуна.
двигун готовий — Повідомляє, чи завершив рух двигуна.
мотор обертається? — Повідомляє, чи обертається двигун.
положення двигуна — Повідомляє поточне положення двигуна.
швидкість двигуна — Повідомляє про швидкість обертання двигуна у відсотках від -100% до 100%.
струм двигуна — Повідомляє, скільки енергії двигун використовує від акумулятора, у відсотках від 0% до 100%.
Дії#
обертальний двигун#
Блок стеку spin motor обертає двигун вперед або назад нескінченно. Двигун продовжуватиме обертатися, доки йому не буде надано іншу дію, наприклад, обертання в іншому напрямку або зупинка.
обертати [ArmMotor v] [вгору v]
Параметри |
Опис |
|---|---|
двигун |
Двигун для обертання. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
напрямок |
Напрямок обертання двигуна. За замовчуванням варіанти: вперед та назад. Варіанти напрямку можуть змінюватися залежно від конфігурації двигуна. |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor, then stop.]
обертати [ArmMotor v] [вгору v]
чекати [1] секунд
зупинити [ArmMotor v]
обертальний двигун для#
Блок стеку spin motor for обертає двигун на певну відстань. Обертання залежить від поточного положення двигуна. Проект чекатиме, поки двигун завершить обертання, перш ніж запуститься наступний блок у стеку.
обертати [ArmMotor v] [вгору v] на [90] [градуси v] ▶
Параметри |
Опис |
|---|---|
двигун |
Двигун для обертання. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
напрямок |
Напрямок обертання двигуна. За замовчуванням варіанти: вперед та назад. Варіанти напрямку можуть змінюватися залежно від конфігурації двигуна. |
відстань |
Відстань, на яку обертається двигун. Градуси використовують цілі числа. Оберти можуть використовувати цілі або десяткові числа. |
одиниця |
Одиниця вимірювання відстані: градуси або повороти. |
і не чекай |
Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу. |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Raise and lower the ArmMotor.]
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ▶
чекати [1] секунд
обертати [ArmMotor v] [вниз v] на [180] [градуси v] ▶
поверніть двигун у потрібне положення#
Блок стеку spin motor to position обертає двигун у певне положення.
Положення двигуна – це відстань, на яку він обертувався, вимірюється в градусах або обертах. Один оберт дорівнює 360 градусам. На початку проекту положення двигуна встановлюється на 0 градусів. Положення двигуна також можна встановити за допомогою блоку set motor position.
Значення положення є абсолютними. Це означає, що напрямок обертання залежить від поточного положення двигуна.
обертати [ArmMotor v] до позиції (90) [градуси v] ▶
Параметри |
Опис |
|---|---|
двигун |
Двигун для обертання. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
позиція |
Значення положення, до якого обертатиметься двигун. Градуси використовують цілі числа. Оберти можуть використовувати цілі або десяткові числа. |
одиниця |
Одиниця вимірювання положення: градуси або оберти. |
і не чекай |
Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу. |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ▶
чекати [1] секунд
обертати [ArmMotor v] до позиції [0] [градуси v] ▶
зупинити двигун#
Блок стека зупинка двигуна зупиняє обертання двигуна.
зупинити [ArmMotor v]
Параметри |
Опис |
|---|---|
двигун |
Двигун, який потрібно зупинити. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor.]
обертати [ArmMotor v] [вгору v]
чекати [1] секунд
зупинити [ArmMotor v]
Налаштування#
встановити положення двигуна#
Положення двигуна — це відстань його обертання, що вимірюється в градусах або обертах. Один оберт дорівнює 360 градусам. Блок стеку встановлення позиції двигуна змінює поточне положення двигуна на нове значення.
Наприклад, якщо двигун обертався на 180 градусів, встановлення положення на 0 градусів скине це положення зі 180 на 0 градусів. Потім двигун може обертатися в положення на основі цього нового значення.
встановити позицію [ArmMotor v] (0) [градуси v]
Параметри |
Опис |
|---|---|
двигун |
Двигун, для якого потрібно встановити положення. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
позиція |
Значення положення, яке потрібно встановити для двигуна. Градуси використовують цілі числа. Оберти можуть використовувати цілі або десяткові числа. |
одиниця |
Одиниця вимірювання положення: градуси або оберти. |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
встановити позицію [ArmMotor v] [0] [градуси v]
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ▶
чекати [1] секунд
обертати [ArmMotor v] до позиції [0] [градуси v] ▶
встановити швидкість двигуна#
Блок стека set motor velocity вказує двигуну, з якою швидкістю обертатися. Вищий відсоток змушує двигун обертатися швидше, а нижчий — повільніше.
Кожен проект починається з того, що кожен двигун обертається зі швидкістю 50% за замовчуванням.
Примітка: Вища швидкість робить двигун обертанням швидше, але це може бути менш точно. Нижча швидкість робить двигун обертанням повільніше, але це може бути точнішим.
встановити швидкість [ArmMotor v] [50] %
Параметри |
Опис |
|---|---|
двигун |
Двигун, для якого потрібно встановити швидкість. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
швидкість |
Швидкість обертання від 0% до 100%. |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different velocities.]
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ▶
чекати [1] секунд
[Move slow.]
встановити швидкість [ArmMotor v] [20] %
обертати [ArmMotor v] [вниз v] на [180] [градуси v] ▶
чекати [1] секунд
[Move fast.]
встановити швидкість [ArmMotor v] [100] %
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ▶
встановити зупинку двигуна#
Блок стека set motor stopping встановлює спосіб зупинки двигуна: гальмуванням, вибігом або утримуванням.
встановити зупинку [ArmMotor v] на [гальмо v]
Параметри |
Опис |
|---|---|
двигун |
Двигун, для якого потрібно встановити поведінку зупинки. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
зупиняюча поведінка |
Як зупиняється двигун:
|
Наприклад, якщо використовується збірка Competition Advanced 2.0, а ArmMotor налаштовано на утримання, двигун утримуватиме руку в поточному положенні, доки не відбудеться інший рух руки. Це означає, що двигун працюватиме проти сили тяжіння, щоб утримувати руку в повітрі, якщо двигун був зупинений з піднятою рукою.
Якщо цей блок не використовується, двигун використовуватиме гальмо під час зупинки.
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor, then coast to a stop.]
встановити швидкість [ArmMotor v] [20] %
встановити зупинку [ArmMotor v] на [вільний хід v]
обертати [ArmMotor v] [вгору v]
чекати [1] секунд
зупинити [ArmMotor v]
встановити максимальний крутний момент двигуна#
Крутний момент – це сила обертання. Він показує, з якою силою двигун може штовхати або тягнути під час обертання.
Блок стеку set motor max torque встановлює максимальний крутний момент, який може використовувати двигун.
Вищий відсоток дозволяє двигуну працювати сильніше, наприклад, під час підняття важкого предмета. Нижчий відсоток обмежує силу натискання двигуна. Це може допомогти захистити робота, якщо двигун застрягне або досягне межі можливостей для переміщення.
Кожен проект починається з крутного моменту кожного двигуна, встановленого за замовчуванням на рівні 50%.
встановити максимальний крутний момент [ArmMotor v] (50) %
Параметри |
Опис |
|---|---|
двигун |
Двигун, для якого потрібно встановити максимальний крутний момент. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
крутний момент |
Максимальний крутний момент, який може використовувати двигун, становить від 0% до 100%. |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different torques.]
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ▶
чекати [1] секунд
[Move with less torque.]
встановити максимальний крутний момент [ArmMotor v] [20] %
обертати [ArmMotor v] [вниз v] на [180] [градуси v] ▶
чекати [1] секунд
[Move with maximum torque.]
встановити максимальний крутний момент [ArmMotor v] [100] %
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ▶
встановити тайм-аут двигуна#
Блок стеку set motor timeout встановлює, скільки секунд двигун намагатиметься завершити рух. Якщо двигун не може завершити рух за цей час, він припиняє спроби та переходить до наступного блоку в стеку. Це запобігає зависанню двигуна на русі.
встановити тайм-аут [ArmMotor v] (1) секунд
Параметри |
Опис |
|---|---|
двигун |
Двигун, для якого потрібно встановити тайм-аут. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
час |
Кількість секунд, протягом яких двигун може спробувати завершити рух. Це може бути ціле число або десятковий дробовий коефіцієнт. |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Move ArmMotor as far as possible for 1 second before resetting.]
встановити позицію [ArmMotor v] [0] [градуси v]
встановити тайм-аут [ArmMotor v] [1] секунд
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ▶
обертати [ArmMotor v] до позиції [0] [градуси v] ▶
Цінності#
мотор готовий?#
Булев блок motor is done повідомляє, чи завершив рух двигуна. Це можна використовувати для керування часом інших дій на основі руху двигуна.
Правда — Двигун завершив рух.
Хибно — Двигун все ще рухається.
Цей блок працює разом з наступними блоками руху, які мають параметр і не чекати: обертати двигун протягом та обертати двигун у потрібне положення.
<[ArmMotor v] завершено?>
Параметри |
Опис |
|---|---|
двигун |
Двигун, для якого потрібно повідомити про завершення руху. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ◀ і не чекати
чекати [0.1] секунд
назавжди
якщо <[ArmMotor v] завершено?> тоді
встановити підсвітку ока [вимк. v]
інакше
встановити підсвітку ока [увімк. v]
мотор крутиться?#
Логічний блок motor is spinning? повідомляє, чи обертається двигун. Це можна використовувати для керування часом інших дій на основі руху двигуна.
Правда — Двигун обертається.
Хибно — Двигун не обертається.
Цей блок працює разом з наступними блоками руху, які мають параметр і не чекати: обертати двигун протягом та обертати двигун у потрібне положення.
<[ArmMotor v] обертається?>
Параметри |
Опис |
|---|---|
двигун |
Двигун, про який потрібно повідомляти, чи обертається він. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
обертати [ArmMotor v] [вгору v] на [180] [градуси v] ◀ і не чекати
чекати [0.1] секунд
назавжди
якщо <[ArmMotor v] обертається?> тоді
встановити підсвітку ока [увімк. v]
інакше
встановити підсвітку ока [вимк. v]
положення двигуна#
Положення двигуна – це те, наскільки він обертувався, вимірюється в градусах або обертах. Блок репортера положення двигуна повідомляє поточне положення двигуна.
На початку проекту положення двигуна встановлюється на 0 градусів. Якщо двигун обертається на один повний оберт вперед, положення становитиме 360 градусів або 1 оберт. Якщо двигун обертається в іншому напрямку, положення буде від’ємним.
(позиція [ArmMotor v] у [градуси v] :: custom-motion)
Параметри |
Опис |
|---|---|
двигун |
Двигун, положення якого потрібно повідомити. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
одиниця |
Одиниця вимірювання для повідомлення про положення двигуна у: градусах або обертах. |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Display how far the ArmMotor moves after one second.]
встановити позицію [ArmMotor v] [0] [градуси v]
вивести [Start: ] ▶
вивести (позиція [ArmMotor v] у [градуси v] :: custom-motion) ▶
перейти до наступного рядка
обертати [ArmMotor v] [вгору v]
чекати [1] секунд
зупинити [ArmMotor v]
вивести [After: ] ▶
вивести (позиція [ArmMotor v] у [градуси v] :: custom-motion) ▶
швидкість двигуна#
Блок репортера швидкість двигуна повідомляє про швидкість обертання двигуна у відсотках від -100% до 100%.
Додатне значення означає, що двигун обертається вперед. Від’ємне значення означає, що двигун обертається назад.
(швидкість [ArmMotor v] у %)
Параметри |
Опис |
|---|---|
двигун |
Двигун, швидкість якого потрібно повідомити. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Display the ArmMotor's velocity when it moves.]
вивести [Resting: ] ▶
вивести (швидкість [ArmMotor v] у %) ▶
перейти до наступного рядка
обертати [ArmMotor v] [вгору v]
чекати [1] секунд
вивести [Moving: ] ▶
вивести (швидкість [ArmMotor v] у %) ▶
зупинити [ArmMotor v]
струм двигуна#
Блок репортера струму двигуна повідомляє, скільки енергії двигун використовує від акумулятора, у відсотках від 0% до 100%.
Вище значення струму означає, що двигун використовує більше потужності. Це може статися, коли двигун піднімає щось важке, штовхає об’єкт або намагається рухатися, коли він застряг.
(струм [ArmMotor v] у %)
Параметри |
Опис |
|---|---|
двигун |
Двигун, струм якого потрібно відобразити. Виберіть один із двигунів, налаштованих у вікні «Пристрої». |
Приклад
коли запущено :: hat events
[Build Used: Competition Advanced 2.0]
[Display the motor's current when it moves.]
вивести [Resting: ] ▶
вивести (струм [ArmMotor v] у %) ▶
перейти до наступного рядка
обертати [ArmMotor v] [вгору v]
чекати [1] секунд
вивести [Moving: ] ▶
вивести (струм [ArmMotor v] у %) ▶
зупинити [ArmMotor v]