Programmazione di due pulsanti
Teacher Toolbox - Lo scopo di questa attività
Nella pagina precedente, lo studente stava programmando il braccio per farlo girare usando il pulsante Brain Up. Questa pagina si baserà sul progetto precedente per programmare anche il braccio a girare verso il basso utilizzando il pulsante Brain Down.
Questa attività introdurrà gli studenti alla programmazione con blocchi [If then
else] e all'utilizzo di sensori e blocchi operatore per far controllare al robot se
i pulsanti Brain Up o Down sono premuti. Se si preme il pulsante Brain Up, il braccio
dell'Artiglio si solleverà. Se si preme il pulsante Brain Down, il braccio dell'Artiglio
si abbassa. Ciò si basa sull'attività precedente e getterà anche le basi per la Sfida
dell'interfaccia utente nella sezione Ripensare.
Per la Sfida dell'interfaccia
utente, gli studenti dovranno programmare il loro Clawbot per sollevare il braccio,
abbassare il braccio, aprire l'artiglio e chiudere l'artiglio utilizzando i pulsanti sul
cervello del robot IQ.
Per ulteriori informazioni sui blocchi [If then],
[If else], <Brain premuto o [Spin]>,
visitare le informazioni di aiuto all'interno di VEXcode IQ. Per ulteriori
informazioni su questo strumento di aiuto integrato, fai clic qui.
Di seguito è riportato uno schema di ciò che i
tuoi studenti faranno in questa attività:
- Usa l'ArmUp2 esistente per costruire il progetto ArmUpDown fornito e prevedere cosa farà il progetto.
- Visualizza un diagramma di flusso per aiutare a spiegare il flusso dei blocchi nel progetto.
- Affina le loro spiegazioni su ciò che fa il progetto ArmUpDown.
- Guarda il video tutorial If Then Else Blocks.
- Modificare il progetto utilizzando i blocchi [If then else].
- Fermati e discuti: gli studenti rifletteranno sulle loro previsioni su ciò che il progetto farà fare al Clawbot rispetto alle loro osservazioni effettive.
- Programmare l'artiglio utilizzando lo stesso schema di progetto dalla programmazione del braccio.
Quantità | Materiali necessari |
---|---|
1 |
VEX IQ Super Kit |
1 |
VEXcode IQ |
1 |
Taccuino tecnico |
1 |
Modello Clawbot (Drivetrain) |
Il braccio Clawbot è pronto a muoversi su e giù!
Questa attività ti fornirà gli
strumenti per programmare il tuo robot con comportamenti condizionati.
Il blocco [If
then else] è l'obiettivo principale all'interno dell'attività, ma vengono utilizzati anche
altri blocchi di rilevamento, controllo e operatore.
È possibile utilizzare le informazioni della Guida all'interno di VEXcode IQ per conoscere i blocchi. Per indicazioni sull'utilizzo della funzione Guida, vedere il tutorial Utilizzo della Guida.
Passo 1: Programmazione per muovere il braccio verso il basso.
Nella pagina precedente, hai programmato il braccio del Clawbot per farlo girare quando veniva premuto il pulsante Brain Up. Ma, che ne dici di abbassare anche il braccio? Rivediamo prima il precedente progetto ArmUp2.
Sarebbe possibile utilizzare lo stesso blocco [If then] per far ruotare il braccio verso l'alto per far ruotare anche il braccio verso il basso? Proviamo! Costruisci il progetto qui sotto modificando il tuo progetto ArmUp2 già esistente.
-
Salva il progetto come ArmUpDown. Se gli studenti hanno bisogno di aiuto per salvare il progetto, fare riferimento al tutorial Denominazione e salvataggio.
- Verificare che il nome del progetto ArmUpDown sia ora nella finestra al centro della barra degli strumenti.
- Prevedi cosa farà il Clawbot nel tuo quaderno di ingegneria. Spiegare sia i comportamenti dell'utente che del Clawbot.
- Verifica se la tua previsione di ciò che fa il progetto Clawbot è corretta.
- Scaricare il progetto nello slot 3 sul Clawbot, quindi eseguirlo.
- Per assistenza durante il download e l'esecuzione di un progetto, consulta il
tutorial in VEXcode IQ che spiega come scaricare ed eseguire un
progetto.
- Controlla le tue spiegazioni del progetto e aggiungi note per correggerle secondo necessità.
Suggerimenti per l'insegnante
Se è la prima volta che lo studente utilizza VEXcode IQ, può anche vedere i Tutorial nella barra degli strumenti per apprendere altre competenze di base.
Cassetta degli attrezzi per insegnanti
Il progetto che gli studenti costruiscono sopra funzionerà. Quando si preme il pulsante Brain Up, il braccio si solleva e quando si preme il pulsante Brain Down, il braccio si abbassa. Anche se il progetto funziona così com'è, non è scritto in modo ottimale. Potrebbe esserci un caso in cui entrambe le condizioni possono essere vere allo stesso tempo. Inoltre, si noti che poiché la condizione del pulsante Brain Up inizia premuta per prima, se si tiene premuto il pulsante Brain Up e poi si preme anche Brain Down, il braccio continuerà a girare verso l'alto. Quell' azione non si fermerà fino a quando non verrà rilasciato il pulsante Brain Up. Pertanto, il progetto verrà riscritto nel passaggio successivo per includere un blocco [If then else] per evitare questi potenziali problemi.
Teacher Toolbox - Fermati e discuti
Ora che gli studenti hanno testato il progetto, chiedi loro come sono le loro previsioni rispetto alle loro osservazioni. Facilitare la discussione ponendo le seguenti domande:
-
La tua previsione era la stessa della tua osservazione?
-
Cosa sembra accadere nel progetto?
-
Le condizioni dei pulsanti Su e Giù premuti vengono controllate solo una volta?
-
Pensi che il progetto potrebbe essere riorganizzato per funzionare in modo più efficiente?
Fase 2: Comprendere il flusso del progetto.
Nella fase precedente, il progetto ha alzato e abbassato il braccio. Tuttavia, poiché la condizione del pulsante Brain Up inizia premuta per prima, se si tiene premuto il pulsante Brain Up e poi si preme anche Brain Down, il braccio continuerà a girare poiché quell' azione non si fermerà fino a quando il pulsante Brain Up non verrà rilasciato. Visualizza il seguente diagramma di flusso che spiega il flusso del progetto.
Pertanto, il progetto può sostituire i blocchi [If then] con blocchi [If then else] in modo che solo un'istanza possa essere vera in qualsiasi momento.
Guarda il seguente video tutorial sui blocchi [If then else]:
Inizia guardando il video tutorial If-Then-Else in VEXcode IQ.
L'utilizzo dei blocchi [If then else] eliminerà anche la necessità dei blocchi [Wait until]
perché il braccio continuerà a girare fino a quando non verrà rilasciato il pulsante Brain
Up. Ciò si verifica perché la parte "else" di [If then else] non viene mai raggiunta
fino a quando la condizione del pulsante Brain Up non è falsa
(rilasciata).
Il blocco [Forever] consente di controllare continuamente la prima
condizione.
Esploriamo la possibilità di modificare il progetto aggiungendo blocchi [If then else].
Il motore del braccio continuerà a girare fino a quando il pulsante Brain Up non sarà più
premuto (rilasciato). A causa del blocco [Forever], questa condizione continuerà a
essere controllata fino a quando non sarà falsa.
Una volta che la condizione del
pulsante Brain Up è falsa, il progetto passerà al blocco successivo, che è quello di
verificare la condizione se viene premuto il pulsante Brain Down. Se la condizione del
pulsante Brain Down premuto è vera, il braccio si alzerà. Ancora una volta, a causa
del blocco [Forever], questa condizione continuerà a essere controllata fino a quando
non sarà falsa.
Una volta che la condizione del pulsante Brain Up è falsa, il
progetto passerà al blocco successivo, che è il blocco [Stop motore]. Pertanto, il
motore del braccio si arresta solo quando entrambe le condizioni sono false (nessuno dei due
pulsanti è premuto).
Motiva la discussione
D: Qual è la progressione del flusso del progetto se la condizione
del pulsante Brain Up premuto è FALSA (rilasciata)?
R: Se la condizione è falsa, il flusso del progetto continuerà a
verificare la condizione del pulsante Brain Down premuto.
D: Qual è lo scopo dei blocchi [If then else] nel progetto di
cui sopra?
R: L'utilizzo dei blocchi [If then else] consente a una sola
istanza di essere vera alla volta. Pertanto, il pulsante Brain Up e i pulsanti Brain
Down non possono essere veri allo stesso tempo utilizzando i blocchi [If then
else], poiché la seconda condizione del pulsante Brain Down premuto non sarebbe nemmeno
un'opzione a meno che la prima condizione del pulsante Brain Up premuto non fosse falsa.
L'altro scopo è migliorare l'efficienza della programmazione.
D: Qual è la progressione del flusso del progetto se entrambe le
condizioni dei pulsanti Su e Giù premuti sono false?
R: Se entrambe le condizioni sono false, il flusso del progetto
continuerà fino al blocco [Stop motore] prima di tornare in cima alla pila
ripetendosi per sempre.
Passaggio 3: programmazione con blocchi [If then else].
Usiamo i blocchi [If then else]:
-
Aggiungi i blocchi [If then else] al tuo progetto ArmUpDown in modo che il tuo progetto sia simile al seguente:
-
Salva il progetto come ArmUpDown2. Se gli studenti hanno bisogno di aiuto per salvare il progetto, fare riferimento al tutorial Denominazione e salvataggio.
- Scaricare il progetto nello slot 4 sul Clawbot, quindi eseguirlo.
- Per assistenza durante il download e l'esecuzione di un progetto, consulta il tutorial
in VEXcode IQ che spiega come scaricare ed eseguire un progetto.
- Verificare se il braccio ora gira verso l'alto quando si preme il pulsante Brain Up e verso il basso quando si preme il pulsante Brain Down.
- Verificare che quando i pulsanti Cervello su e giù non vengono premuti (rilasciati) il motore del braccio si arresti.
- Scrivi le tue osservazioni su come si è comportato il Clawbot prima e dopo aver aggiunto i blocchi if then else al tuo progetto nel tuo quaderno di ingegneria.
Teacher Toolbox - Fermati e discuti
Dopo che gli studenti hanno testato il progetto prima e dopo aver aggiunto il blocco [If then else], discutere con gli studenti di come ciò consenta al braccio di continuare a girare fino a quando non viene rilasciato il pulsante Brain Up. Chiedi agli studenti di condividere le loro osservazioni dai loro quaderni di ingegneria. Facilitare una discussione ponendo le seguenti domande:
-
Ritieni che il Clawbot si comporti in modo diverso tra l'utilizzo dei blocchi [If then else] rispetto ai soli blocchi [If then]?
-
Perché pensi che l'efficienza del programma sia importante?
-
La condizione del pulsante Brain Up viene controllata solo una volta nel progetto?
I quaderni di ingegneria degli studenti possono essere mantenuti e valutati individualmente (Google / .docx / .pdf) o in gruppo (Google / .docx / .pdf). 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à.
Cassetta degli attrezzi per insegnanti
Gli studenti potrebbero non vedere molta differenza nel modo in cui il loro Clawbot si comporta tra l'utilizzo dei blocchi [If then else] rispetto ai blocchi [If then]. Se gli studenti non riescono a vedere fisicamente molta differenza, facilita una discussione sull'efficienza della programmazione e su come semplificare un progetto può portare a utilizzare meno blocchi. L'utilizzo di meno blocchi in un progetto può ridurre la quantità di potenziali errori.
Fase 4: programmazione dell'artiglio.
Nel passaggio precedente, il progetto è stato ottimizzato per funzionare in modo più
efficiente utilizzando i blocchi [If then else]. Nell'esempio precedente, il braccio è
stato manipolato utilizzando i pulsanti Cervello su e Giù.
Utilizzando lo stesso
identico schema di progetto, l'Artiglio può anche essere manipolato.
-
Rivedere il progetto ArmUpDown2 e modificare i blocchi [Spin] in ClawMotor anziché ArmMotor utilizzando il menu a discesa.
Assicurarsi che il pulsante Cervello su faccia ruotare l'artiglio "aperto" e che il pulsante Cervello giù faccia ruotare l'artiglio "chiuso" utilizzando i menu a discesa. -
Salva il progetto come ClawUpDown. Se gli studenti hanno bisogno di aiuto per salvare il progetto, fare riferimento al tutorial Denominazione e salvataggio.
- Scaricare il progetto nello slot 1 sul Clawbot, quindi eseguirlo.
- Per assistenza durante il download e l'esecuzione di un progetto, consulta il tutorial
in VEXcode IQ che spiega come scaricare ed eseguire un progetto.
- Verificare se l'artiglio ora si apre quando si preme il pulsante Brain Up e si chiude quando si preme il pulsante Brain Down.
- Verificare che quando i pulsanti Cervello su e giù non vengono premuti (rilasciati) il motore dell'artiglio si arresti.
- Scrivi le tue osservazioni su come si è comportato il Clawbot prima e dopo aver aggiunto i blocchi if then else al tuo progetto nel tuo quaderno di ingegneria.
Cassetta degli attrezzi per insegnanti
Ora che gli studenti hanno le abilità per manipolare il braccio e l'artiglio usando i
pulsanti, chiedi agli studenti di fare un brainstorming su come possono eseguire tutte e
quattro le azioni nello stesso progetto (braccio su, braccio giù, artiglio aperto e
artiglio chiuso).
Gli studenti utilizzeranno un altro blocco [if then else] nella sezione di
ripensamento per consentire al loro robot di eseguire tutte e quattro le azioni.
Estendi il tuo apprendimento - Imposta il blocco di arresto del motore
Se gli studenti programmano il loro robot per sollevare e abbassare il braccio, il peso
dell'artiglio potrebbe far scivolare il braccio verso il basso.
In questo caso,
il blocco [Set arresto motore] può essere utilizzato in modo che il braccio non
cada a causa della gravità e del peso dell'artiglio. Questo blocco può essere utilizzato
all'inizio del progetto e verrà applicato a tutti i blocchi motore futuri per il resto
del progetto.
Il blocco di arresto del motore impostato ha tre impostazioni:
- Il freno provoca l'arresto immediato del motore.
- Coast lascia che il motore giri gradualmente fino a fermarsi.
- Hold fa sì che il motore si arresti immediatamente e lo riporta nella sua posizione di arresto se spostato.