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.
© Copyright 2024 Paperzz