Skip to main content

Controller e loop

Nelle competizioni, le squadre devono manipolare i loro robot in modalità wireless con i controller. Il controller è programmato per aggiornare il robot in base all'input dell'utente. I loop vengono utilizzati nel progetto in modo che il robot controlli ripetutamente le informazioni di input aggiornate. I loop consentono al progetto di controllare rapidamente quali pulsanti sono stati premuti o fino a che punto sono stati premuti i joystick. Una volta verificate, queste informazioni vengono rapidamente trasmesse al robot in modo che risponda rapidamente alle istruzioni del controller.

Di seguito viene illustrato il progetto di esempio Tank Control di VEXcode V5. Il ciclo while True infinite in questo progetto controlla le posizioni degli assi 2 e 3 per sempre al fine di impostare la velocità dei motori.

# Importazioni di librerie
dall'importazione VEX *

# Iniziare il codice del progetto
# Loop del controller principale per impostare i motori sulle posizioni dell'asse del
    controller
mentre 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)

I loop sono importanti anche per la programmazione autonoma senza controller. Un ciclo aiuta a semplificare e organizzare i comandi ripetuti all'interno di un progetto.

Icona Estendi il tuo apprendimento Estendi il tuo apprendimento

Per espandere questa attività, chiedi ai tuoi studenti di esplorare le differenze tra il controllo arcade e il controllo del carro armato. Gli studenti possono seguire i progetti di esempio presenti in VEXcode V5.Immagine del menu file aperto in VEXcode V5 con Esempi di apertura evidenziati

Ci sono quattro progetti di esempio: Left Arcade, Right Arcade, Split Arcade e Tank Control. Immagine del menù esemplificativo di progetto con evidenziati i suddetti progetti

Discutere come funzionano i loop all'interno dei programmi, nonché i pro e i contro di ciascun tipo di controllo.

Per correlare questa attività alla matematica, utilizzare la galleria sinistra/destra (un joystick) e dividere i progetti arcade/serbatoio (entrambi i joystick) sopra per discutere i ruoli degli assi X e Y all'interno del progetto.