Quarto 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”
3° incontro: LEGO MINDSTORMS EV3
a.s. 2013/2014
Relatore Prof. Sebastiano Giannitto
I BLOCCHI DI FLUSSO
Start
Wait
Loop
Switch
Loop Interrupt
3° incontro: LEGO MINDSTORMS EV3
a.s. 2013/2014
Relatore Prof. Sebastiano Giannitto
START BLOCK
Il programma viene compilato, si scarica e la sequenza verrà eseguita
immediatamente
Se si fa clic sul pulsante verde in
entrambi i blocchi di avvio, è possibile
vedere le due sequenze eseguite
contemporaneamente.
WAITBLOCK
Il blocco di attesa consente di attendere per il
tempo specificato prima di passare al blocco
successivo.
Modes:Time, Sensor Compare Modes, Sensor Change Modes
il bloccoTime attende per la quantità di tempo
specificato nell’ Input secondi . È possibile
includere un punto decimale.
WAITBLOCK
SENSOR COMPARE MODES
Ciascuno dei sensori elencati nel Wait block ha uno o più modi
Compar. Una modalità Compare leggerà continuamente I dati dal
sensore e rimarrà in attesa che venga raggiunto un valore specificato
o certi valori specifici.
WAITBLOCK
SENSOR COMPARE MODES
Ciascuno dei sensori elencati nel Wait block ha uno o più modi
Compar.e Una modalità Compare leggerà continuamente I dati dal
sensore e rimarrà in attesa che venga raggiunto un valore specificato
o un set di valori .
Ad esempio, si potrebbe attendere che il sensore a
colori rileva un valore di intensità della luce riflessa che
è inferiore a 50. Se la modalità utilizza una porta,
utilizzare il selettore di porta per assicurarsi che la
porta corrisponda alla porta sul EV3 Brick che il
sensore o il motore è collegato. Scegli il tipo di
confronto che si desidera utilizzare dalla lista del
Compare Type Input e inserire il valore di soglia . Il
blocco attenderà fino a quando il confronto con la
soglia risulta essere vero.
WAITING FOR SPECIFIC SENSOR VALUES
È possibile attendere anche che uno o più pulsanti del
Brick venga premuto o rilasciato. Ad esempio, si
potrebbe attendere che il pulsante centrale venga
premuto.
Questo programma fa andare avanti un robot sino a che il pulsante centrale
del Brick non viene premuto poi si ferma ed emette un suono.
WAITING FOR SPECIFIC SENSOR VALUES
È possibile attendere sino a quando il sensore a
colori non individua uno o più colori specificati.
Ad esempio, è possibile attendere sino a quando
non si rileva il verde.
WAITING FOR SPECIFIC SENSOR VALUES
Si può aspettare anche che venga premuto un pulsante
sul tecomando a raggi infrarossi (IR Beacon ).
Selezionare uno o più pulsanti nel Set of Remote
Button IDs e immettere un numero Channel per l’IR
Beacon. Il blocco attenderà che venga premuto uno
dei pulsanti specificati. L’ ID del tasto premuto è dato
nell’ uscita Measured Value.
Remote Infrared Beacon
Questo programma fa girare il motore quando il tasto 1 sull’ IR Beacon è
premuto, poi si fermerà quando il tasto viene rilasciato. Il rilascio è rilevato
perchè si rimane in attesa che nessun tasto venga premuto Button ID = 0).
WAITING FOR SPECIFIC SENSOR VALUES
È possibile attendere sino a quando il sensore di
contatto venga urtato , premuto o rilasciato.
Oppure quando il sensore ad ultrasuoni rilevi la
presenza di un segnale proveniente da un altro
Ultrasonic Sensor .
Opuure sino a quando non viene ricevuto un
particolare messaggio che corrisponde a uno
già impostato.
SENSOR CHANGE MODES
Change
Ciascun sensore ha uno o più modalità di Change
Una modalità Change leggerà continuamente i dati dal sensore e attenderà un
cambiamento del valore specificato.
È possibile attendere per alcuni tipi di sensori che i dati varino da un certo
valore in poi o che vari semplicemente il valore.
È possibile scegliere la Direzione del cambiamento che
è necessario (aumentare, diminuire, o Tutti). Ad
esempio, si potrebbe attendere che il valore di intensità
di luce ambientale dal sensore di colore aumenti di 10
Il programma aspetta che l’intensità di luce del sensore di luce si
incrementi di 10 prima di avviare il motore .
WAITING FOR SPECIFIC SENSOR VALUES
Aspetta sino a quando uno dei tasti del Brick non
viene premuto o rilasciato.
Aspetta sino a quando il colore rilasciato da
sensore non cambia.
Aspetta sino a quando uno dei tasti del
Telecomando IR non viene premuto o rilasciato.
WAITING FOR SPECIFIC SENSOR VALUES
Aspetta sino a quando il sensore di contatto non
viene premuto o rilasciato.
Aspetta sino a quando riceve un messaggio diverso
da quello specificato.
LOOP BLOCK
E’ possibile controllare in che
modalità il loop verrà ripetuto.
Modes: Unlimited, Count,Time, Logic, Sensor Modes
LOOP BLOCK – Unlimited mode
I blocchi dentro il loop vengono ripetuti
continuamente
Questo programma fa andare il robot prima diritto e poi lo fa girare
più e più volte, fino a quando il programma viene interrotto.
LOOP BLOCK – Unlimited mode
Questo programma visualizzerà una bocca chiusa sul display ogni volta che si
preme il Touch Sensor, e una bocca aperta in caso contrario. Il ciclo fa il test
tramite un blocco switch blocco che viene ripetuto continuamente.
LOOP BLOCK : Count mode
I blocchi dentro il loop vengono ripetuti per un
numero finito di volte specificato nel Count Input
Questo programma fa dire al robot “Hello” una volta , poi “Go” sei volte, poi
“Bravo” per una sola volta.
LOOP BLOCK : Logic mode
I blocchi dentro il loop vengono ripetuti almeno una
volta e sino a quando l’ Until input è True.
Normalmente si colega questo input a un filo di dati
proveniente dall’uscita logica di un altro blocco
all’interno del ciclo per far si che la condizione
diventi True ed uscire dal ciclo.
Questo programma fa avanzare un robot fino a quando viene premuto il sensore
di contatto o il sensore di colore rileva il nero (quello che succede prima).
LOOP BLOCK : Logic mode
Confrontando idati di un Sensore con un valore di soglia
Ad esempio, si potrebbe fare un loop in circolo
fino a quando il sensore di colore rileva un
valore di intensità della luce riflessa che è
inferiore di un valore di soglia specificato.
Questo programma fa avanzare un robot ripetendo un suono per 3 volte fino a
quando il sensore di colore rileva un valore di intensità della luce riflessa
inferiore a 50, poi il robot si ferma.
Confrontando idati di un Sensore con valori specifici
LOOP BLOCK : Count output
L’output Count
L’ uscita Count posto all’inizio di un a Loop block ci idce quante volte il loop è
stato eseguito.
Questo programma visualizza sul display quante volte il sensore di toccato è
stato premuto e poi rilasciato. Un Wait block interno al loop fa attendere tra
una pressione e un rilascio.
LOOP BLOCK : Logic mode
RIDIMENSIONAMENTO DI UN LOOP
Il blocco Loop si espande automaticamente per fare spazio a nuovi blocchi di
programmazione che si trascinano in esso. È inoltre possibile ridimensionare un
blocco di loop manualmente se è necessario. Per ridimensionare un loop,
selezionare il blocco Loop, quindi trascinare i quadratini di ridimensionamento che
appaiono intorno alla parte esterna.
SWITCH BLOCK
E’ un contenitore che può contenere due o più sequenze di blocchi
di programmazione. Ogni sequenza è chiamata Case.
Un test all'inizio dello switch determina qual case verrà eseguito,
ad esempio sulla base di un valore di dati del sensore o un valore
da un filo di dati o Data Wire
SWITCH BLOCK
Il programma seguente fa dire al robot “Touch” and e poi testa se il
Sensore di contatto è premuto . Se si esegue il blocco di istruzione
True e il robot visualizzerà “Thumbs up” e dice “Yes”. Se no esegue
il blocco di istruzioni False e visualizza “Thumbs down” e
dice“No”. Alla fine il robot dirà “Thank you”.
SWITCH BLOCK
Lo switch può essere visualizzato in modalità Flat per vedere tutti i case in
righe differenti, oppure in modalità Tabbed e vedere un case alla volta.
SWITCH BLOCK
Utilizzare il Mode Selector per selezionare il tipo di test che si desidera.
È possibile verificare il valore da un sensore o da un filo dati che arriva da un
altro blocco(Data Wire ).
SWITCH BLOCK
In questo programma, il blocco switch utilizza il sensore di colori - Compare per verificare se l'intensità della luce riflessa è inferiore a 50. In caso affermativo,
visualizza "Low", altrimenti mostra "High". Lo switch si ripete in un loop in
modo che il display viene aggiornato continuamente sulla base di nuovi test dei
sensori.
SWITCH BLOCK
SWITCH MULTIPLI
Fare clic sul pulsante Add Case per creare il
numero di cause che si desidera. Per eliminare
Case fare clic su Remove Case
TESTING A VALUE FROM A DATA WIRE
MODALITÀ
Modalità Logic
Nella modalità Logic, uno switch sceglie in base al valore
del Logic ingresso. Si potrebbe collegare un'uscita logica da qualsiasi
blocco di programmazione per l'ingresso logico con un filo di dati (data
wire)
.
Modalità Testo
In modalità testo, l'interruttore confronta il valore del testo in ingresso con
due o più valori di testo specificato in ogni case. Il case che ha un valore
che corrisponde al testo di ingresso verrà eseguito. Se non corrisponde
alcun valore verrà eseguito il default case.
Modalità numerica
Nella modalità numerica, lo switch confronta il valore del numero di
ingresso con due o più valori numerici specificati nei vari case. . Ogni Case
in modalità numerica avrà un valore numerico che è possibile immettere
direttamente nel suo its Case Value.
TESTING A VALUE FROM A DATA WIRE
In questo esempio, un case in modalità testo utilizza l'uscita da
un Messaging blocco per scegliere fra tre diversi case, in base al messaggio
ricevuto.
TESTING A VALUE FROM A DATA WIRE
In questo esempio, un case in modalità numerico utilizza il valore di una
variabile come input per scegliere fra 3 diversi case. Se la variabile è diversa
da 1,2 e 3 viene eseguito il default case che non prevede alcun blocco.
RIDIMESIONAMENTO DI UNO SWITCH
Il blocco switch di solito si espande
automaticamente per fare spazio a
nuovi blocchi di programmazione che
si trascina nelle cause interne. È
inoltre possibile ridimensionare un
case manualmente se è necessario.
Per
ridimensionare
un
caso
all'interno Passare in visualizzazione
Flat fare clic sul bordo sinistro o
destro dello Switch dal case che si
desidera ridimensionare,
quindi trascinare i punti di
ridimensionamento che appaiono
intorno alla parte esterna.
SWITCH
Loop Interrupt Block
Questo programma ha un loop chiamato“01” che è configurato per ripetersi 6
volte. Comunque, una seconda sequenza aspetta la pressione di un sensore di
contatto e usa il loop Interrupt block per fermare il loop prima se si pigia il sensore
di contatto.