La Raccolta differenziata
Obiettivo: Programmare quattro pulsanti del telecomando IR con quattro rifiuti differenti. Il robot dovrà portare il materiale nella campana di smaltimento corretta e tornare nella posizione iniziale.
Problema
In tutte le città esiste un sistema di raccolta dei rifiuti. Sicuramente ti sarà capitato di vedere i camion adibiti al loro recupero. La raccolta differenziata sfrutta un codice colore per rappresentare la corretta campana di smaltimento. Normalmente il vetro si butta nella campana di colore verde, la carta in quella bianca o blu, la plastica in quella gialla mentre i rifiuti non differenziabili si posizionano in campane di colore variabile. In questa esercitazione programmerai mBot come se fosse un moderno camion a guida autonoma per lo smaltimento di rifiuti urbani. Identificato il rifiuto, il camion dovrà dirigersi autonomamente verso la zona di smaltimento corretta.
Materiali
Materiali necessari:
- mBot
- Telecomando IR
- Superficie piana dove far muovere mBot
- Pennarelli
Materiali aggiuntivi non obbligatori:
- Foglio di carta bianco di grosse dimensioni
- Piccole scatole
- Nastro adesivo
Progettazione
Dovrai programmare mBot immaginando che trasporti un rifiuto differenziabile (vetro, plastica, carta o altro). Una volta individuato il tipo di rifiuto, mBot dovrà raggiungere la campana di smaltimento corretta. Per identificare il rifiuto, utilizzerai i pulsanti A, B, C, D presenti sul telecomando e i led presenti sulla scheda mCore. Ad esempio, se mBot trasportasse un rifiuto plastico (pulsante A), dovrà segnalarlo attraverso un led di colore giallo e successivamente dirigersi alla campana di smaltimento plastica seguendo il percorso indicato.
Se hai a disposizione un foglio di carta molto grande, stendilo a terra e disegna quattro percorsi simili a quelli riportati nel video. Non è necessario che siano di colore nero ed uguali a questi. Tuttavia, se saranno diversi, non potrai seguire alla lettera il programma a blocchi risolutivo.
Alla fine di ogni percorso dovrà essere presente una zona di scarico del colore del rifiuto:
- Vetro – verde
- Carta – blu
- Plastica – giallo
- Indifferenziata – rosso
Se non hai a disposizione un foglio di carta, appoggia mBot sul pavimento e crea i percorsi con scatole, giornali oppure con del nastro adesivo. Identifica le zone di scarico con un foglio, scrivendoci sopra sia il tipo di rifiuto sia il colore ad esso associato, ad esempio: Plastica – Giallo.
Ora che hai preparato il “campo di gioco” si passa alla logica di programmazione per mBot.
Es. Percorso Carta(Blu):
Se “pulsante B del telecomando” è premuto
- imposta led di colore blu
- muovi mBot avanti per 4 secondi
- gira mBot a sinistra di 90 gradi
- muovi mBot avanti per 3 secondi
- gira mBot a destra di 90 gradi
- muovi mBot avanti per 2 secondi
- gira mBot a sinistra di 90 gradi
- muovi mBot avanti per 6 secondi
- ferma mBot
- avviso di scarico rifiuto luminoso e sonoro
- muovi mBot indietro per 6 secondi
- gira mBot a destra di 90 gradi
- muovi mBot indietro per 2 secondi
- gira mBot a sinistra di 90 gradi
- gira mBot a destra di 90 gradi
- muovi mBot indietro per 3 secondi
- gira mBot a destra di 90 gradi
- muovi mBot avanti per 6 secondi
- ferma mBot
- spegni led
Se noti, dalla barra rossa in poi le istruzioni sono le stesse ma specchiate. Questo perché non hai bisogno di ruotare il camion per tornare alla base. Basterà farlo muovere in retromarcia.
Implementazione
Crea due blocchi nella categoria “Dati&Blocchi” e chiamali “Gira_a_destra di 90 gradi” e “Gira_a_sinistra di 90 gradi”, definendoli come riportato. In questo modo non dovrai ripetere ogni volta tre istruzioni per far ruotare mBot.
Crea un altro blocco per l’avviso di scarico. Puoi definirlo come vuoi, con suoni e colori differenti.
Anche qui il risparmio è netto: un blocco invece di sei!
Ora puoi iniziare a trasformare in codice la logica di programmazione che abbiamo usato per il percorso Carta.
Infatti, come vedi, i blocchi descrivono passo passo la logica prima esposta.
Hai poi a disposizione parametri aggiuntivi, come velocità e colori dei led.
Questa parte di codice rappresenta solo il percorso di andata del robot.
Carica il programma su mBot e controlla che il robot non esca dal percorso. Ricorda che potrebbe non seguire in modo preciso le traiettorie perché, al contrario della programmazione software, il robot subisce gli attriti. Inoltre, una imperfetta distribuzione del peso può causare un moto non perfettamente lineare.
Se i tempi non dovessero essere corretti, modificali e riprova.
Una volta verificato il corretto funzionamento del programma, aggiungi le istruzioni mancanti specchiando le precedenti e invertendo i sensi di marcia e le rotazioni. Crea quindi un altro blocco e chiamalo “Carta”. Attacca il programma appena creato alla definizione di Carta e crea la scelta da effettuare con il telecomando IR. Se verrà premuto il tasto B sul telecomando, mBot eseguirà le istruzioni del percorso Carta.
Crea i tre blocchi (“Plastica”, “Vetro” e “Indifferenziata”) e programma i percorsi relativi. Ricordati di cambiare le luci utilizzate per individuare il rifiuto. Aggiungi i nuovi blocchi al menù di scelta del programma mBot.
Una volta finito, carica lo script completo sulla scheda mCore e testa il funzionamento del tuo programma con il telecomando.
Qui sotto trovi il video velocizzato della programmazione dei percorsi mancanti e del funzionamento del robot.
Download
Qui puoi scaricare i file contenenti la soluzione. Ricorda che, se necessario, dovrai cambiare i tempi di attesa tra un’istruzione e l’altra.
A cura di Filippo Lapide.