Skip to main content
Portale insegnanti

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 è riportato il progetto di esempio Tank Drive di VEXcode V5. Il ciclo Forever in questo progetto controlla le posizioni degli assi 2 e 3 per sempre al fine di impostare la velocità dei motori.

// Include the V5 Library
#include "vex.h"

// Consente un utilizzo più semplice della libreria VEX
utilizzando lo spazio dei nomi vex;

int main() {
  // Initializing Robot Configuration. NON RIMUOVERE!
  vexcodeInit();
  // Inizio codice progetto.
  // Main Controller loop to set motors to controller axis posiions
  while (true) {
    LeftMotor.setVelocity (Controller1.Axis3.position (), percent);
    RightMotor.setVelocity (Controller1.Axis2.position (), percent);
    LeftMotor.spin (forward);
    RightMotor.spin (forward);

    wait(5, msec);
  }

  return 0;
}

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.

Ci sono quattro progetti di esempio: Left Arcade, Right Arcade, Split Arcade e Tank Drive.

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.