Cassetta degli attrezzi per insegnanti
- Schema
delle attività
-
Questa esplorazione introdurrà gli studenti alla programmazione di comportamenti ripetitivi utilizzando cicli ripetitivi o per sempre.
-
Imparare a programmare utilizzando loop ripetuti e per sempre consente agli studenti di risparmiare tempo durante la creazione di un progetto che utilizza le stesse azioni ripetute. Per ulteriori informazioni sulle istruzioni utilizzate in un progetto di testo, visita le informazioni di aiuto.
Il Clawbot V5 è pronto a muoversi!
Questa esplorazione ti fornirà gli strumenti per poter iniziare a creare alcuni progetti interessanti che utilizzano i loop.
-
Istruzioni VEXcode V5 che verranno utilizzate in questa esplorazione:
-
Drivetrain.driveFor(avanti, 300, mm);
-
Drivetrain.turnFor(destra, 90, gradi);
-
ClawMotor.spinFor(retromarcia, 70, gradi);
-
ArmMotor.spinFor(avanti, 360, gradi);
-
while (true) {}
-
ripeti (4) {}
-
wait(5, secondi);
-
Per accedere a ulteriori informazioni, fare clic con il pulsante destro del mouse sul nome di un comando nell'area di lavoro per visualizzare la Guida per tale comando.
Suggerimenti per l'insegnante
Se è la prima volta che lo studente utilizza VEXcode V5, può leggere una varietà di articoli nella VEX Library.
Suggerimenti per l'insegnante
-
Utilizzo del completamento automatico
Il completamento automatico è una funzionalità di VEXcode V5 che prevede il resto del comando che stai digitando. Mentre gli studenti lavorano in VEXcode V5, incoraggiali a utilizzare la funzione di completamento automatico per facilitare la sintassi.
Seleziona il tutorial Completamento automatico.
Assicurati di avere l'hardware necessario, il tuo quaderno di ingegneria e VEXcode V5 scaricati e pronti.
Quantità | Materiali necessari |
---|---|
1 |
Starter Kit VEX V5 Classroom (con firmware aggiornato) |
1 |
VEXcode V5 (ultima versione, Windows, macOS) |
1 |
Taccuino tecnico |
1 |
Progetto di esempio Clawbot Template (Drivetrain 2-motor, No Gyro) |
Passaggio 1: iniziamo a programmare con i loop
-
Prima di iniziare il progetto, seleziona il modello di progetto corretto. Il progetto di esempio Clawbot Template (Drivetrain 2-motor, No Gyro) contiene la configurazione del motore di Clawbot. Se il modello non viene utilizzato, il robot non eseguirà correttamente il progetto.
- Seleziona File e Apri esempi.
-
Scorri i diversi progetti di esempio. Questi progetti dimostrano una varietà di azioni che il tuo Clawbot può eseguire. Selezionare e aprire il progetto di esempio Clawbot Template (Drivetrain 2-motor, No Gyro).
-
Assegnare un nome al progetto RepeatingActions.
-
Digita il seguente codice:
int main() { // Inizializzazione della configurazione del robot. NON RIMUOVERE! vexcodeInit(); // Guida in avanti e gira di 90 gradi per 4 iterazioni repeat(4) {Drivetrain.driveFor (avanti, 300, mm) ; Drivetrain.turnFor (destra, 90, gradi); wait(5, secondi); } }
Esamina il progetto e poi fai quanto segue nel tuo quaderno di ingegneria.
-
Prevedi cosa farà il Clawbot nel progetto. Spiega più del fatto che il progetto si ripete.
Cosa si ripete? Cosa sta facendo il Clawbot?
- Scrivi la tua previsione, ma non dividere il breve progetto in più di due parti.
Teacher Toolbox
-
Risposte
-
Questo progetto avrà il robot: guidare in avanti per 300 millimetri , girare a destra di 90 gradi, quindi attendere 5 secondi 4 volte per completare un quadrato. Invece di utilizzare le stesse 3 istruzioni 4 volte, l' istruzione di ripetizione riduce la quantità a solo 1 volta. L' istruzione repeat ripete le azioni di avanzare e poi girare.
-
La previsione potrebbe essere semplicemente "Il Clawbot si muove in un quadrato". Questo sarebbe un modo succinto per catturare i movimenti ripetuti del Clawbot senza alcun contesto.
I quaderni di ingegneria degli studenti possono essere mantenuti e valutati individualmente o in gruppo. I link precedenti forniscono una pagella diversa per ogni approccio. Ogni volta che una rubrica è inclusa nella pianificazione educativa, è buona pratica spiegare la rubrica o almeno dare copie agli studenti prima dell'inizio dell'attività.
-
Salvare, scaricare ed eseguire il progetto Azioni ripetute.
- Controlla le spiegazioni del progetto nel tuo quaderno di ingegneria e aggiungi note per correggerle, se necessario.
Passaggio 2: Esegui il progetto e osserva il robot
Guarda di nuovo il progetto Azioni ripetute (a destra). Questo progetto ripeterà
l'avanzamento e poi ruoterà il comportamento quattro volte. Una struttura a ciclo "ripetuto"
viene utilizzata quando si desidera utilizzare un insieme di comportamenti un certo numero
di volte.
Se la struttura di ripetizione viene sostituita con una struttura ad anello
"while", il robot ripeterà i comportamenti in avanti e quindi ruoterà "while" la condizione
è vera. È inoltre possibile impostare la condizione su "true" per far sì che il ciclo
"while" continui per sempre.
Nel progetto a sinistra, l'ingresso di un sensore viene
utilizzato per determinare quando iniziare a girare. Il progetto a destra utilizza una
distanza fissa del Drivetrain per determinare quando iniziare a girare.
Al fine di
controllare continuamente l'ingresso di un sensore, un'istruzione "if/else" viene utilizzata
insieme a un ciclo "while". Nel progetto a sinistra, il robot girerà a destra quando viene
premuto il sensore "BumperB", altrimenti il robot avanzerà per sempre se il sensore
"BumperB" non viene premuto. Per controllare continuamente il valore del sensore BumperB,
l'istruzione "if" è all'interno di un ciclo "while true".
Il progetto di cui sopra a
sinistra è un caso d'uso pratico di una struttura che si ripete per sempre - usando i
cicli while e if insieme. Immagina una spazzatrice a guida autonoma che
continua a guidare in avanti fino a quando non si imbatte in un muro o in un oggetto, quindi
gira prima di continuare a guidare.
Estendi il tuo apprendimento
Per esplorare ulteriormente come utilizzare i loop con i condizionali, chiedi agli studenti di costruire un progetto Floor Sweeper in VEXcode V5.
- Iniziare facendo montare e cablare agli studenti gli interruttori del paraurti.
-
Chiedere agli studenti di aprire il progetto di esempio Clawbot Template (Drivetrain 2-motor, No Gyro).
-
Chiedi agli studenti di nominare il progetto come Spazzapavimenti.
-
Chiedi agli studenti di costruire il seguente progetto.
// Include the V5 Library #include "vex.h" // Consente un utilizzo più semplice della libreria VEX utilizzando lo spazio dei nomi vex; // La funzione pickRandom restituisce un numero intero casuale tra i valori min e // max passati come parametri. int pickRandom(int min, int max) { return min + rand() / (RAND_MAX / (max - min + 1)); } int main() { // Inizializzazione configurazione robot. NON RIMUOVERE! vexcodeInit(); //Inizializza il generatore di numeri casuali. srand(randomSeed); while (true) { while (!BumperB.pressing()) { Drivetrain.drive(forward); wait(5, msec); } Drivetrain.stop(); Drivetrain.turnFor((90 + pickRandom(0, 90)), degrees); wait(5, msec); } }
Se gli studenti hanno bisogno di aiuto con una qualsiasi delle istruzioni, fare
riferimento alle informazioni della Guida.
Chiedi agli studenti di scaricare ed eseguire il progetto per osservare come si
muove il robot. Quindi, inizia una discussione in classe e chiedi agli studenti di
spiegare perché è stata utilizzata la struttura Forever invece di
una struttura ripetuta.
Gli studenti dovrebbero notare che viene
utilizzata una struttura Forever perché questo progetto controlla
continuamente se viene premuto l'interruttore del paraurti.
Passaggio 3: Sfida Cicli Quadrati!
- Fai guidare il tuo Clawbot in una piazza.
- Prima di ogni giro, l'artiglio deve essere aperto e chiuso e il braccio deve essere sollevato e abbassato.
- Il Clawbot non può guidare lungo un lato della piazza più di una volta.
- È possibile utilizzare il progetto RepeatingActions dall'alto come punto di partenza, ma salvarlo come SquaredLoops prima di apportare modifiche.
Nel tuo quaderno di ingegneria, pianifica quanto segue:
- Pianifica la tua soluzione e prevedi cosa farà il Clawbot per ogni istruzione del tuo progetto.
- Scarica ed esegui il tuo progetto per testarlo prima di inviarlo.
- Apportare le modifiche necessarie al progetto e prendere appunti su ciò che è stato modificato durante il test.
Teacher Toolbox
-
Soluzione
Di seguito è riportata una potenziale soluzione alla Squared Loops Challenge:
int main() {
// Inizializzazione della configurazione del robot. NON RIMUOVERE!
vexcodeInit();
repeat(4){
Drivetrain.driveFor (forward, 300, mm);
ClawMotor.spinFor (reverse, 70, degrees);
ArmMotor.spinFor (forward, 360, degrees);
ClawMotor.spinFor (forward, 70, degrees);
ArmMotor.spinFor (reverse, 360, degrees);
Drivetrain.turnFor (right, 90, degrees);
wait(5, msec);
}
}
Puoi fornire agli studenti una rubrica di programmazione per valutare i
loro progetti. I quaderni di ingegneria degli
studenti possono essere mantenuti e
valutati individualmente o in gruppo.