Creiamo un gioco istruttivo con il RaspberryPi

Creando un gioco per Raspberry Pi con lo strumento di sviluppo Scratch, vedremo come sia possibile imparare diverse nozioni relative ai tempi di reazione degli astronauti, e le distanze percorse dalla stazione ISS (International Space Station) nello stesso lasso di tempo. Per la prima volta in assoluto, un astronauta inglese dell'ESA (European Space Agency) dovrà vivere e lavorare all'interno della ISS. L'astronauta inglese dell'ESA Tim Peake dovrà infatti rimanere in orbita attorno alla terra per circa sei mesi. Ma come si vive e si lavora nello spazio? Potete avere maggiori informazioni sulla missione di Tim Peake sul sito web dell'UK National STEM Centre.

Cosa imparerete

Creando questa applicazione in Scratch basata sulla misura dei tempi di reazione, potrete imparare:

  • perchè gli astronauti devono avere dei tempi di reazione nello spazio super rapidi, e quale è la distanza percorsa dalla stazione orbitante ISS;
  • come importare immagini in Scratch e utilizzarle come sfondi oppure sprite;
  • come memorizzare in opportune variabili informazioni come tempo e distanza;
  • come utilizzare gli operatori matematici (ad esempio la moltiplicazione) per calcolare la distanza percorsa dalla ISS.

Cosa occorre per realizzare il progetto

Dal punto di vista hardware, è sufficiente disporre di una scheda Raspberry Pi e relative periferiche di base. Non è richiesta alcuna risorsa hardware addizionale. Per quanto riguarda il software, sono sufficienti le risorse pre-installate sull'immagine corrente di Raspbian. Per essere sicuri di avere una immagine aggiornata sulla schedina SD, potete fare riferimento a questa guida sull'aggiornamento di Raspbian.

Introduzione

Le cose accadono molto velocemente quando si viaggia a 16000 miglia orarie (circa 7000 metri al secondo), e quando i detriti e le micrometeoriti sono diretti verso di voi alla velocità di circa 22500 miglia orarie. Tempi di reazione rapidi e mani salde sono requisiti indispensabili per svolgere compiti come l'azionamento dei motori e il controllo dei bracci robotizzati. Gli astronauti vengono addestrati in modo intensivo proprio per accelerare le loro reazioni a imprevisti o incidenti, in modo tale da prepararli per ogni eventualità. Gli scienziati della NASA hanno a questo proposito condotto dei test per misurare i tempi di reazione degli astronauti. Gli astronauti sono stati inizialmente addestrati con dei computer a terra, successivamente a bordo della ISS, e una volta ancora quando sono rientrati sulla terra. Il loro tempo di reazione nello spazio è stato misurato fino a due volte superiore rispetto a quello sulla terra. Gli scienziati sostengono che lo stress, come anche l'adattamento del cervello alla microgravità, potrebbero essere la causa di questo fenomeno, e che le performance normali si sono ripristinate non appena gli astronauti sono rientrati sulla terra. Potete avere maggiori informazioni su cosa vuol dire essere un astronauta, e più in particolare sulla missione di Peake, visitando il sito UK National STEM Centre. Vediamo ora di creare un gioco con Scratch per misurare i vostri tempi di reazione, quelli dei vostri amici e dei vostri familiari, e vedere se avete qualche chance di diventare un astronauta come Tim Peake.

Scegliamo un tema spaziale

  1. Aprite Scratch cliccando su Menu e Programming, seguiti da Scratch. Alternativamente, potete usare per questa attività Scratch 2.0 online, anche se alcuni dei blocchi potrebbero essere leggermente differenti.
  2. Create un nuovo file selezionando File e New.
  3. Cancellate la sprite del gatto ("Scratch Cat") cliccando su di essa con il tasto destro e selezionando Delete dal menu che appare.
  4. Per questo progetto occorrerà uno sfondo a tema spaziale e una sprite per l'astronauta. Per aggiungere uno sfondo in Scratch, cliccate su stage nella palette delle sprite e poi cliccate sulla voce Backgrounds vicina al tab scripts.
  5. Cliccate su Paint per disegnare il vostro sfondo oppure su import per utiizzare le stesse immagini di questa applicazione. Collegate il vostro Raspberry Pi ad internet, e scaricate questo sfondo spaziale e la sprite dell'astronauta britannico dell'ESA Tim Peake. Salvateli dove risulta per voi più comodo sul vostro Raspberry Pi. Potete anche trovare ulteriori immagini da utilizzare qui, se non vi piacciono quelle proposte.
  6. Aggiungete poi una nuova sprite cliccando sull'icona import a new sprite della palette delle sprite (si veda l'immagine di figura 1), selezionando Astronaut-Tim dalle opzioni e cliccando OK.
    Fonte: www.raspberrypi.org

    Figura 1: New sprite [Fonte: www.raspberrypi.org]

  7. Salvate ora il vostro progetto Scratch cliccando su File e Save As. Chiamate il vostro programma Gioco Reazione Astronauta e salvatelo nella vostra home directory o in un posto dove vi sarà facile recuperarlo successivamente.

 Create le variaibili per i dati

  1. Per creare una variabile, cliccate su Variable nel blocco palette e poi cliccate su Make a variable. Si aprirà la finestra della nuova variabile, chiedendovi il nome da assegnare alla stessa.
  2. Chiamate questa prima variabile time e assicuratevi che la voce for all sprites sia spuntata prima di cliccare su OK. Una variabile serve a contenere un valore che può cambiare. La variabile tempo che avete creato è un esempio di un valore che può essere modificato e utilizzato all'interno di diversi script. Voi lo utilizzerete per memorizzare i tempi di reazione dei giocatori.
  3. Noterete che alcuni blocchi color arancio sono stati aggiunti all'area della vostra variabile chiamata time, e sullo stage comparirà una piccola counter box.

Lo script

  1. Cliccate sul vostro Sprite per selezionarlo nella palette degli sprite.
  2. Selezionate il blocco di controllo When green flah is clicked dalla palette dei blocchi e posizionatelo nell'area degli scritp.
  3. Cliccate su Looks e collegate il blocco say for 2 secs al primo blocco di controllo dell'area di script. Inserite il testo Hello! British ESA Astronaut Tim Peake here. Are you ready?.
  4. Aggiungete al di sotto il blocco wait 1 secs.
  5. Collegate un altro blocco say e modificate il testo in Hit Space!.
  6. Cliccate su Sensing e collegate il blocco reset timer. Ciò imposterà il timer a 0, per cui si otterrà una misura accurata del tempo richiesto dal giocatore per premere la barra spazio.
  7. Utilizzate il blocco di controllo wait until e collocate un blocco sensing key space pressed? dentro lo spazio bianco del blocco wait until. Ciò causerà la sospensione del programma sino a che il giocatore non prema la barra spazio.
  8. Collegate un altro blocco say. Quando la barra spazio viene premuta, dovete visualizzare il tempo di reazione del giocatore. Per fare ciò, collocate un blocco operators chiamato join hello world all'interno dello spazio bianco del blocco say. Sostituite la parola world con la parola seconds.
  9. Sostituite poi la parola Hello con una altro blocco operatore  join hello world, sostituendo il testo Hello con Your reaction time was e il testo world con il blocco sensing timer.
  10. Infine, selezionate il blocco set time to dalla sezione variabili e aggiungetelo al vostro script. Collocate il sensing block timer dove si legge 0 (Figura 2).
  11. Salvate l'applicazione e provatela cliccando sulla bandierina verde. Quando Tim dice "Hit Space!", premete la barra spazio. Il vostro tempo di reazione dovrebbe essere visualizzato ijn figura 3.

 

Fonte: www.raspberrypi.org

Figura 2: Script [ Fonte: www.raspberrypi.org]

Fonte: www.raspberrypi.org

Figura 3: Tempo di reazione [Fonte: www.raspberrypi.org]

Confronto con la ISS

Se siete soddisfatti del vostro gioco sui tempi di reazione e avete verificato che funzioni correttamente, potete proseguire modificando lo script in modo tale da confrontare il tempo di reazione del giocatore con la velocità dell'ISS, calcolando di quanto si sposterebbe in quel lasso di tempo.

  1. Anzitutto dovrete creare una nuova variabile chiamata distance esattamente come fatto in precedenza.
  2. Attaccate un blocco variaible set distance to al vostro script. Collocate un blocco di moltiplicazione operators dove si legge 0. Per calcolare la distanza percorsa dall'ISS dovete leggere il tempo di reazione del giocatore, memorizzato nella variabile time, e moltiplicarlo per 7. Ciò perchè l'ISS ha una velocità media pari a  7 chilometri al secondo!
  3. Aggiungete il blocco variabile time alla destra dell'operatore di moltiplicazione e digitate 7 in modo tale che l'intero blocco appaia come set distance to time * 7 set.
  4. Poi, aggiungete un blocco di controllo wait 4 seconds.
  5. Aggiungete quindi un blocco say. Come nel punto precedente, disponete un blocco join hello word al suo interno. Sostituite World con kilometers. Inserite un altro blocco join hello world per sostituire Hello. Sostituite il testo Hello in questo blocco Join con il testo In that time the ISS travels around. Sostituite infine World con un blocco operatore round e riempite lo spazio bianco con il blocco variabile distance come indicato in figura 4.  
    Fonte: www.raspberrypi.org

    Figura 4: Blocco Variable [Fonte: www.raspberrypi.org]

  6. Salvate il vostro gioco e provate che tutto funzioni cliccando sulla bandierina verde (Figura 5).
    Fonte: www.raspberrypi.org

    Figura 5: Il programma all'opera! [Fonte: www.raspberrypi.org]

Link

Articolo originale: https://www.raspberrypi.org/learning/astronaut-reaction-times/

 

Scarica subito una copia gratis

Una risposta

  1. Avatar photo Maurizio 26 Giugno 2016

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend