Skip to main content

Kontrolery a smyčky - Python

Kontroléry a smyčky

V soutěžích musí týmy ovládat své roboty bezdrátově pomocí ovladačů. Řídicí jednotka je naprogramována tak, aby aktualizovala robota na základě vstupů od uživatele. V projektu se používají smyčky, aby robot opakovaně kontroloval aktualizované vstupní informace. Smyčky umožňují projektu rychle zkontrolovat, která tlačítka byla stisknuta nebo jak daleko byly joysticky posunuty. Jakmile je tato informace zkontrolována, je rychle předána robotovi, aby rychle reagoval na pokyny řídicí jednotky.

Následující obrázek ukazuje příklad projektu Tank Control z VEXcode V5. Nekonečná smyčka while Truev tomto projektu neustále kontroluje polohy os 2 a 3, aby nastavila rychlost motorů.

# Knihovna importuje
z vex import *

# Začátek projektového kódu
# Hlavní smyčka regulátoru pro nastavení motorů na pozice os regulátoru
while True:
    left_motor.set_velocity(controller_1.axis3.position(), PERCENT)
    right_motor.set_velocity(controller_1.axis2.position(), PERCENT)
    left_motor.spin(FORWARD)
    right_motor.spin(FORWARD)
    wait(5, MSEC)

Smyčky jsou důležité i pro autonomní programování bez regulátoru. Smyčka pomáhá zjednodušit a uspořádat opakované příkazy v rámci projektu.

Ikona Rozšiřte si učení Rozšiřte si své znalosti

Pro rozšíření této aktivity požádejte studenty, aby prozkoumali rozdíly mezi ovládáním v arkádách a ovládáním tanku. Studenti mohou sledovat vzorové projekty uvedené ve VEXcode V5.Obrázek otevřené nabídky souboru ve VEXcode V5 se zvýrazněnou položkou Otevřít příklady

Existují čtyři příkladné projekty: Levá pasáž, Pravá pasáž, Rozdělená pasáž a Ovládání tanků.Obrázek ukázkové nabídky projektu se zvýrazněnými výše uvedenými projekty

Diskutujte o tom, jak fungují smyčky v programech, a také o výhodách a nevýhodách každého typu ovládání.

Chcete-li tuto aktivitu propojit s matematikou, použijte výše uvedené projekty levá/pravá arkáda (jeden joystick) a rozdělený pohon arkády/tanku (oba joysticky) k diskusi o rolích os X a Y v rámci projektu.