Sesto Incontro

Istituto di Istruzione Secondaria Superiore
“M. Bartolo”
PACHINO (SR)
LICEO Classico -LICEO Scientifico
LICEO delle Scienze Applicate - Liceo delle Scienze Umane
I.T.I.S. (Elettronica e Elettrotecnica - Meccanica, Meccatronica e Energia - Trasporti e Logistica)
I.T.I.S. SERALE (Elettronica e Elettrotecnica - Meccanica, Meccatronica e Energia)
Sede centrale: Viale A. Moro sn - 96018 PACHINO (SR)
Uffici: Tel. 0931-593596 Fax 0931-597915
Sede staccata: Via Fiume -96018 PACHINO (SR) - Tel. e Fax 0931846359
Codice Fiscale: 83002910897 - Email: [email protected][email protected]
www.istitutobartolo.it - www.sris01400g.scuolanet.info
*******************
"Con l'Europa investiamo nel vostro futuro"
PROGRAMMA OPERATIVO NAZIONALE
Obiettivo "Convergenza"
"Competenze per lo sviluppo"
2007 IT 05 PO 007 F.S.E.
Piano Integrato 2013/2014
C-1-FSE-2013-1697
Azione C1
“Scienza e Automazione – Modulo Robotica”
6° incontro: LEGO MINDSTORMS EV3
a.s. 2013/2014
Relatore Prof. Sebastiano Giannitto
DATA BLOCK
Constant
Variable
Array
Logic
Math
Round
Compare
Range
Text
Random
5° incontro: LEGO MINDSTORMS EV3
a.s. 2013/2014
Relatore Prof. Sebastiano Giannitto
Constant Block
Il blocco Constant consente di immettere un valore che si può
utilizzare in diversi posti nel programma. Se si modifica il valore
della costante, tutti i luoghi in cui si usa la costante avranno il
valore aggiornato.
Esempio
Questo programma utilizza una costante per fornire l'input
di potenza a tre diversi blocchi di movimento dello
sterzo. Modificando il valore della Costante, tutti e tre i
blocchi movimento dello sterzo avranno il nuovo livello di
potenza aggiornato.
Variable Block
Il blocco variabile permette di creare una nuova variabile,
denominarla, leggerla o scriverla nel programma.
AGGIUNTA DI UNA NUOVA VARIABILE
1. Inserire o selezionare un blocco variabile.
2. Utilizzare il selettore di modalità per
scegliere la modalità di scrittura.
3. Scegliere il tipo di variabile (numerica,
logica, Testo, array numerico o Array Logic).
4. Fare clic sul campo di testo sulla parte
superiore del blocco e selezionare
"Aggiungi variabili".Viene visualizzata la
finestra di dialogo Nuova variabile, come
illustrato di seguito.
5. Nella finestra di dialogo Nuova variabile, immettere un
nome per la variabile e fare clic su OK. Un nome di
variabile può essere una singola lettera, una parola, più
parole, o qualsiasi sequenza di lettere e numeri.
6. Dopo aver aggiunto la variabile, è possibile utilizzare il blocco variabile in modalità
di scrittura per immettere un iniziale valore per la variabile.
Scrittura di una variabile
1. Utilizzare il selettore di modalità per
scegliere la modalità di scrittura.
2. Scegliere il tipo della variabile.
3. Fare clic sul campo di testo blocco per
visualizzare il menu a comparsa
4. Selezionare Nome della variabile che si
desidera utilizzare.
Lettura di una variabile
1. Utilizzare il selettore di modalità per
scegliere la modalità di lettura e il tipo della
variabile.
2. Click il campo testo nella parte superiore
del blocco per visualizzare il menu a
comparsa e selezionare il nome della
variabile che si desidera utilizzare.
3. È ora possibile ottenere il valore della
variabile dal valore di uscita, e utilizzare
questo programma con un filo di dati
Esempi
Questo programma utilizza un blocco variabile in modalità di scrittura
per memorizzare un valore di dati dal sensore a colori nella variabile
denominata "Light", e poi utilizza un blocco variabile in modalità di
lettura per ottenere il valore e utilizzarlo successivamente nel
programma. Il programma è progettato per rendere un robot in auto di
andata e ritorno. Sul modo il robot si arresta su un colore che è almeno
altrettanto scuro come colore ha cominciato sopra.
Esempi
Questo programma conta il numero di volte che viene premuto un sensore
tattile e visualizza il conteggio sul display EV3. Esso utilizza una variabile
numerica denominata "Presse" per tenere traccia del numero di volte che è
stato premuto il sensore. Un blocco variabile in modo Write imposta il
valore iniziale di "presse" a 0 all'inizio del programma.All'interno del ciclo, il
programma aggiunge 1 al valore memorizzato nella variabile ogni volta che il
pulsante viene urtato. Questo viene fatto da ottenere il valore corrente con
un blocco variabile in modalità di lettura, utilizzando un Math blocco e fili di
dati per aggiungere 1, e scrivere il risultato nella variabile con un blocco
variabile in modalità di scrittura. Infine, un altro blocco variabile in modalità
di lettura viene utilizzata per ottenere il valore corrente e visualizzarlo.
Array Operations Block
È possibile creare un array, aggiungere elementi, leggere e scrivere singoli
elementi, e ottenere la lunghezza di un array.
Modalità: Append , Read a Index ,Write at Index , Length
La modalità Append aggiunge un elemento alla fine di un
array. È inoltre possibile creare un nuovo array. L' array in
ingresso specifica un array esistente, e il valore specifica
l'elemento da aggiungere alla fine della matrice. Se si lascia
l’ Array vuoto, verrà creato un nuovo array con solo il
nuovo elemento in esso.
L’ Array Out in uscita sarà un nuovo array contenente gli
elementi combinati.
Array Operations Block
La modalità Read at ndex ottiene il valore di un singolo
elemento di un array. La matrice in ingresso è la matrice
da utilizzare. L'elemento di ottenere è specificato
dal Index . Il primo elemento di un array ha un indice pari
a 0, il secondo elemento ha un indice di 1, e così via. Il
valore dell'elemento selezionato viene emesso in valore .
Quest tabella mostra alcuni esempi
Array Operations Block
La modalità write at Index cambia il valore di un singolo
elemento in un array. La matrice in ingresso è la matrice
originale. L'elemento di cambiare è specificato
dal Index . Il primo elemento di un array ha indice 0, il
secondo elemento ha un indice di 1, e così via. Il valore
da modificare nell'elemento selezionato è specificato
dal valore . La matrice originale non è influenzata .
La modalità Length ottiene la lunghezza di un array. La
lunghezza della matrice nella matrice in ingresso viene emesso
in lunghezza . La lunghezza di un array è il numero di elementi
nella matrice. Un array vuoto ha una lunghezza di 0, e una
matrice con un unico elemento in ha una lunghezza di 1.
Logic
Logic Operations Block
Il blocco Operazioni logiche fa un'operazione logica sui suoi
ingressi, e visualizza i risultati. Un'operazione logica prende
input che sono vere o false, e produce un Vero / Falso uscita.
Le operazioni logiche disponibili sono AND, OR, XOR e
NOT.
Logic Operations Block
Questo programma farà andare unrobot in avanti fino a quando non si
preme il Touch Sensor o il sensore rileva colore nero. Esso utilizza la logica
OR modo per combinare le uscite dei due blocchi di sensori in un unico
risultato True o False. Un risultato di True indica al ciclo di fine, e poi il robot
è fermo.
Math Block
Il blocco Math fa un calcolo matematico sui suoi input, e
restituisce il risultato. Si può fare una semplice
operazione matematica con uno o due ingressi, o inserire
una formula con fino a quattro ingressi.
Math Block
Questo programma sottrae 50 dall'uscita intensità della luce riflessa
del sensore colore blocco e utilizza il risultato come un ingresso di potenza
per un motore. Questo renderà il motore girare all'indietro quando il sensore
a colori vede qualcosa di oscuro e in avanti quando il sensore vede qualcosa
di leggero.
Math Block
In modalità Avanzata, il blocco matematica può calcolare una
espressione matematica utilizzando fino a quattro ingressi e
diverse operazioni matematiche in un solo passo.
Usa Data Wires per collegare fino a quattro valori numerici verso le A , B , C ,
e D ingressi. Gli ingressi non necessari possono essere lasciati in bianco o 0. Cliccare sul
campo di testo blocco nella parte superiore del blocco per immettere l'espressione
matematica in forma di testo da calcolare. L'espressione può includere gli ingressi per
nome come "A", "B", "C" e "D", costanti numeriche come "50", e simboli matematici
come "+". È inoltre possibile utilizzare le funzioni dall'elenco visualizzato e la parentesi
aggiuntivo per cambiare l'ordine delle operazioni. il risultato del calcolo dell'espressione
è disponibile nell’uscita Result.
Math Block
In questo programma il blocco Math calcola una potenza del motore
tramite gli ingressi provenienti dal sensore a colori e da due
variabili. L'intensità della luce riflessa dal sensore a colori è collegato
al input Ae le variabili denominate "Gain" e "Power" sono usati
per B e C . L'espressione "(A-50) * B + C" nel blocco Math sottrae 50 dalla
intensità della luce, moltiplica il risultato per valore di "guadagno", e poi
aggiunge il valore di "Power".
Round Block
Il blocco round arrotonda un numero decimale al numero
intero più vicino. È anche possibile troncare un numero
per un certo numero di cifre decimali.
Arrotonda al numero intero più vicino.
RoundBlock
Round Up arrotonda sempre al numero intero
superiore, e Round Giù arrotonda sempre al
numero intero inferiore
La modalità Truncate consente di eliminare tutte le cifre
decimali specificate in un numero decimale.
Compare Block
Il blocco Compare confronta due numeri per scoprire se sono
uguali, o che numero è maggiore. È possibile scegliere uno dei
sei diversi confronti. Il risultato in uscita è vero o falso.
Compare Block
Questa sequenza controlla se il valore della variabile "potere" è
superiore a 100, e in caso affermativo, si imposta su 100. Il blocco di
confronto confronta il valore della variabile con 100, e il risultato logico
viene utilizzato dallo switch per modificare il valore della variabile o
meno.
Range Block
Specifica se un numero è all'interno o all'esterno di un
intervallo numerico specificato. Il risultato in uscita è
vero o falso.
True se il numero è all'interno del range specificato.
True se il numero è al di fuori dell'intervallo
specificato.
Text Block
Il blocco di testo può combinare fino a tre
stringhe di testo in un'unica stringa di testo.
Questo programma prende una misura dell'intensità della luce riflessa dal sensore a
colori e lo utilizza come ingresso B per il text block. Il numero in uscita dal blocco
sensore a colori viene convertito automaticamente in testo da un Wire Data Il
blocco di testo poi aggiunge il testo "La riflessione è" prima del numero e il testo
"%" dopo il numero. Il risultato viene visualizzato come una singola stringa di testo
utilizzando un blocco di visualizzazione. Se l'uscita del sensore a colori è di 50,
dovrebbe essere visualizzato il seguente testo:
"La riflessione è del 50%".
Random Block
Emette un valore numerico o Logic casuale. È possibile
utilizzare il risultato del blocco casuale per fare scegliere
a caso al robot un’azione tra diverse.
Restituisce un valore intero casuale che rientra nella range
specificato dal Limite inferiore e limite superiore .
Restituisce un valore True o False. La probabilità che un valore
True sarà uscita è specificato dal Probability of
True ingresso. Questo ingresso è un valore percentuale da 0
a 100.Ad esempio, una probabilità del 25 comporterebbe una
probabilità del 25% che sia l’ uscita True e una probabilità del
75% che sia False l’ uscita.
Random Block
Questo programma effettua una serie continua di toni di frequenze casuali
nell'intervallo di 500 a 5000 Hz.
Questo programma sceglie
in modo casuale tra girare a
sinistra o svoltare a destra,
con un 50/% di probabilità
per ciascuna possibilità.