Bewegung#

Einführung#

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.

Jeder Motor wird im Gerätefenster konfiguriert. Je nach Konfiguration können die Motornamen und Drehrichtungen variieren. Beispielsweise verfügt die Version Competition Advanced 2.0 über einen Motor namens ArmMotor mit den Drehrichtungen oben und unten. Ein benutzerdefinierter Roboter kann andere Motornamen oder Drehrichtungen verwenden.

Standardmäßig dreht sich ein Motor im Vorwärtsmodus gegen den Uhrzeigersinn und im Rückwärtsmodus im Uhrzeigersinn. Wenn im Gerätefenster die Drehrichtung eines Motors auf Umkehrung eingestellt ist, werden diese Richtungen vertauscht.

Ein VEX GO Motor, dessen Vorwärtsrichtung durch ein Pluszeichen und dessen Drehrichtung durch einen Pfeil nach links bzw. gegen den Uhrzeigersinn angezeigt wird. Ein VEX GO Motor, bei dem die umgekehrte Drehrichtung durch ein Minuszeichen und einen Pfeil angezeigt wird, der angibt, dass er sich nach rechts bzw. im Uhrzeigersinn dreht.

Es gibt viele Möglichkeiten, Motoren zu programmieren. Nachfolgend finden Sie eine Liste aller Bewegungsblöcke:

Aktionen – Motoren anhalten und drehen.

Einstellungen – Motoreinstellungen anpassen.

Werte – Motorstatus prüfen.

  • Motor ist fertig — Meldet, ob der Motor seine Bewegung beendet hat.

  • Motor dreht sich? — Meldet, ob sich der Motor dreht.

  • Motorposition — Gibt die aktuelle Position des Motors an.

  • Motorgeschwindigkeit — Gibt an, wie schnell sich der Motor dreht, als Prozentsatz von -100% bis 100%.

  • Motorstrom — Zeigt an, wie viel Leistung der Motor von der Batterie bezieht, als Prozentsatz von 0% bis 100%.

Aktionen#

Spinmotor#

Der Drehmotor-Stapelblock lässt einen Motor endlos vorwärts oder rückwärts laufen. Der Motor dreht sich so lange, bis er eine andere Aktion auslöst, z. B. in eine andere Richtung dreht oder anhält.

drehe [ArmMotor v] [hoch v]

Parameter

Beschreibung

Motor

Der zu drehende Motor. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Richtung

Die Drehrichtung des Motors. Standardmäßig stehen die Optionen vorwärts und rückwärts zur Verfügung. Die Drehrichtung kann je nach Motorkonfiguration variieren.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor, then stop.]
drehe [ArmMotor v] [hoch v]
warte [1] Sekunden
stoppe [ArmMotor v]

Spinmotor für#

Der Drehmotor für den Stapelblock lässt einen Motor eine bestimmte Strecke drehen. Die Drehung erfolgt relativ zur aktuellen Position des Motors. Das Projekt wartet, bis der Motor seine Drehung beendet hat, bevor der nächste Block im Stapel ausgeführt wird.

drehe [ArmMotor v] [hoch v] für [90] [Grad v] ▶

Parameter

Beschreibung

Motor

Der zu drehende Motor. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Richtung

Die Drehrichtung des Motors. Standardmäßig stehen die Optionen vorwärts und rückwärts zur Verfügung. Die Drehrichtung kann je nach Motorkonfiguration variieren.

Distanz

Die Strecke, die der Motor zurücklegt. Gradangaben werden als ganze Zahlen angegeben. Umdrehungen können als ganze Zahlen oder Dezimalzahlen angegeben werden.

Einheit

Die Entfernungseinheit: Grad oder Umdrehungen.

und warte nicht

Wählen Sie den Pfeil ( ▶ ), um den Block zu erweitern und und warten Sie nicht anzuzeigen, damit der nächste Block im Stapel sofort ausgeführt wird.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Raise and lower the ArmMotor.]
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ▶
warte [1] Sekunden
drehe [ArmMotor v] [runter v] für [180] [Grad v] ▶

Drehmotor in Position#

Der Drehmotor-Positionierungsblock dreht einen Motor in eine bestimmte Position.

Die Position eines Motors gibt an, wie weit er sich gedreht hat, gemessen in Grad oder Umdrehungen. Eine Umdrehung entspricht 360 Grad. Zu Beginn eines Projekts ist die Motorposition auf 0 Grad eingestellt. Die Motorposition kann auch mit dem Block Motorposition festlegen eingestellt werden.

Positionswerte sind absolut. Das bedeutet, dass die Drehrichtung von der aktuellen Position des Motors abhängt.

drehe [ArmMotor v] zu Position (90) [Grad v] ▶

Parameter

Beschreibung

Motor

Der zu drehende Motor. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Position

Der Positionswert, bis zu dem sich der Motor dreht. Grad werden als ganze Zahlen angegeben. Umdrehungen können als ganze Zahlen oder Dezimalzahlen angegeben werden.

Einheit

Die Positionseinheit: Grad oder Umdrehungen.

und warte nicht

Wählen Sie den Pfeil ( ▶ ), um den Block zu erweitern und und warten Sie nicht anzuzeigen, damit der nächste Block im Stapel sofort ausgeführt wird.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ▶
warte [1] Sekunden
drehe [ArmMotor v] zu Position [0] [Grad v] ▶

Motor stoppen#

Der Motorstopp-Block verhindert das Drehen eines Motors.

stoppe [ArmMotor v]

Parameter

Beschreibung

Motor

Der zu stoppende Motor. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor.]
drehe [ArmMotor v] [hoch v]
warte [1] Sekunden
stoppe [ArmMotor v]

Einstellungen#

Motorposition einstellen#

Die Position eines Motors gibt an, wie weit er sich gedreht hat, gemessen in Grad oder Umdrehungen. Eine Umdrehung entspricht 360 Grad. Der Block „Motorposition festlegen“ ändert die aktuelle Motorposition auf einen neuen Wert.

Hat sich ein Motor beispielsweise um 180 Grad gedreht, wird durch Einstellen der Position auf 0 Grad diese Position von 180 auf 0 Grad zurückgesetzt. Anschließend kann sich der Motor basierend auf diesem neuen Wert in verschiedene Positionen drehen.

setze [ArmMotor v] Position auf (0) [Grad v]

Parameter

Beschreibung

Motor

Der Motor, für den die Position festgelegt werden soll. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Position

Der für den Motor einzustellende Positionswert. Grad werden als ganze Zahlen angegeben. Umdrehungen können als ganze Zahlen oder Dezimalzahlen angegeben werden.

Einheit

Die Positionseinheit: Grad oder Umdrehungen.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
setze [ArmMotor v] Position auf [0] [Grad v]
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ▶
warte [1] Sekunden
drehe [ArmMotor v] zu Position [0] [Grad v] ▶

Motorgeschwindigkeit einstellen#

Der Motorgeschwindigkeit einstellen-Block legt fest, wie schnell sich ein Motor drehen soll. Ein höherer Prozentwert beschleunigt die Drehung, ein niedrigerer Prozentwert verlangsamt sie.

Jedes Projekt beginnt standardmäßig damit, dass jeder Motor mit 50 % Drehzahl läuft.

Hinweis: Eine höhere Drehzahl lässt den Motor schneller drehen, kann aber die Präzision verringern. Eine niedrigere Drehzahl lässt den Motor langsamer drehen, kann aber die Präzision erhöhen.

setze [ArmMotor v] Geschwindigkeit auf [50] %

Parameter

Beschreibung

Motor

Der Motor, für den die Drehzahl eingestellt werden soll. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Geschwindigkeit

Die Drehzahl, mit der die Maschine rotiert, von 0 % bis 100 %.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different velocities.]
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ▶
warte [1] Sekunden
[Move slow.]
setze [ArmMotor v] Geschwindigkeit auf [20] %
drehe [ArmMotor v] [runter v] für [180] [Grad v] ▶
warte [1] Sekunden
[Move fast.]
setze [ArmMotor v] Geschwindigkeit auf [100] %
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ▶

Motorstopp einstellen#

Der Motorstopp-Block legt fest, wie ein Motor zum Stillstand kommt: durch Bremsen, Auslaufen oder Halten.

setze [ArmMotor v] Stopp auf [Bremsen v]

Parameter

Beschreibung

Motor

Der Motor, für den das Stoppverhalten festgelegt werden soll. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Stoppverhalten

So stoppt der Motor:

  • Bremse – Stoppt sofort.
  • Ausrollen – Verlangsamt sich bis zum Stillstand.
  • Halten – Stoppt sofort und hält die Position des Motors.

Wird beispielsweise ein Competition Advanced 2.0-Build verwendet und der Armmotor auf „Halten“ eingestellt, hält der Motor den Arm in seiner aktuellen Position, bis eine weitere Armbewegung erfolgt. Das bedeutet, dass der Motor entgegen der Schwerkraft arbeitet, um den Arm in der Luft zu halten, falls er bei angehobenem Arm gestoppt wurde.

Wenn dieser Block nicht verwendet wird, betätigt der Motor beim Anhalten die Bremse.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor, then coast to a stop.]
setze [ArmMotor v] Geschwindigkeit auf [20] %
setze [ArmMotor v] Stopp auf [Auslaufen v]
drehe [ArmMotor v] [hoch v]
warte [1] Sekunden
stoppe [ArmMotor v]

Maximales Drehmoment des Motors einstellen#

Das Drehmoment ist eine Drehkraft. Es zeigt an, wie stark ein Motor beim Drehen drücken oder ziehen kann.

Der set motor max torque-Block legt das maximale Drehmoment fest, das ein Motor verwenden darf.

Ein höherer Prozentsatz ermöglicht es dem Motor, stärker zu drücken, beispielsweise beim Anheben eines schweren Gegenstands. Ein niedrigerer Prozentsatz begrenzt die maximale Schubkraft. Dies kann den Roboter schützen, falls der Motor blockiert oder seinen maximalen Bewegungsradius erreicht.

Jedes Projekt beginnt standardmäßig mit einem Drehmoment von 50 % für jeden Motor.

setze [ArmMotor v] Maximaldrehmoment auf (50) %

Parameter

Beschreibung

Motor

Der Motor, für den das maximale Drehmoment eingestellt werden soll. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Drehmoment

Das maximale Drehmoment, das der Motor von 0 % bis 100 % nutzen kann.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different torques.]
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ▶
warte [1] Sekunden
[Move with less torque.]
setze [ArmMotor v] Maximaldrehmoment auf [20] %
drehe [ArmMotor v] [runter v] für [180] [Grad v] ▶
warte [1] Sekunden
[Move with maximum torque.]
setze [ArmMotor v] Maximaldrehmoment auf [100] %
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ▶

Motor-Timeout einstellen#

Der Block „Motor-Timeout festlegen“ bestimmt, wie viele Sekunden ein Motor versucht, eine Bewegung abzuschließen. Gelingt ihm dies nicht, bricht er den Versuch ab und fährt mit dem nächsten Block im Stapel fort. Dadurch wird verhindert, dass der Motor bei einer Bewegung hängen bleibt.

setze [ArmMotor v] Zeitlimit auf (1) Sekunden

Parameter

Beschreibung

Motor

Der Motor, für den das Timeout festgelegt werden soll. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Zeit

Die Anzahl der Sekunden, die der Motor versuchen kann, eine Bewegung abzuschließen. Dies kann eine ganze Zahl oder eine Dezimalzahl sein.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Move ArmMotor as far as possible for 1 second before resetting.]
setze [ArmMotor v] Position auf [0] [Grad v]
setze [ArmMotor v] Zeitlimit auf [1] Sekunden
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ▶
drehe [ArmMotor v] zu Position [0] [Grad v] ▶

Werte#

Ist der Motor kaputt?#

Der boolesche Block Motor beendet meldet, ob der Motor seine Bewegung abgeschlossen hat. Dies kann genutzt werden, um den Zeitpunkt anderer Aktionen basierend auf der Motorbewegung zu steuern.

  • Wahr — Der Motor hat seine Bewegung beendet.

  • Falsch — Der Motor dreht sich noch.

Dieser Block arbeitet mit den folgenden Motion-Blöcken zusammen, die den Parameter und nicht warten haben: Motor drehen für und Motor drehen zu Position.

<[ArmMotor v] abgeschlossen?>

Parameter

Beschreibung

Motor

Der Motor soll melden, ob er seine Bewegung beendet hat. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ◀ und nicht warten
warte [0.1] Sekunden
für immer
wenn <[ArmMotor v] abgeschlossen?> dann
setze Augenlicht [aus v]
sonst
setze Augenlicht [ein v]

Der Motor dreht sich?#

Der boolesche Block dreht sich der Motor? gibt an, ob sich der Motor dreht. Dies kann genutzt werden, um den Zeitpunkt anderer Aktionen basierend auf der Motorbewegung zu steuern.

  • Wahr — Der Motor dreht sich.

  • Falsch — Der Motor dreht sich nicht.

Dieser Block arbeitet mit den folgenden Motion-Blöcken zusammen, die den Parameter und nicht warten haben: Motor drehen für und Motor drehen zu Position.

<[ArmMotor v] dreht?>

Parameter

Beschreibung

Motor

Der Motor, der melden soll, ob er sich dreht. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
drehe [ArmMotor v] [hoch v] für [180] [Grad v] ◀ und nicht warten
warte [0.1] Sekunden
für immer
wenn <[ArmMotor v] dreht?> dann
setze Augenlicht [ein v]
sonst
setze Augenlicht [aus v]

Motorposition#

Die Position eines Motors gibt an, wie weit er sich gedreht hat, gemessen in Grad oder Umdrehungen. Der Motorpositions-Reporterblock meldet die aktuelle Position des Motors.

Zu Beginn eines Projekts wird die Motorposition auf 0 Grad eingestellt. Dreht sich der Motor eine volle Umdrehung vorwärts, beträgt die Position 360 Grad bzw. eine Umdrehung. Dreht sich der Motor in die andere Richtung, ist die Position negativ.

([ArmMotor v] Position in [Grad v] :: custom-motion)

Parameter

Beschreibung

Motor

Der Motor, dessen Position gemeldet werden soll. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Einheit

Die Einheit, in der die Motorposition angegeben werden soll: Grad oder Umdrehungen.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Display how far the ArmMotor moves after one second.]
setze [ArmMotor v] Position auf [0] [Grad v]
drucke [Start: ] ▶
drucke ([ArmMotor v] Position in [Grad v] :: custom-motion) ▶
setze Cursor in nächste Zeile
drehe [ArmMotor v] [hoch v]
warte [1] Sekunden
stoppe [ArmMotor v]
drucke [After: ] ▶
drucke ([ArmMotor v] Position in [Grad v] :: custom-motion) ▶

Motorgeschwindigkeit#

Der Motorgeschwindigkeits-Reporterblock gibt an, wie schnell sich der Motor dreht, und zwar als Prozentsatz von -100% bis 100%.

Ein positiver Wert bedeutet, dass sich der Motor vorwärts dreht. Ein negativer Wert bedeutet, dass sich der Motor rückwärts dreht.

([ArmMotor v] Geschwindigkeit in %)

Parameter

Beschreibung

Motor

Der Motor, dessen Drehzahl gemeldet werden soll. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Display the ArmMotor's velocity when it moves.]
drucke [Resting: ] ▶
drucke ([ArmMotor v] Geschwindigkeit in %) ▶
setze Cursor in nächste Zeile
drehe [ArmMotor v] [hoch v]
warte [1] Sekunden
drucke [Moving: ] ▶
drucke ([ArmMotor v] Geschwindigkeit in %) ▶
stoppe [ArmMotor v]

Motorstrom#

Der Motorstrom-Reporterblock meldet, wie viel Leistung der Motor von der Batterie bezieht, als Prozentsatz von 0 % bis 100 %.

Ein höherer Stromwert bedeutet, dass der Motor mehr Energie verbraucht. Dies kann vorkommen, wenn der Motor etwas Schweres anhebt, gegen ein Hindernis drückt oder versucht, sich aus einer Blockade zu bewegen.

([ArmMotor v] Strom in %)

Parameter

Beschreibung

Motor

Der Motor, dessen Stromstärke gemessen werden soll. Wählen Sie einen der im Gerätefenster konfigurierten Motoren aus.

Beispiel

wenn gestartet :: hat events
[Build Used: Competition Advanced 2.0]
[Display the motor's current when it moves.]
drucke [Resting: ] ▶
drucke ([ArmMotor v] Strom in %) ▶
setze Cursor in nächste Zeile
drehe [ArmMotor v] [hoch v]
warte [1] Sekunden
drucke [Moving: ] ▶
drucke ([ArmMotor v] Strom in %) ▶
stoppe [ArmMotor v]