Ordine colorato (scuola media)
Creeremo un robot ordinato(re) che riconoscendo il colore di un oggetto lo sposterà nel settore dello stage dello stesso colore.

Cosa vogliamo ottenere
[modifica]Guardando il filmato si può comprendere lo scopo dell'attività. Il robot si muove in avanti su una superficie composta da diversi colori, colori che sono uguali a quelli degli oggetti da spostare. Il robot continua ad avanzare fino a quando il sensore colore non rileva alcun colore.
Quando il sensore rileva un colore, nel video blu o rosso, il robot aggancia l'oggetto ed indietreggia, il sensore del colore, fissato sul braccio-gancio punta sul pavimento e a questo punto ricerca il colore del bidone che ha agganciato.
Rilevato il colore dell'oggetto agganciato il robot si gira verso sinistra di 90° e rilascia l'oggetto che dovrebbe così trovarsi vicino alla piazzola dello stesso colore.
Il robot con il braccio alzato ed il rilevatore di colore che punta in avanti ricomincia ad avanzare.
Questa attività è una semplificazione del funzionamento dei magazzini automatizzati, nei quali la lettura del codice a barre permette al robot ordinato(re) di mettere in ordine un intero magazzino, nella foto i robot sono le due piattaforme gialle.

Nei magazzini automatizzati questi robot, che si muovono su due assi larghezza e altezza dello scaffale, sono in grado di raggiungere tutte le posizioni possibili e depositarvi ciò che lì deve essere immagazzinato.
Nell'attività proposta lo scaffale è rappresentato dalle piazzole di colore sul pavimento mentre il mettere in ordine corrisponde al posizionare gli oggetti di fianco alla piazzola dello stesso colore, ovviamente i colori sono una semplice rappresentazione dei codici a barre.
Cosa ci servirà
[modifica]- Robot spike prime
- Pezzi lego technics
- Due motori ruote
- Un motore braccio
- Sensore colore
- Fogli o cartoncini colorati
- Tablet o pc, che collegato via bluetooth con la centralina spike permettono la programmazione in modalità live
- Oggetti colorati
Sensore di colore
[modifica]Video per chi non ama leggere:
prof. Mattoncini, Tutti i SEGRETI del Sensore di Colore LEGO SPIKE Prime, su YouTube.

Il sensore di colore dello spike prime ha 4 diversi utilizzi.
- Riconoscimento colori
- Seguilinea
- Analisi RGB
- Rilevatore intensità luce
Per lo scopo della nostra attività abbiamo bisgono del riconoscimento colori.
Il sensore riconosce i colori restituendo un valore numerico:
| Colore | Valore |
|---|---|
| Nero | 0 |
| Magenta | 1 |
| Blu | 3 |
| Verde | 6 |
| Giallo | 7 |
| Rosso | 9 |
| Bianco | 10 |
| Nessun colore | -1 |
Anche per controllarne il funzionamento è opportuno inserire nel codice almeno uno dei due controlli che permettono di conoscere dinamicamente il colore rilevato dal sensore.

Con questi blocchi si ottiene che il colore rilevato venga stampato in modo scorrevole sui led presenti sull'unità centrale dello spike.

Questo è il codice che usando la variabile colore rilevato presenta sullo stage i valori del colore percepito dal sensore.
Le azioni che il robot esegue dipendono dai colori rilevati dal sensore.
Preparazione stage
[modifica]Gli oggetti da spostare possono essere costruiti con diverse soluzioni: scatole cubiche con attaccati fogli colorati o cilindri avvolti nella carta colorata. Sembrerebbe che il sensore di colore non rilevi in modo corretto le superfici colorate con pennarelli, cosa sperimentata dopo aver fatto alcune prove. Il rivestimento con fogli, o cartoncini, di colori omogenei garantisce un miglior rilevamento da parte del sensore.
-
Cilindri
-
Scatole
Il pavimento dello stage deve comprendere alcune piazzole colorate con i colori che devono essere gli stessi di quelli usati per i bidoni. Anche in questo caso è meglio usare carta, o cartoncino, colorato, cosa che però non garantisce che il sensore di colore rilevi lo stesso colore nelle due posizioni, di fronte in avanzamento, e, abbassato, dopo aver agganciato il carico. Questa discrepanza dipende anche dalle condizioni di illuminazione.
-
Sensore colore su
-
Sensore colore su
-
Sensore colore su
-
Sensore colore su
-
Sensore colore giù
-
Sensore colore giù
-
Sensore colore giù
-
Sensore colore giù
Costruzione del robot
[modifica]Per questa attività il robot necessario avrà a bordo 3 motori e dovrà essere in grado di girarsi di 90°.
Per ottenere un robot che tenga conto di queste due condizioni si dovrà usare una base che permetta di tenere abbastanza larghe le ruote che compongono la coppia motrice e che sia abbastanza stabile da sostenere il terzo motore, anche quando in movimento.
Per poter girare il robot non può avere 4 ruote la seconda coppia resisterebbe al cambiamento di direzione a meno di non essere sterzante. Una buona soluzione è quella di utilizzare la sfera cosa che permette al robot di girare utilizzando le ruote motrici ma che deve trovare stabilità ed equilibrio per sopportare il peso e le azioni del terzo motore.
-
Robot a 4 ruote non gira
-
Robot due ruote più sfera, il braccio è un po' troppo esposto
-
Robot a 4 ruote con due ruote mobili, braccio troppo esposto
-
Robot due ruote più sfera, vista da sotto
Programma da utilizzare
[modifica]Per programmare il codice da far eseguire allo spike si può usare l'editor online, meglio con chrome, su un pc, oppure la app Spike Lego Education da installare su un tablet o uno smartphone.

Per la programmazione dopo aver seleziona spike prime si può scegliere di usare l'interfaccia a blocchi.
Svolgimento
[modifica]Le azioni che il robot dovrà compiere sono:
- sapere di essere scarico
- avanzare
- riconoscere oggetto (colore)
- agganciare l'oggetto
- sapere di essere carico
- indietreggiare
- riconoscere piazzola
- posizionare oggetto
- rilasciare oggetto
- riposizionarsi
- ripartire

Le azioni del robot che avvengono in un ciclo continuo, per sempre, avvengono a secondo della condizioni di stato: scarico, braccio su, o carico, braccio giù.
sapere di essere scarico
[modifica]Per rendere al robot lo stato scarico usiamo la variabile braccio poichè la posizione alzata, valore su, corrisponde appunto al non aver agganciato nessun oggetto. Anche la variabile colore in questo momento non restituisce alcun colore ma al fine di avanzare in cerca di oggetti da caricare è sufficiente lo stato scarico, braccio = su.
La condizione braccio = su è sufficiente al robot per avanzare. In queste condizioni il robot non rileva alcun colore e dunque colore rilevato = -1.
riconoscere oggetto (colore)
[modifica]Ma se viene rilevato un colore, se colore rilevato >-1, e dunque viene trovato un oggetto il robot deve fermarsi,
arresta movimento, agganciare l'oggetto e cominciare a indietreggiare ricercando la piazzola.
Lo stato del robot viene identificato da due condizioni: l'essere carico, braccio = giù, e dal sapere anche il colore che sta trasportando, la variabile colore è stata posta uguale al colore dell'oggetto rilevato. Il robot sta indietreggiando...

Il braccio abbassato fa si che venga rilevato il colore del pavimento.
sapere di essere carico
[modifica]Il robot indietreggia con braccio = giù e colore = colore dell'oggetto, indietreggiando il sensore colore rileva il colore del pavimento che potrebbe essere bianco, colore rilevato = 10. Qualsiasi sia il colore dell'oggetto sarà diverso da -1 (nessun colore) e da 10 (bianco).
La condizione colore rilevato uguale a colore comunica al robot di essere arrivato sopra la piazzola con colore corrispondente a quello dell'oggetto. A questo punto il robot si ferma, si gira di 90°, rilascia l'oggetto, motore E, e si rimette in posizione rigirandosi di 90°, come ultimo passaggio porta la variabile braccio al valore su, braccio = su, rimettendosi nella condizione di avanzare.

Come gira il robot.
Video per chi non ama leggere:
prof. Mattoncini, Tutti i SEGRETI del Sensore di Colore LEGO SPIKE Prime, su YouTube.
Note
[modifica]Potrebbe essere utile che il robot vada più dritto prima o dopo aver girato.
Inserendo una linea nera sul pavimento ed utilizzando la funzione seguilinea, almeno per la parte di percorso con braccio abbassato.
Una soluzione più elegante, anche se complessa, è l'utilizzo del giroscopio.