Il robot Thymio II ha un foro centrale che può contenere un pennarello, per esempio, per effettuare i disegni. Ci sono diversi modi per decidere cosa disegnare. Un modo semplice è quello di controllare il robot da remoto (con un telecomando IR o con battito delle mani) in modo da farlo disegnare come desiderato. L'altro modo è quello di selezionare il disegno programmaticamente. Questa pagina presenta alcuni esempi di programmi con disegni corrispondenti.

Il modo più semplice è quello di disegnare sequenze di curve e linee rette, con un contatore di tempo che determina le lunghezze delle linee stesse.
Ecco un piccolo programma che sfruttando l'evento lettura della temperatura, che si verifica ogni secondo come clock, fa un loop di conteggio usando la variabile itera che cosí aumenta di uno ogni secondo. Con tre if si innescano diverse sequenze (gira quando Itera è 1, anticipo quando Itera è 4) e ripristino a zero (chiudendo il loop) con l'ultimo caso:
var itera = 0
onevent temperature
itera = itera + 1
if itera==1 then
motor.left.target = 230
motor.right.target = -120
end
if itera==4 then
motor.left.target = 80
motor.right.target = 80
end
if itera==7 then
itera = 0
end
Il disegno risultante é il seguente:

In alternativa ci si puó muovere avanti e indietro con un programma molto simile:
var itera = 0
onevent temperature
itera = itera + 1
if itera==1 then
motor.left.target = 100
motor.right.target = 90
end
if itera==4 then
motor.left.target = -100
motor.right.target = -70
end
if itera==7 then
itera = 0
end
Il disegno risultante é riportato nella figura seguente:

Si possono alternare diverse sequenze che rendono i disegni regolari. Se si vuole interrompere la regolarità una variabile può essere aggiunta. L'esempio seguente aggiunge una variabile speed che viene incrementata regolarmente e che definisce la lunghezza delle rette aumentando la velocità del robot:
var itera = 0
var speed = 30
onevent temperature
itera = itera + 1
if itera==1 then
motor.left.target = 230
motor.right.target = -140
end
if itera==4 then
motor.left.target = speed
motor.right.target = speed
speed = speed + 2
end
if itera==7 then
itera = 0
end
Il disegno risultante é il seguente:

Un altro esempio di figura regolare ottenuta con una variabile:
var itera = 0
var speed = 20
onevent temperature
itera = itera + 1
if itera==1 then
motor.left.target = 140
motor.right.target = -140
end
if itera==4 then
motor.left.target = speed
motor.right.target = speed
speed = speed + 2
end
if itera==7 then
itera = 0
end
Qui é riportata l'immagine che si ottiene:

se si guarda con attenzione, si vede che questo disegno è costruito con due spirali, meglio visibile qui:

Infine è possibile effettuare una spirale più chiara con il seguente codice, in cui il robot si muove in avanti, quindi indietro per un tempo più breve, e poi si riduce la velocità di 1/10, e così via:
var itera = 0
var speed = 256
timer.period[0] = 1000 # 1000ms = 1s
onevent timer0
itera = itera + 1
if itera==1 then
motor.left.target = speed
motor.right.target = speed
end
if itera==4 then
motor.left.target = -speed
motor.right.target = -speed
end
if itera==6 then
motor.left.target = -40
motor.right.target = 40
speed = speed - (speed / 10)
end
if itera==7 then
itera = 0
end
[[/code]]
Qui é l'immagine risultante:

Questo video illustra l'intera sequenza di disegno:
Speriamo di avervi fatto venire il desiderio di provare questi semplici programmi che danno dei disegni molto diversi. Non esitate a pubblicare i vostri risultati su questa pagina!