Beweging#
Invoering#
Motors control how parts of a robot move. Motors can be used to raise an arm, turn a claw, spin a wheel, or move another part of a build. Two motors can work together as a drivetrain to move and turn the whole robot.
Elke motor wordt geconfigureerd in het venster Apparaten. Afhankelijk van de configuratie kunnen de namen van de motoren en de draairichtingen variëren. De Competition Advanced 2.0-configuratie heeft bijvoorbeeld een motor met de naam ArmMotor, met de draairichtingen omhoog en omlaag. Een aangepaste robot kan andere motornamen of draairichtingen gebruiken.
Standaard draait een motor vooruit tegen de klok in en een motor achteruit met de klok mee. Als een motor in het venster Apparaten is ingesteld op achteruit draaien, worden deze draairichtingen omgewisseld.
Er zijn veel manieren om motoren te programmeren. Hieronder vindt u een lijst met alle Motion-blokken:
Handelingen — Motoren stoppen en laten draaien.
motor laten draaien — Laat een motor oneindig lang vooruit of achteruit draaien.
motor laten draaien voor — Laat een motor een bepaalde afstand draaien.
motor naar positie draaien — Draait een motor naar een specifieke positie.
motor stoppen — Stopt een motor met draaien.
Instellingen — Pas de motorinstellingen aan.
motorpositie instellen — Wijzigt de huidige positie van de motor naar een nieuwe waarde.
motorsnelheid instellen — Vertelt een motor hoe snel hij moet draaien.
set motor stopping — Stelt in hoe een motor stopt met bewegen: door te remmen, uit te rollen of vast te houden.
maximaal koppel van de motor instellen — Stelt in hoe hard een motor mag duwen tijdens het draaien.
set motor timeout — Stelt in hoeveel seconden een motor zal proberen een beweging te voltooien.
Waarden — Controleer de motorstatus.
motor is klaar — Rapporteert of de motor klaar is met bewegen.
draait de motor? — Geeft aan of de motor draait.
motorpositie — Geeft de huidige positie van de motor weer.
motorsnelheid — Geeft aan hoe snel de motor draait, als een percentage van -100% tot 100%.
motorstroom — Geeft aan hoeveel stroom de motor uit de batterij verbruikt, als een percentage van 0% tot 100%.
Acties#
draaimotor#
Het spinmotor-stapelblok laat een motor oneindig vooruit of achteruit draaien. De motor blijft draaien totdat er een andere actie wordt ondernomen, zoals in een andere richting draaien of stoppen.
draai [ArmMotor v] [omhoog v]
Parameters |
Beschrijving |
|---|---|
motor |
De motor moet gaan draaien. Kies een motor uit de motoren die zijn geconfigureerd in het venster Apparaten. |
richting |
De draairichting van de motor. Standaard zijn de opties vooruit en achteruit. De keuzemogelijkheden kunnen variëren afhankelijk van de configuratie van de motor. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor, then stop.]
draai [ArmMotor v] [omhoog v]
wacht [1] seconden
stop [ArmMotor v]
draaimotor voor#
De draaimotor voor het stapelblok laat een motor een bepaalde afstand draaien. De draaiing is relatief ten opzichte van de huidige positie van de motor. Het project wacht totdat de motor is uitgedraaid voordat het volgende blok in de stapel wordt uitgevoerd.
draai [ArmMotor v] [omhoog v] voor [90] [graden v] ▶
Parameters |
Beschrijving |
|---|---|
motor |
De motor moet gaan draaien. Kies een motor uit de motoren die zijn geconfigureerd in het venster Apparaten. |
richting |
De draairichting van de motor. Standaard zijn de opties vooruit en achteruit. De keuzemogelijkheden kunnen variëren afhankelijk van de configuratie van de motor. |
afstand |
De afstand die de motor aflegt. Graden worden uitgedrukt in gehele getallen. Omwentelingen kunnen worden uitgedrukt in gehele getallen of decimalen. |
eenheid |
De afstandseenheid: graden of omwentelingen. |
en wacht niet |
Selecteer de pijl ( ▶ ) om het blok uit te breiden naar en niet te wachten, zodat het volgende blok in de stapel direct wordt uitgevoerd. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Raise and lower the ArmMotor.]
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ▶
wacht [1] seconden
draai [ArmMotor v] [omlaag v] voor [180] [graden v] ▶
draai de motor naar de juiste positie.#
Het stapelblok motor naar positie draaien draait een motor naar een specifieke positie.
De positie van een motor geeft aan hoeveel graden deze heeft gedraaid, gemeten in graden of omwentelingen. Eén omwenteling is gelijk aan 360 graden. Aan het begin van een project wordt de motorpositie ingesteld op 0 graden. De motorpositie kan ook worden ingesteld met behulp van het blok set motor position.
Positiewaarden zijn absoluut. Dit betekent dat de draairichting afhangt van de huidige positie van de motor.
draai [ArmMotor v] naar positie (90) [graden v] ▶
Parameters |
Beschrijving |
|---|---|
motor |
De motor moet gaan draaien. Kies een motor uit de motoren die zijn geconfigureerd in het venster Apparaten. |
positie |
De positiewaarde waarnaar de motor zal draaien. Graden worden weergegeven met gehele getallen. Omwentelingen kunnen met gehele getallen of decimalen worden weergegeven. |
eenheid |
De positie-eenheid: graden of omwentelingen. |
en wacht niet |
Selecteer de pijl ( ▶ ) om het blok uit te breiden naar en niet te wachten, zodat het volgende blok in de stapel direct wordt uitgevoerd. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ▶
wacht [1] seconden
draai [ArmMotor v] naar positie [0] [graden v] ▶
stop motor#
Het stop motor-blok zorgt ervoor dat een motor stopt met draaien.
stop [ArmMotor v]
Parameters |
Beschrijving |
|---|---|
motor |
De motor stoppen. Kies een motor uit de motoren die zijn geconfigureerd in het venster Apparaten. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor.]
draai [ArmMotor v] [omhoog v]
wacht [1] seconden
stop [ArmMotor v]
Instellingen#
stel de motorpositie in#
De positie van een motor geeft aan hoeveel graden of omwentelingen deze heeft gemaakt. Eén omwenteling is gelijk aan 360 graden. Het stackblok motorpositie instellen wijzigt de huidige positie van de motor naar een nieuwe waarde.
Als een motor bijvoorbeeld 180 graden heeft gedraaid, zal het instellen van de positie op 0 graden die positie resetten van 180 naar 0 graden. Vervolgens kan de motor naar posities draaien op basis van die nieuwe waarde.
stel [ArmMotor v] positie in op (0) [graden v]
Parameters |
Beschrijving |
|---|---|
motor |
De motor waarmee de positie moet worden ingesteld. Kies uit de motoren die zijn geconfigureerd in het venster Apparaten. |
positie |
De positiewaarde die voor de motor moet worden ingesteld. Graden worden met gehele getallen weergegeven. Omwentelingen kunnen met gehele getallen of decimalen worden weergegeven. |
eenheid |
De positie-eenheid: graden of omwentelingen. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
stel [ArmMotor v] positie in op [0] [graden v]
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ▶
wacht [1] seconden
draai [ArmMotor v] naar positie [0] [graden v] ▶
stel de motorsnelheid in#
Het stackblok set motor velocity geeft een motor de gewenste draaisnelheid. Een hoger percentage zorgt ervoor dat de motor sneller draait en een lager percentage zorgt ervoor dat de motor langzamer draait.
Elk project begint standaard met elke motor op 50% snelheid.
Let op: Een hogere snelheid zorgt ervoor dat de motor sneller draait, maar de precisie kan lager zijn. Een lagere snelheid zorgt ervoor dat de motor langzamer draait, maar de precisie kan hoger zijn.
stel [ArmMotor v] snelheid in op [50] %
Parameters |
Beschrijving |
|---|---|
motor |
De motor waarvoor de snelheid moet worden ingesteld. Kies uit de motoren die zijn geconfigureerd in het venster Apparaten. |
snelheid |
De rotatiesnelheid varieert van 0% tot 100%. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different velocities.]
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ▶
wacht [1] seconden
[Move slow.]
stel [ArmMotor v] snelheid in op [20] %
draai [ArmMotor v] [omlaag v] voor [180] [graden v] ▶
wacht [1] seconden
[Move fast.]
stel [ArmMotor v] snelheid in op [100] %
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ▶
stel de motor in op stoppen#
Het stackblok set motor stopping bepaalt hoe een motor stopt met bewegen: door te remmen, uit te rollen of stil te staan.
stel [ArmMotor v] stoppen in op [rem v]
Parameters |
Beschrijving |
|---|---|
motor |
De motor waarvoor het stopgedrag moet worden ingesteld. Kies uit de motoren die zijn geconfigureerd in het venster Apparaten. |
stoppend gedrag |
Hoe de motor stopt:
|
Als bijvoorbeeld een Competition Advanced 2.0-build wordt gebruikt en ArmMotor is ingesteld op ‘hold’, houdt de motor de arm in de huidige positie totdat er een nieuwe armbeweging plaatsvindt. Dit betekent dat de motor tegen de zwaartekracht in werkt om de arm in de lucht te houden als de motor is gestopt terwijl de arm omhoog was.
Als dit blok niet wordt gebruikt, zal de motor de rem gebruiken bij het stoppen.
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor, then coast to a stop.]
stel [ArmMotor v] snelheid in op [20] %
stel [ArmMotor v] stoppen in op [vrijlopen v]
draai [ArmMotor v] [omhoog v]
wacht [1] seconden
stop [ArmMotor v]
stel het maximale koppel van de motor in#
Koppel is een draaiende kracht. Het geeft aan hoe hard een motor kan duwen of trekken wanneer hij draait.
Het stackblok set motor max torque stelt het maximale koppel in dat een motor mag gebruiken.
Een hoger percentage zorgt ervoor dat de motor harder kan duwen, bijvoorbeeld bij het tillen van een zwaar voorwerp. Een lager percentage beperkt de maximale duwkracht van de motor. Dit kan de robot beschermen als de motor vastloopt of de maximale bewegingsafstand bereikt.
Elk project begint standaard met het koppel van elke motor op 50%.
stel [ArmMotor v] maximumkoppel in op (50) %
Parameters |
Beschrijving |
|---|---|
motor |
De motor waarvoor u het maximale koppel wilt instellen. Kies uit de motoren die zijn geconfigureerd in het venster Apparaten. |
koppel |
Het maximale koppel dat de motor kan gebruiken, van 0% tot 100%. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different torques.]
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ▶
wacht [1] seconden
[Move with less torque.]
stel [ArmMotor v] maximumkoppel in op [20] %
draai [ArmMotor v] [omlaag v] voor [180] [graden v] ▶
wacht [1] seconden
[Move with maximum torque.]
stel [ArmMotor v] maximumkoppel in op [100] %
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ▶
stel de time-out van de motor in#
Het stackblok set motor timeout bepaalt hoeveel seconden een motor de tijd krijgt om een beweging te voltooien. Als de motor de beweging niet binnen die tijd kan voltooien, stopt hij met proberen en gaat hij verder met het volgende blok in de stack. Dit voorkomt dat de motor vastloopt tijdens een beweging.
stel [ArmMotor v] timeout in op (1) seconden
Parameters |
Beschrijving |
|---|---|
motor |
De motor waarvoor u de time-out wilt instellen. Kies uit de motoren die zijn geconfigureerd in het venster Apparaten. |
tijd |
Het aantal seconden dat de motor kan proberen een beweging te voltooien. Dit kan een geheel getal of een decimaal getal zijn. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Move ArmMotor as far as possible for 1 second before resetting.]
stel [ArmMotor v] positie in op [0] [graden v]
stel [ArmMotor v] timeout in op [1] seconden
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ▶
draai [ArmMotor v] naar positie [0] [graden v] ▶
Waarden#
Is de motor kapot?#
Het Booleaanse blok motor is klaar geeft aan of de motor klaar is met bewegen. Dit kan worden gebruikt om de timing van andere acties te regelen op basis van de beweging van de motor.
Klopt — De motor is gestopt met bewegen.
Onjuist — De motor draait nog steeds.
Dit blok werkt samen met de volgende bewegingsblokken die de parameter en niet wachten hebben: motor laten draaien voor en motor laten draaien naar positie.
<[ArmMotor v] klaar?>
Parameters |
Beschrijving |
|---|---|
motor |
De motor geeft aan of de beweging is voltooid. Kies een motor uit de motoren die zijn geconfigureerd in het venster Apparaten. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ◀ en niet wachten
wacht [0.1] seconden
altijd
als <[ArmMotor v] klaar?> dan
stel oogsensor licht [uit v] in
anders
stel oogsensor licht [aan v] in
Draait de motor?#
Het Booleaanse blok Draait de motor? geeft aan of de motor draait. Dit kan worden gebruikt om de timing van andere acties te regelen op basis van de beweging van de motor.
Klopt — De motor draait.
Onjuist — De motor draait niet.
Dit blok werkt samen met de volgende bewegingsblokken die de parameter en niet wachten hebben: motor laten draaien voor en motor laten draaien naar positie.
<[ArmMotor v] draait?>
Parameters |
Beschrijving |
|---|---|
motor |
De motor moet aangeven of hij draait. Kies een motor uit de motoren die zijn geconfigureerd in het venster Apparaten. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
draai [ArmMotor v] [omhoog v] voor [180] [graden v] ◀ en niet wachten
wacht [0.1] seconden
altijd
als <[ArmMotor v] draait?> dan
stel oogsensor licht [aan v] in
anders
stel oogsensor licht [uit v] in
motorpositie#
De positie van een motor geeft aan hoeveel graden of omwentelingen deze heeft gemaakt. Het motorpositie-rapportblok geeft de huidige positie van de motor weer.
Aan het begin van een project wordt de motorpositie ingesteld op 0 graden. Als de motor één volledige omwenteling vooruit draait, is de positie 360 graden, oftewel 1 omwenteling. Als de motor de andere kant op draait, is de positie negatief.
([ArmMotor v] positie in [graden v] :: custom-motion)
Parameters |
Beschrijving |
|---|---|
motor |
De motor waarvan de positie moet worden gerapporteerd. Kies uit de motoren die zijn geconfigureerd in het venster Apparaten. |
eenheid |
De eenheid waarin de motorpositie wordt weergegeven: graden of omwentelingen. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Display how far the ArmMotor moves after one second.]
stel [ArmMotor v] positie in op [0] [graden v]
druk [Start: ] af ▶
druk ([ArmMotor v] positie in [graden v] :: custom-motion) af ▶
cursor naar volgende rij
draai [ArmMotor v] [omhoog v]
wacht [1] seconden
stop [ArmMotor v]
druk [After: ] af ▶
druk ([ArmMotor v] positie in [graden v] :: custom-motion) af ▶
motorsnelheid#
Het motorsnelheid-rapportageblok geeft aan hoe snel de motor draait, als een percentage van -100% tot 100%.
Een positieve waarde betekent dat de motor vooruit draait. Een negatieve waarde betekent dat de motor achteruit draait.
([ArmMotor v] snelheid in %)
Parameters |
Beschrijving |
|---|---|
motor |
De motor waarvan de snelheid moet worden gerapporteerd. Kies uit de motoren die zijn geconfigureerd in het venster Apparaten. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Display the ArmMotor's velocity when it moves.]
druk [Resting: ] af ▶
druk ([ArmMotor v] snelheid in %) af ▶
cursor naar volgende rij
draai [ArmMotor v] [omhoog v]
wacht [1] seconden
druk [Moving: ] af ▶
druk ([ArmMotor v] snelheid in %) af ▶
stop [ArmMotor v]
motorstroom#
Het motorstroom-rapportblok geeft aan hoeveel stroom de motor uit de batterij verbruikt, als een percentage van 0% tot 100%.
Een hogere stroomsterkte betekent dat de motor meer vermogen verbruikt. Dit kan gebeuren wanneer de motor iets zwaars optilt, tegen een object duwt of probeert te bewegen terwijl hij vastzit.
([ArmMotor v] stroom in %)
Parameters |
Beschrijving |
|---|---|
motor |
De motor waarvan de stroomsterkte moet worden gerapporteerd. Kies uit de motoren die zijn geconfigureerd in het venster Apparaten. |
Voorbeeld
wanneer gestart :: hat events
[Build Used: Competition Advanced 2.0]
[Display the motor's current when it moves.]
druk [Resting: ] af ▶
druk ([ArmMotor v] stroom in %) af ▶
cursor naar volgende rij
draai [ArmMotor v] [omhoog v]
wacht [1] seconden
druk [Moving: ] af ▶
druk ([ArmMotor v] stroom in %) af ▶
stop [ArmMotor v]