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 Python VEXcode V5 che verranno utilizzate in questa esplorazione:
- drivetrain.drive_for(AVANTI, 300, MM)
- drivetrain.turn_for(DESTRA, 90, GRADI)
- claw_motor.spin_for(RETROMARCIA, 70, GRADI)
- braccio_motore.spin_for(AVANTI, 360, GRADI)
- bumper_b.pressing()
- mentre True:
- for repeat_count in range(4):
- wait(5, SECONDS)
È possibile utilizzare le informazioni della Guida all'interno di VEXcode V5 per conoscere i singoli comandi Python.
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 aiutare con la sintassi Python. È possibile notare una funzione di completamento automatico quando si inizia a digitare l'istruzione. Utilizzare i tasti "Su" e "Giù" per selezionare il nome desiderato, quindi premere "Tab" o (Invio/Invio) sulla tastiera per effettuare la selezione. Per ulteriori informazioni sull'utilizzo del completamento automatico, consulta l'articolo Python.
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:
# Importazioni libreria da importazione Vex * # Inizia codice progetto # Spinge in avanti di 300mm gira di 90 gradi per 4 iterazioni per repeat_count nell'intervallo(4) : drivetrain.drive_for (FORWARD, 300, MM ) drivetrain.turn_for (RIGHT, 90, DEGREES) wait(5, SECONDS)
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 (il secondo progetto). Questo progetto ripeterà l'avanzamento e poi ruoterà il comportamento quattro volte. Una struttura a ciclo "ripetuto" (utilizzando un ciclo for) 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 a ciclo while, il robot ripeterà i comportamenti in avanti e quindi ruoterà "while" la condizione è vera. Puoi anche impostare la condizione su "true" per far sì che il ciclo while continui per sempre.
Nel primo progetto, l'input 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 per un ciclo while. Nel progetto a sinistra, il robot girerà a destra quando viene premuto il sensore "bumper_b", altrimenti il robot avanzerà per sempre se il sensore "bumper_b" non viene premuto. Per controllare continuamente il valore del sensore b_b del paraurti, l' istruzione if è all'interno di un ciclo while.
Il primo progetto è un caso d'uso pratico di una struttura che si ripete per sempre, utilizzando insieme i cicli while e if. 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 è possibile 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).
- Chiedere agli studenti di configurare l'interruttore paraurti a 3 fili in VEXcode V5, selezionare il dispositivo a 3 fili che si sta utilizzando peril PARAURTI e selezionare la porta per B.
-
Chiedi agli studenti di nominare il progetto come Spazzapavimenti.
-
Chiedi agli studenti di costruire il seguente progetto.
# Library imports from Vex import * import random # Begin project code while True: while (not bumper_b.pressing ()): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop () #The random.randomint () method returns a random integer number between the specified range #Pass the min and max values of the range to the parameters drivetrain.turn_for (RIGHT, (90+random.randint (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:
# Importazioni libreria
da importazione Vex *
# Iniziare il codice di progetto
per repeat_count nell'intervallo(4)
: drivetrain.drive_for (FORWARD, 300, MM
) claw_motor.spin_for (REVERSE, 70, DEGREES
) arm_motor.spin_for (FORWARD, 360, DEGREES
) claw_motor.spin_for (FORWARD, 70, DEGREES
) arm_motor.spin_for (REVERSE, 360, DEGREES)
drivetrain.turn_for (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.