Hajtáslánc#

Bevezetés#

A 123-as robot kétkerekű hajtáslánccal rendelkezik, amely lehetővé teszi a haladást és a fordulást. A hajtáslánc-módszerek szabályozzák a robot mozgását.

A hajtáslánc kétféleképpen tudja mérni a távolságot: lépésekben és mm-ben (milliméterben). Egy lépés egy négyzet egy 123-as mezőn.

A hajtáslánc kódolásának számos módja van. Az alábbiakban felsoroljuk az összes hajtáslánc metódust:

Műveletek — A robot mozgatása és forgatása.

  • drive — A robotot előre vagy hátra mozgatja örökké.

  • drive_for — Meghatározott távolságra mozgatja a robotot előre vagy hátra.

  • drive_until — Előre vagy hátra mozgatja a robotot, amíg tárgyat, ütközést vagy vonalat nem érzékel.

  • turn — Örökké balra vagy jobbra forgatja a robotot.

  • turn_for — Meghatározott fokkal balra vagy jobbra forgatja a robotot.

  • turn_to_heading — A robotot egy adott irányba fordítja -359 és 359 fok között.

  • stop — Leállítja a robot mozgását.

Mutátorok – Hajtáslánc-beállítások módosítása.

  • set_timeout — Beállítja, hogy a robot mennyi ideig próbálja befejezni a mozgást.

  • set_heading — A robot aktuális irányát egy új irányra módosítja.

Getterek – Mozgás állapotának ellenőrzése.

  • is_stopped — Logikai értékként adja vissza, hogy a robot mozgása leállt-e.

  • get_heading — Visszaadja a robot aktuális irányát 0 és 359 fok között.

Műveletek#

drive#

drive A robotot a végtelenségig előre vagy hátra mozgatja. A robot addig fog mozogni, amíg egy másik műveletet nem kap, például fordulást vagy megállást.

Usage:
robot.drive(direction)

Paraméterek

Leírás

direction

A robot mozgásiránya: FORWARD vagy REVERSE.

# Drive for 2 seconds.
robot.drive(FORWARD)
wait(2, SECONDS)
robot.stop()

drive_for#

drive_for paraméterrel a robot előre vagy hátra mozgatható egy adott távolságra. A projekt megvárja, amíg a robot befejezi a mozgást, mielőtt a következő kódsort futtatná.

Usage:
robot.drive_for(direction, distance, unit)

Paraméterek

Leírás

direction

A robot mozgásiránya: FORWARD vagy REVERSE.

distance

A robot által megtett távolság. Ez lehet egész vagy tizedes szám.

unit

A távolság mértékegysége: MM (milliméter) vagy STEPS (egy négyzet egy 123-as mezőn).

# Drive back and forth.
robot.drive_for(FORWARD, 3, STEPS)
robot.drive_for(REVERSE, 3, STEPS)

drive_until#

drive_until A robotot előre vagy hátra mozgatja, amíg tárgyat, ütközést vagy vonalat nem érzékel.

Usage:
robot.drive_until(direction)

Paraméterek

Leírás

direction

A robot mozgásiránya: FORWARD vagy REVERSE.

# Reverse after a crash.
robot.drive_until(FORWARD)
robot.drive_for(REVERSE, 1, STEPS)

turn#

turn : A robotot balra vagy jobbra forgatja örökre. A robot addig fog forogni, amíg egy másik műveletet nem kap, például vezetést vagy megállást.

Usage:
robot.turn(direction)

Paraméterek

Leírás

direction

A robot fordulási iránya: LEFT vagy RIGHT.

# Turn for 2 seconds.
robot.turn(RIGHT)
wait(2, SECONDS)
robot.stop()

turn_for#

turn_for paraméterrel a robot balra vagy jobbra forgatható egy megadott fokkal. A projekt megvárja, amíg a robot befejezi a fordulást, mielőtt a következő kódsort futtatná.

Usage:
robot.turn_for(direction, degrees)

Paraméterek

Leírás

direction

A robot fordulási iránya: LEFT vagy RIGHT.

degrees

A fordulandó fokok száma. Ez lehet egész szám vagy tizedes szám.

# Turn left, then turn around to the right.
robot.turn_for(LEFT, 90)
robot.turn_for(RIGHT, 180)

turn_to_heading#

turn_to_heading A robotot egy adott irányba fordítja -359 és 359 fok között. A robot a legrövidebb irányba fordul, hogy elérje a célirányt.

A kezdő irány 0 fok.

A projekt megvárja, amíg a robot befejezi a forgást, mielőtt a következő kódsort futtatná.

Usage:
robot.turn_to_heading(heading)

Paraméterek

Leírás

heading

A robot iránya, amellyel szembe kell néznie, -359 és 359 fok között.

# Turn to face the cardinal directions.
robot.turn_to_heading(90)
wait(2, SECONDS)
robot.turn_to_heading(180)
wait(2, SECONDS)
robot.turn_to_heading(270)
wait(2, SECONDS)
robot.turn_to_heading(0)
wait(2, SECONDS)

stop#

stop leállítja a robot mozgását.

Usage:
robot.stop()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# Stop driving after 4 seconds.
robot.drive(FORWARD)
wait(4, SECONDS)
robot.stop()

Mutátorok#

set_timeout#

set_timeout beállítja, hogy a robot hány másodpercig próbáljon meg befejezni egy mozgást. Ha a robot nem tudja befejezni ennyi idő alatt, akkor abbahagyja a próbálkozást, és továbblép a kód következő sorára. Ez megakadályozza, hogy a robot elakadjon egy mozgásnál.

Usage:
robot.set_timeout(time, unit)

Paraméterek

Leírás

time

A mozgáshoz szükséges idő. Ez lehet egész vagy tizedes tört.

unit

Az időegység: MSEC vagy SECONDS.

# Turn right after driving for 1 second.
robot.set_timeout(1, SECONDS)
robot.drive_for(FORWARD, 1000, MM)
robot.turn_for(RIGHT, 90)

set_heading#

set_heading a robot aktuális irányát egy új irányértékre módosítja.

Például, ha a robot jobbra fordult, és a haladási irány 0 fokra állítása a jobbra néző pozíciót teszi az új 0 fokossá.

Usage:
robot.set_heading(heading)

Paraméterek

Leírás

heading

A robot számára beállítandó irányérték fokban.

# Face the new 0 degree heading.
robot.set_heading(90)
robot.turn_to_heading(0)

Getterek#

is_stopped#

is_stopped egy Boolean értéket ad vissza, amely jelzi, hogy a robot mozgása leállt-e.

  • True — A robot leállt.

  • False — A robot még mindig mozog.

Usage:
robot.is_stopped()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# Glow blue after a crash.
robot.drive_until(FORWARD)
while True:
    if robot.is_stopped():
        robot.led.glow(BLUE)
    else:
        robot.led.glow(GREEN)
    wait(0.05, SECONDS)

get_heading#

get_heading Visszaadja a robot aktuális szögirányát egész számként 0 és 359 fok között.

A robot kezdő iránya 0 fok.

Usage:
robot.get_heading()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# Display the heading after turning.
robot.turn_for(RIGHT, 450)
console.print(robot.get_heading())