Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Color-Sorter EV3

No description
by

Umberto Druetta

on 10 November 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Color-Sorter EV3

PROGETTO
FRINGUELLO - DRUETTA

Grazie alla tecnologia che sta sviluppando la casa LEGO, oggi chiunque può cimentarsi nella robotica.






EV3 è la terza generazione della serie LEGO Mindstorm, l'evoluzione della serie NXT.
Vi sono molte variazioni del modello base. In questo progetto, andremo ad analizzare il
Color-Sorter
(Divisore di colori).
I componenti principali per questo robot su cui possiamo agire nella programmazione sono:
Display;
Motore grande;
Motore medio;
Sensore colore;
Sensore contatto;
Analizziamo più nel dettaglio le singole
componenti.
Sul
display
vengono visualizzate le
informazioni, come ad esempio il
numero di cicli o semplici istruzioni
per l'utilizzatore, fra cui anche simboli.
Si possono inoltre gestire le modalità con cui vengono visualizzati i contenuti (griglia o pixel).
Su di esso sono posizionati dei tasti, mediante i quali
si possono controllare varie fasi del programma.
Il
motore grande
nel nostro progetto è stato utilizzato per far muovere il cingolato a cui è collegata la struttura per l'espulsione dei blocchi colorati.
Dispone di un sensore di rotazione incorporato con una sensibilità di
1° per un controllo estremamente
preciso. Questo motore è fondamentale per realizzare la base motrice dei robot.
Il suo regime di rotazione è di 160-170 rpm con una con una coppia massima di 40 N/cm
Il
motore medio
ha una potenza minore di quello grande, tuttavia rispetto a questo ha tempi di risposta minori ed un regime
massimo di rotazione
più elevato
(240-250 rpm con una coppia di
picco di 12 N/cm).
Anche in questo caso la sensibilità è di 1° e la precisione risulta quindi molto elevata. Nel nostro progetto è stato utilizzato per l'espulsione dei blocchi colorati.
Il
sensore di contatto
è un sensore analogico in grado di percepire le variazioni di pressione che vengono esercitate sul suo bottone rosso, permettendo quindi di determinare tre differenti casi:

1- premuto;

2- rilasciato;

3- premuto e rilasciato.

Nel nostro progetto è stato usato per controllare che il Color-Sorter si trovasse a fine corsa, quindi ha svolto la funzione 1.
Il
sensore di colore
è un sensore digitale, dotato di 3 modalità:
1- Colore, in cui è possibile rilevare sette diversi colori (nero, blu, verde, giallo, rosso, bianco e marrone) oltre
a nessun colore;
2- Intensità luce riflessa,
che permette di rilevare
l'intensità luminosa di una
sorgente artificiale;
3- Intensità luce ambientale, che permette di rilevare l'intensità luminosa di una sorgente ambientale.
Abbiamo programmato il robot mediante il software della LEGO che presenta una UI semplice ed intuitiva. Il linguaggio di programmazione, infatti, si esprime attraverso dei semplici blocchi (ognuno dei quali corrisponde ad un'azione specifica) che vengono collocati in successione nel riquadro apposito.





La gestione delle variabili avviane in modo semi-automatico, ovvero se ve ne è una sola il programma la imposta come unica variabile.
Il codice è costituito da diversi cicli, posti l'uno interno all'altro. Vi è un loop principale che non si interrompe fino a quando non viene spenta la macchina; al suo interno sono contenute tutte le istruzioni per dividere i colori.
La prima parte è di controllo, poiché vengono verificate le condizioni iniziali che deve avere il Color-Sorter (ad esempio verificare che non vi siano già dei mattoncini inseriti e che il robot si trovi nella posizione iniziale verificando la pressione con il sensore di contatto). Dopo di che si passa al ciclo dedicato all'input dei colori che si interrompe solo quando si preme il tasto centrale del display o quando si supera il numero massimo di mattoncini (8); in un vettore numerico vengono memorizzati dei valori che corrispondono ai diversi colori. Abbiamo inoltre aggiunto uno script che permette, una volta letto il colore del mattoncino tramite sensore colore, di riprodurre un suono con rispettivo nome del colore. Viene inoltre emesso un tono diverso per ogni colore.
Una volta terminato questo primo ciclo si passa alla divisione dei mattoncini in base al colore; il motore grande viene fatto ruotare di ampiezze differenti per ogni colore, che viene riconosciuto attraverso la lettura del colore numerico contenente i codici dei vari colori, dividendo così i blocchetti in base alla tonalità. Successivamente entra in azione il motore medio che espelle il mattoncino e nel mentre viene riprodotto ancora una volta il nome del colore attraverso l'altoparlane. Dopo ogni espulsione il motore principale fa ritornare il Color-Sorter alla posizione di partenza (fino a quando il sensore di contatto non rileva la pressione), per poi ricomiciare la procedura da capo.
Per facilitare l'uso del robot anche ad uno user meno esperto, sul display EV3 vengono visualizzate delle freccie che indicano dove posizionare il mattoncino e viene visualizzato il contatore del numero di cicli.
Full transcript