Ambiente di programmazione visuale Thymio
Il linguaggio di programmazione visuale (VPL - Visual programmi Language) consente di programmare Thymio in modalità visuale. E' disponibile in due modalità:
- Il programma Thymio VPL ti dà un solo un ambiente di programmazione visuale.
- Il VPL è anche disponibile come plug-in di Aseba Studio. Fai Click su Lancio VPL nel tab Strumenti per avviarlo.
I file di programma salvati in un ambiente possono essere riaperti nell'altro e viceversa.
Per gli utenti delle versioni precedenti
La versione, 1.4 e le seguenti, aggiungono nuove funzionalità. Se sei un utente utilizzatore della versione 1.3 o precedente, leggi la guida di transizione.
Panoramica dell'ambiente
Nell'ambiente VPL, un programma viene creato assemblando coppie di blocchi di "evento" e "azione". La schermata si presenta in questo modo:
- La barra degli strumenti contiene i bottoni per aprire e salvare file, caricare e arrestare l'esecuzione del codice e modificare la modalità dell'editor (base e avanzata).
- Questa area è utilizzata per scrivere del codice. Il codice scritto in quest'area istruisce il robot su come comportarsi.
- Questa linea indica se le istruzioni sono complete e scritte correttamente.
- I blocchi evento determinano quando il robot deve eseguire un'azione. Questi blocchi possono essere aggiunti al codice cliccando su essi e trascinandoli nel quadrato di sinistra di una coppia evento-azione che compare nell'area programma.
- I blocchi azione determinano determinano cosa il robot deve fare. Questi blocchi possono essere aggiunti al programma cliccando su essi e trascinandoli nel quadrato di destra di una coppia evento-azione che compare nell'area programma.
- Nella modalità VPL autonoma il testo di programma corrispondente viene scritto in quest'area. Quando VPL viene aperto da Aseba Studio il testo di programma viene scritto in Aseba Studio.
Si può scaricare un file compresso contenente le immagini di tutti i blocchi evento/azione cliccando qui.
Bottoni della barra strumenti
Creare le coppie
Programmare in VPL consiste nell'associare un blocco evento con uno o più blocchi azione in una coppia. Puoi farlo trascinando i blocchi nelle coppie evento-azione nell'area di programma. Ad esempio una coppia composta di un evento bottone e un'azione motore dice al robot di muoversi quando un bottone viene toccato.
Si possono assemblare più coppie di differenti istruzioni. Le coppie possono essere trascinate per modificare la sequenza. Cliccando sul bottone + si inserisce una nuova coppia mentre cliccando su X si rimuove la coppia. Una volta che il programma è stato creato, deve essere ricaricato nel robot cliccando il bottone carica ed esegui.
Per riassumere i passi per la programmazione visuale sono:
- Trascinare un blocco evento sulla parte sinistra di una coppia evento-azione.
- Trascinare uno o più blocchi azione nella parte destra della una coppia evento-azione.
- Ripetere i passi 1 e 2 fino a quando il programma è completo.
- Fare click sul bottone carica ed esegui e vedere se il robot si comporta come atteso.
Modo Base
Quando il VPL si avvia, è nella modalità base. In questa modalità solo alcuni blocchi vengono mostrati. In questo modo si dispone di un'interfaccia più semplice pensata per una programmazione elementare per chi si trova alle prime armi con Thymio.
Blocchi evento
Blocchi azione
motori | Questa azione permette di indicare la velocità del motore destro e sinistro (e quindi delle ruote). | |
colore superiore | Questa azione cambia il colore della parte superiore del robot, come miscela di rosso, verde e blu. (RGB). | |
colore inferiore | Questa azione cambia il colore della parte inferiore del robot come miscela di rosso, verde e blu. (RGB). | |
musica | Questa azione esegue una melodia a 6 note definita dall'utente. Per ogni nota, più in alto è il punto, più alta sarà la tonalità. Una nota bianca raddoppia la durata. Per creare una nota, fare click sul rigo dove si vuole appaia. Cliccando sulla nota se ne cambia la durata (nera o bianca). |
Modo avanzato
Cliccando il bottone Modo avanzato nella barra degli strumenti si abilitano i programmi VPL a definire ed usare uno stato interno.
Vengono anche aggiunti nuovi blocchi e versioni avanzate di alcuni blocchi specifici.
Lo stato interno
La risposta di un robot ad un evento può dipendere dallo stato del robot. Per esempio, assumendo che voi siate il robot, il pranzo è l'evento, mangiare è l'azione, ma cosa mangiare dipende dal vostro stato, la sensazione di caldo o freddo.
Quando sentite caldo preferireste mangiare un panino per pranzo. Quando sentite freddo invece potreste preferire una zuppa calda a pranzo. Quindi:
- sono le 12:00 e il tempo è freddo → zuppa calda per pranzo
- sono le 12:00 e il tempo è caldo → mangiare un panino per pranzo
In termini di coppie evento-azione, l'azione del robot dipende sia da un evento che da uno stato del robot. ad esempio:
- Evento clap e robot in stato 0 → Accendi la luce blu
- Evento clap e robot in stato 1 → Accendi la luce rossa
Per cambiare lo stato il modo avanzato introduce l'azione stato (vedi a destra). Nel modo avanzato nei blocchi evento sulla destra compaiono 4 bottoni che corrispondono ai 4 bit della variabile di stato, che possono essere sia zero che 1 (inizialmente sono a 0). Lo stato corrente del robot è mostrato nella sua parte superiore sfruttando 4 led a croce del cerchio di led giallo. (il LED è spento per 0 e acceso per 1). L'azione di stato può configurare qualsiasi combinazione di questi 4 bits a 1 o 0. Per l'evento, i bottoni di stato agiscono come filtro: se il bottone è grigio il bit viene ignorato, se arancione il bit deve essere a 1, se bianco il bit deve essere a zero perché l'evento possa verificarsi.
L'esempio di programma seguente fa in modo che il robot diventi blu o rosso quando sente un battito di mani, a seconda dello stato in ci si trova. Lo stato viene fatto cambiare toccando i bottoni del robot:
Blocchi addizionali
Nel modo avanzato vedrai tre nuovi blocchi. Due sono relativi al timer, un modo per scatenare un'azione dopo un certo tempo, e uno che consente di configurare lo stato interno.
tempo scaduto | Questo evento accade quando scade il tempo del timer | |
timer | Questa azione avvia un timer con un tempo pre-impostato da 0 a 4 secondi, prescelto dall'utente facendo click sul quadrante dell'orologio. Quando il tempo scade, viene generato l'evento timer. | |
stato | Questa aziona configura lo stato interno a 4-bit del robot (vedi modo avanzato). Grigio significa mantieni il valore corrente, bianco significa valore a 0, giallo significa valore a 1. |
Versione avanzata di blocchi esistenti
Ecco alcuni blocchi che possiedono una versione avanzata. Sono simili ai blocchi base, ma hanno alcune funzionalità aggiuntive.