Motor
Der Starte jedes mal-Block
Der Starte jedes mal-Block bietet die Möglichkeit ein Programm ablaufen zulassen, wenn eine Bedingung erfüllt ist. Er funktioniert also ähnlich wie eine Fallunterscheidung wird aber nicht nur einmal durchlaufen, sondern jedes mal, wenn die Bedingung erfüllt ist, während des gesamten Ablauf des Programms. Der Starte jedes mal-Block:
Ist eine Abkürzung für folgendes Konstrukt:
Man kann in den Starte jedes mal-Block der Kategorie Motor alle Bedingungen aus eben dieser Kategorie einsetzten.
Hinweis: Der Programmabschnitt innerhalb des Starte jedes mal-Block sollte kurz gehalten werden und keine blockierenden Aufrufe oder Endlosschleifen enthalten, so dass dieser Teil des Programms schnell abgearbeitet werden kann.
Motor
Das Symbol auf den Motorblöcken steht stellvertretend für alle Motoren, die nicht Encoder- oder Servomotoren sind.
Setzen
Mit den Block setze Motorgeschwindigkeit auf [] ... kann man die Geschwindigkeit eines Motors auf einen bestimmten Wert (von 0 bis 512) setzen. Über das Dropdown-Menü (kleines Dreieck) kann die Drehrichtung gewählt werden.
Abrufen
Mit dem Block hole Motorgeschwindigkeit lässt sich die Geschwindigkeit eines Motors abrufen und als Wert weiterverarbeiten.
Abfragen
Mit den Blöcken läuft Motor und ist Motorgeschwindigkeit ... kann man die Aktivität beziehungsweise die Geschwindigkeit eines Motor als Bedingung nutzen.
Stoppen
Mit dem Block stoppe Motor [] ist es möglich einen Motor zu stoppen. Dabei bietet der Block stoppe Motor [] die Optionen, einen Motor direkt oder auslaufend zu stoppen. Die gewünschte Option kann über das Dropdown-Menü (kleines Dreieck) ausgewählt werden:
Servomotor
Setzen
Mit den Block setze Position auf ... kann man die Position eines Servomotors auf einen bestimmten Wert (von 0-512) setzen. 0 und 512 sind die Werte für die maximale Auslenkung rechts und links. Bei dem Wert 256 steht der Servomotor dementsprechend in der Mitte.
Abrufen
Mit dem Block rufe Position ab lässt sich die Position eines Servomotors abrufen und als Wert weiterverarbeiten.
Encodermotor
Der Encodermotor hat die gleichen Funktionen wie ein normaler Motor, bietet aber zusätzlich die Möglichkeit, die Umdrehungen zu zählen und mehrere Motoren synchron anzusteuern. Eine Umdrehung wird dabei in ~64 Schritte unterteilt.
Setzen
Mit dem Block
kann man die Geschwindigkeit eines Motors auf einen bestimmten Wert (von 0-512) setzen. Über das Dropdown-Menü (kleines Dreieck) kann die Drehrichtung gewählt werden. Zusätzlich kann man die Anzahl an Schritten eingeben, die der Motor zurücklegen soll. In diesem Beispiel dreht sich der Motor 100 Schritte, also eine und eine drittel Umdrehungen. Wie am Bespiel zu sehen hat dieser Block ein Pluszeichen, mit Hilfe dessen sich mehrere Motoren synchron ansteuern lassen. Es ist möglich Motoren am Master oder an einer Extension zu synchronisieren, eine übergreifenden Synchronisierung bspw. zwischen Motoren des Master und einer Extension ist nicht möglich.
Hinweis: Schnell aufeinanderfolgende Synchronisierungsaufrufe, wie sie z.B. durch eine Schleife möglich sind (siehe Beispiel), können die Synchronität beeinträchtigen oder sogar komplett verhindern.
Stoppen
Mit dem Block stoppe Motor … stoppt man einen Motor. Möchte man mehrere Motoren gleichzeitig stoppen, kann man über das Plus links am Block bis zu drei weitere Motoren hinzufügen.
Abfragen
Der Block hat Position erreicht wird genutzt, um das Erreichen der Position als Bedingung zu nutzen. Mit Position ist hier die Endposition eines Encodermotors nach vollendeter Schrittweite gemeint.