venerdì 12 agosto 2016

Lego Mindstorms ev3

Lego Mindstorms EV3 è la terza generazione della serie LEGO Lego Mindstorms. È Il successore del Lego Mindstorms NXT 2.0. 
Con Mindstorms Ev3, terza generazione della piattaforma tecnologica della Lego, è possibile dar vita a 17 diversi robot divisi in due categorie: Hero, per i costruttori in erba, e Fan.
Le possibilità sono tante e: si può scegliere tra robot cingolati, musicali o che riproducono il movimento di serpenti, ragni robot e dinosauri. Dal più semplice al più complesso. Dotati di 3 servomotori e altrettanti sensori, questi robot sono controllati da un microprocessore a 32 bit, il cosiddetto mattoncino intelligente, con 64 Mb di Ram e 16 di memoria Flash.
Il set include anche le istruzioni per costruire 5 robot Hero, mentre online si può trovare una guida per realizzare i robot “fan” direttamente scaricabile dal sito Lego.
Dopo aver costruito il nostro robot, potremo decidere cosa fargli fare collegandolo al computer, attraverso un cavo usb, e scaricando il software di programmazione. In questo modo costruire un robot Lego diventerà un’esperienza molto divertente e insegnerà ai bambini e ai ragazzi a programmare.
Il software di programmazione è molto simile a Scratch in quanto è un sistema di programmazione a blocchi. Un livello di difficoltà maggiore rispetto a Scratch, ma che dà molte soddisfazioni. Il software EV3 consente di creare i programmi del robot, per portarlo in vita.
Ev3 può essere comandato anche tramite Bluetooth, direttamente da uno smartphone, scaricando un’app gratuita disponibile su Itunes e Play Store per i dispositivi Android. In alternativa, si può utilizzare il telecomando per il controllo remoto fornito in dotazione.
E' inoltre possibile programmare il robot perché risponda ai comandi tattili con il sensore tattile EV3. Il sensore tattile consente al tuo robot di reagire quando premi o rilasci il sensore frontale. Guarda questo video per scoprire come funziona.

Blocchi di azione

BLOCCHI DI AZIONE (verdi)


I blocchi di azione controllano le azioni del programma. Controllano le rotazioni del motore e anche l'immagine, il suono e la luce dell'EV3 P-brick.


BLOCCHI DI FLUSSO (arancioni)


I blocchi di flusso controllano il flusso del programma. Tutti i programmi creati inizieranno con il blocco iniziale.

BLOCCHI SENSORI (gialli)


I blocchi sensore consentono al programma di leggere gli ingressi dal sensore colori, sensore IR, sensore tattile, ecc.

BLOCCO FUNZIONAMENTO DATI (rossi)


I blocchi di funzionamento dei dati consentono di scrivere e leggere le variabili, confrontare i valori e tanto altro ancora. Nota: i blocchi di funzionamento dei dati sono disponibili solo nel software di programmazione per PC/Mac e NON nella app EV3 Programmer.

BLOCCHI AVANZATI (blu)


I blocchi avanzati consentono di gestire i file, le connessioni Bluetooth e tanto altro ancora. Nota: i blocchi blu avanzati sono disponibili solo nel software di programmazione per PC/Mac e NON nella app EV3 Programmer.


lunedì 8 agosto 2016

Interagire con Scratch

Ora vediamo come chiedere il valore di una variabile, con una sequenza di blocchi chiedi-porta. Le operazioni sono, nell’ordine:
· Richiesta: lo script si blocca, in attesa che l’utente scriva qualcosa nell’apposito spazio;
· Assegnazione: il contenuto della risposta viene trasferito in una variabile.


1 Richiesta
Il blocco è nel gruppo “Sensori” (azzurro). Il testo viene proposto dal personaggio con un fumetto; la risposta viene inserita nel riquadro che compare sotto lo stage:

2 Assegnazione
La risposta ha una sua icona azzurra (arrotondata, come le variabili). Per assegnarla ad una variabile, si inserisce questa icona in un blocco “porta”:



In realtà, quando si ha a che fare con un problema matematico, la maggior parte delle variabili deve contenere valori numerici (non possiamo immaginare cosa risulta da scarpa/2, e non è di certo sca). Per evitare di operare su valori insensati, esiste un trucchetto aritmetico, che onsiste nel moltiplicare per 1 la risposta, rimediando così ad errori di inserimento, secondo questa logica:
· se il numero è scritto correttamente, non viene modificato
· in caso contrario, la moltiplicazione risulta zero, che almeno è un valore numerico.
Assegneremo quindi alla variabile “risposta*1”. Per fare questo, prendiamo il blocco di moltiplicazione dagli operatori (sezione verde), inseriamo la “risposta” in uno degli spazi e scriviamo 1 nell’altro:



Una volta assegnato il valore richiesto alla variabile, esso viene visualizzato nell’elenco solitamente presente sullo stage). È comunque preferibile fare in modo che il personaggio, una volta chiesto il numero, lo visualizzi attraverso un fumetto (secondo script). L’effetto è nell’immagine a destra:




Quizzettone

Realizziamo ora il gioco del quizzettone.
Realizziamo ora un quiz con punteggio. Utilizziamo le condizioni SE….ALLORA...ALTRIMENTI e le VARIABILI.

Per calcolare il punteggio occorre dichiarare una variabile in modo da tenere memorizzato il conteggio delle risposte corrette:



attraverso i blocchi PORTA e CAMBIA è possibile andare a modificarne il valore come nel progetto in cui la variabile viene posta a zero all’inizio e cambiata di una unità ogni volta che viene data la risposta corretta.

Gli script da progettare sono i seguenti:



Attività da svolgere in autonomia:

Per proseguire il quiz bisogna aggiungere altre domande su un tema a piacere. Decrementare il valore della variabile Punteggio di -1 nel caso di risposta errata. In base al punteggio finale ottenuto, dare al termine un giudizio insufficiente, sufficiente, buono od ottimo in base al numero di risposte corrette date.

A questo link trovate il gioco realizzato da me: https://scratch.mit.edu/projects/117904990/

Giochiamo a Ping-Pong con Scratch

Ora proviamo a creare il gioco pong con Scratch, è facile e divertente!

Per prima cosa dobbiamo realizzare lo sfondo del nostro gioco: disegnamo una riga tratteggiata nel centro del nostro foglio e coloriamo lo sfondo come più ci piace.

Ora dobbiamo creare i nostri sprite. Nello specifico andremo a disegnare una pallina e due racchette (per semplicità le racchette possiamo disegnarle come due rettangoli).


Lo script della prima racchetta sarà il seguente:



Lo script della seconda racchetta sarà un po’ diverso:



Ovviamente lo script per la pallina sarà più complicato e dovremo utilizzare gli operatori matematici appena imparati:


A questo link trovate il gioco realizzato da me: https://scratch.mit.edu/projects/117904822/

Ovviamente aspetto di vedere le vostre varianti!

Gli operatori

Una volta definita una variabile, si può usare per impostare formule generali in espressioni che coinvolgono diversi OPERATORI.

Abbiamo infatti:
  1. operatori matematici
  1. funzioni di generazione di numeri casuali
  1. operatori relazionali
  1. operatori logici
  1. funzioni per concatenare, estrarre singoli caratteri da una frase, calcolare la lunghezza di una frase
  1. operatore resto
  2. operatore arrotondamento
  1. funzioni matematiche e trigonometriche




Le variabili in Scratch

Uno dei concetti fondamentali della programmazione è quello di VARIABILE. Una variabile è un dato che ha un nome e un valore. E’ attraverso i valori delle variabili che i programmi risolvono i problemi di calcolo.
Al contrario del foglio di calcolo, dove le variabili sono le celle della griglia, nei programmi le variabili devono essere dichiarate. inoltre il loro valore non viene modificato con la scrittura diretta, ma attraverso altre operazioni, dette assegnazione.

DICHIARAZIONE DI UNA VARIABILE

Per aggiungere una variabile al progetto, schiacciare il pulsante NUOVA VARIABILE nel gruppo VARIABILI E LISTE (blocchi arancioni). Compare un riquadro con uno spazio per il nome della variabile ed i pulsanti per la conferma e la rinuncia. Si può lasciare selezionata l’opzione PER TUTTI GLI SPRITE, che rende disponibile la variabile per tutti i personaggi (in questo caso viene definita pubblica). L’elenco delle variabili compare nello spazio centrale del programma: il segno di spunta indica se la variabile compare nello stage.







Ad ogni nuova variabile va assegnato un nome e bisogna specificare se il nome sarà destinato a tutti gli sprite o solo per lo sprite evidenziato.


Abbiamo quindi il nome della variabile marcato “TEST” e i blocchi per modificare i valori o la visualizzazione della variabile.

VALORE DELLA VARIABILE
Come si può intuire dal nome, il valore di una variabile può cambiare (altrimenti non avrebbe quel nome).
Ci sono più modi di modificare una variabile:
  • blocca porta (assegnazione)
  • blocco cambia (modifica: il valore PRECEDENTE della variabile più qualcosa)
  • blocco porta proveniente da una risposta

Il blocco porta prende un valore costante, un’altra variabile o un’espressione, e ne assegna il valore, o il risultato, alla variabile selezionata.
Il blocco cambia conserva la memoria del precedente valore della variabile, aggiungendo o togliendo qualcosa.
In entrambi questi casi la variabile da modificare può essere selezionata dal relativo elenco, attivabile con la freccetta nera visibile nel blocco. Il valore da assegnare può essere scritto direttamente nello spazio bianco; se si tratta di un’altra variabile o di un’espressione, il nuovo dato va invece trascinato in quello spazio.
Geometria, variabili e Scratch
Applichiamo ora quanto abbiamo imparato nelle ultime due lezioni:
Prima abbiamo disegnato figure geometriche semplice ora possiamo provare a disegnare un poligono regolare attraverso l’uso delle variabili:.
Proviamo ad esempio ad eseguire lo script seguente:

Per poter funzionare ricordiamo di assegnare un valore alla variabile n (ad esempio 9) cosìda poter creare un poligono regolare di n lati. Ad esempio se n=40 otterremo un poligono che assomiglia moltissimo a un cerchio, i cui lati sono quasi indistinguible.

Un esercizio ancora più difficile è la costruzione della spirale di Archimede. Questo progetto introduce il bambino alla costruzione geometrica di figure complesse. La spirale di Archimede è una figura che si ottiene legando una matita ad un filo, tenendo ferma l'estremità del filo non legata alla matita e allontanando la matita dall'estremo del filo fermo sopra un foglio di carta.

L’effetto che otterremo sarà il seguente:

Scratch e la geometria

Possiamo applicare Scratch anche alla geometria facendo eseguire al nostro gattino dei semplici movimenti.

Questo scatch aiuta il bambino ad approfondire il conetto di Turtle computing e lo aiuterà ad avere un punto di vista costruttivo nell'applicazione della geometria elementare dal punto di vista grafico. La tecnica del Turtle computing è stata introdotta negli anni ‘60 nel linguaggio di programmazione Logo ed utilizza la metafora della tartaruga e della matita. In questa metafora si immagina che una tartaruga si sposta su un foglio bianco con una matita che può appoggiare o meno al foglio. Combinando opportunamente gli spostamenti nei quali la matita è appoggiata al foglio agli spostamenti nei quali la matita è sollevata è possibile disegnare qualsiasi figura.

Il quadrato

Attraverso questi semplici comandi possiamo disegnare il nostro primo quadrato

Apriamo l'editor Scratch. Scriviamo il seguente script per lo sprite che abbiamo scelto:

Eseguito lo script vedremo il nostro sprite disegnare un quadrato proprio come nella foto seguente:

domenica 7 agosto 2016

Ora prova da solo: il mio primo gioco


Proviamo adesso a realizzare un primo gioco semplice.

Basta seguire queste semplici indicazioni e dare libero sfogo alla fantasia, sarà divertentissimo!

GIOCO PESCIOLINO 2.0 - LIVELLO DIFFICOLTA’ 1

Adesso prova da solo a creare un programma:
  1. Seleziona uno degli sprite che rappresenta uno squalo e due pesciolini colorati. Se volete potete aggiungere altri sprite, come delle stelle marine.
  2. Lo sqalo dovrà andare avanti e indietro sullo stage usando le frecce direzionali della tastiera, mentre i pesciolini dovranno muoversi nello stage rimbalzando sul bordo. Selezionare uno sfondo marino.
  3. Possiamo anche associare dei suoni o delle musiche ai movimenti dei pesciolini.
  4. UPGRADE: Inserire nell’ambiente marino, un granchio che cambia colore ogni volta che viene premuto il tasto “barra spaziatrice”.

Volete farmi vedere il vostro gioco o avete bisogno di aiuto? inviatemelo via mail e vi aiuterò!

A questo link trovate il mio gioco finito: https://scratch.mit.edu/projects/117863239/


HELP DESK

Per far rimbalzare il nostro sprite quando tocca il bordo dello stage basta inserire il comando di MOVIMENTO:







Il nostro sprite può:

venerdì 5 agosto 2016

Le condizioni

Far compiere un’azione ad uno sprite quando succede qualcosa ad un altro sprite. Nello specifico diciamo allo sqalo di mangiare il pesciolino:

  1. Lo sprite “pesciolino” invia un messaggio (“BORDO”) allo sprite “GRANCHIO” quando tocca il bordo e solo in questa condizione.
  2. Lo sprite “GRANCHIO” è in ascolto, quando gli giunge il messaggio “BORDO” dal pesciolino cambia colore.




In questo caso parliamo di AZIONI CONDIZIONATE:
nel foro esagonale infatti abbiamo inserito una condizione che dovrà verificarsi per eseguire le istruzioni presenti all’interno delle istruzioni che controllano il flusso del programma.

Ascolto del messaggio
Gli sprite ascoltano utilizzando l’istruzione:

e l’ascolto è riferito alla parola che viene inviata, nel nostro caso invieremo il MEGGAGGIO “BORDO”



A questo proposito nella sezione SENSORI sono collocate le condizioni che hanno forma esagonale e sono di colore azzurro:
E’ possibile far interagire lo Sprite con l’utente e per fare ciò usiamo i SENSORI.

Ad esempio è possibile







personalizzando la domanda come vogliamo e inserire un blocco di risposta:







Se si marca il quadratino presente vicino al blocco “RISPOSTA” questa potrà essere inserita nello stage ed apparirà









Se si inserisce nella casella la risposta questa apparirà nel nostro stage.

mercoledì 3 agosto 2016

Scratch e i suoni


Ci sono 3 modi di riprodurre suoni:

1. SUONA NOTA: uso di una tastiera a due ottave che utilizza la notazione anglosassone per le note


2. SUONA TAMBURO: possibilità di scegliere diversi strumenti;

3. PRODUCI SUONO: ad ogni sprite sono associati un insieme di suoni. E’ possibile estendere la qualità di suoni associati agli sprite.








Questa schermata ci permette di:


  1. Registrare suoni
  2. Importare suoni dalla libreria
  3. Riprodurre suoni

COSA ABBIAMO IMPARATO:
1. creare programmi associati ad uno sprite:
    1. movimento
    2. costumi
    3. interazioni
    4. cicli
2. Operare con più sprite
3. Gestire sfondi
4. Gestire suoni