La sfida dell'interfaccia utente
Nella Sfida dell'interfaccia utente, programmerai il Clawbot in modo che un utente possa premere lo schermo del Cervello per controllare i motori del braccio e dell'artiglio. Quindi i quattro pulsanti sullo schermo verranno utilizzati per raccogliere e sostituire una varietà di dieci oggetti. Questa sfida non richiede che il Clawbot guidi o svolti. Gli oggetti vengono raccolti e quindi riposti nello stesso punto sul tavolo o sul pavimento.
Rules:
- Ciascuno dei quattro pulsanti deve eseguire solo una delle quattro azioni: aprire l'artiglio, chiudere l'artiglio, sollevare il braccio o abbassare il braccio.
- L'utilizzo del controller non è consentito.
- Ogni Clawbot dovrà sollevare e sostituire il maggior numero possibile di oggetti entro un minuto e senza farli cadere. Si consiglia di sollevare e sostituire un oggetto alla volta.
- Il round di un minuto termina al segno di 1 minuto o se viene lasciato cadere un oggetto, anche se il round dura solo pochi secondi. La caduta di un oggetto squalifica la squadra dall'intero minuto del round, ma tutti i punti guadagnati prima della caduta vengono conteggiati.
- Se tutti gli oggetti forniti sono stati sollevati prima che il round di un minuto sia terminato, gli oggetti possono essere riutilizzati fino a quando non viene chiamato il tempo.
- L'oggetto deve essere sollevato più in alto del motore del braccio prima di essere sostituito sul tavolo.
- Ogni oggetto afferrato, sollevato, sollevato e sostituito con successo vale un punto.
- Tra un round e l'altro, i ruoli possono essere cambiati, ma solo un utente per Clawbot può giocare ogni round.
- Il gruppo con il maggior numero di punti alla fine di tutti i turni vince!
Ruoli nella sfida:
- Dovrebbe esserci un solo utente (il sollevatore) che solleva gli oggetti durante ogni turno, ma i gruppi possono passare da un turno all'altro.
- Dovrebbe esserci un segnapunti designato che conta quanti oggetti ogni Clawbot è in grado di sollevare con successo. Ogni oggetto sostituito con successo vale un punto. Dopo che un oggetto è caduto, il turno dell'Artiglio è finito. È possibile giocare più turni. Qui è inclusa una tabella dei punteggi, ma è possibile aggiungere righe per gruppi e turni aggiuntivi. Ogni gruppo può utilizzare la propria tabella di punteggio o tutti possono registrare sullo stesso. Se più gruppi utilizzano la stessa tabella dei punteggi, scrivere l'ID Clawbot di ciascun gruppo o il nome del gruppo nella seconda colonna. Inoltre, il segnapunti dovrebbe combinare i punti di ogni round alla fine della Sfida dell'interfaccia utente per un punteggio totale.
- Dovrebbe esserci una persona incaricata di spostare gli oggetti fuori dal tavolo: lo switcher. Poiché il Clawbot non sta girando o guidando, l'oggetto sollevato dovrà essere rimosso e sostituito con un nuovo oggetto dopo ogni tentativo.
- Dovrebbe esserci una persona incaricata di tenere traccia del tempo: il cronometrista. Ogni round dura un minuto.
- L'insegnante dovrebbe fornire gli oggetti approvati per questa sfida prima di iniziare.
Suggerimenti per l'insegnante
- Ricorda agli studenti che possono toccare solo lo schermo del Clawbot.
- Fornire solo oggetti sicuri per eventuali cadute: una lattina vuota o una bottiglia d'acqua, un cubo VEX, un pezzo inutilizzato del kit VEX o qualsiasi altra cosa che non venga danneggiata in modo permanente da una caduta o da un rimbalzo.
- Consenti agli studenti di osservare come appare lo schermo di ciascun Clawbot. I rettangoli dovrebbero essere gli stessi, ma i colori di ogni Clawbot saranno probabilmente diversi.
- Discutere le opinioni degli studenti sulle migliori scelte di colore durante o dopo la sfida.
Cassetta degli attrezzi per insegnanti
Di seguito troverai una soluzione di programmazione di esempio per questa sfida insieme a una rubrica di programmazione, una rubrica di quaderno di ingegneria individuale e una rubrica di quaderno di ingegneria del team.
- Esempio di soluzione di programmazione
# Begin project code
screen_buttons = Event()
def has_screen_buttons
(): brain.screen.set_fill_color
(Color.GREEN) brain.screen.draw_rectangle (0, 0
, 240, 120
) brain.screen.set_fill_color (Color.PURPLE) brain.screen.draw_rectangle (240
, 0, 480
, 120) brain.screen.set_fill_color (Color.ORANGE) brain.screen.draw_rectangle (
0, 120
, 240, 240) brain.screen.set_fill_color (Color.CYAN) brain.screen.draw_rectangle (240, 120
, 480, 240)
wait (1, SECONDS)
screen_buttons
(has_screen
_buttons)
while True: screen_buttons.broadcast ()
if
brain.screen.pressing (): if brain.screen.x_position () <
240:
if brain.screen.y_position (
) < 120
: claw_motor.spin (FORWARD)
while brainscreen.pressing ()
waiting(5 MSEC)
else clawot_spin ()
while brain.screen.pressing
(ms)
waiting (MS): brain.screen.screen.screen_rector_rectangle ( < 120)
while
FORWARDING (
ms)
waiting (ms), wait.spot.ph.pressing (MS) waiting (
msmor_spin)
waiting (ms)
waiting(MS)
- Rubrica di programmazione - Google Doc / .docx / .pdf
- Rubrica quaderno di ingegneria (individuale) - Google Doc / .docx / .pdf
- Rubrica Engineering Notebook (Team) - Google Doc / .docx / .pdf