L'esperienza proposta agli alunni durante l'atelier di informatica consiste nel montaggio di un robot linefollower. In robotica, il termine linefollower indica un automa capace di seguire un percorso tracciato al suolo.

Errore nel caricamento dell'oggetto Flash.

Il "cervello" del nostro robot é costituito da un mattoncino Lego programmabile, denominato RCX. L'RCX può essere programmato in diversi linguaggi di programmazione ed é munito di tre porte di ingresso e tre porte di uscita.

Per seguire il tracciato il robot sfrutta due sensori ottici capaci di misurare la quantità di luce riflessa da una superficie.


I sensori utilizzano un diodo led di colore rosso per illuminare il pavimento e un fotodiodo per misurare quanta luce vi si riflette. In questo modo é possibile determinare se un sensore é posto sulla riga, la cui superficie nera é poco riflettente, o se invece il sensore si trova sopra l'area bianca, che riflette più luce.


I due sensori sono posti sull'avantreno del robot e sono connessi alle porte di ingresso 1 e 3.


La propulsione del robot é realizzata con due motori elettrici montati sul sull'avantreno, uno aziona la ruota sinistra, mentre l'altro aziona la ruota destra. I due motori sono collegati rispettivamente alle porte A e C.

Errore nel caricamento dell'oggetto Flash.

Questo montaggio consente al robot di sterzare azionando un solo motore alla volta e di andare diritto azionandoli entrambi.

Errore nel caricamento dell'oggetto Flash.
Errore nel caricamento dell'oggetto Flash.

Il programma che governa il robot é stato prodotto con un ambiente di sviluppo fornito dalla Lego, chiamato ROBOLAB, che mette a disposizione un linguaggio di programmazione grafico:


Il programma comincia nel punto indicato dal semaforo verde , il flusso logico é determinato dalle connessioni rosa   e la fine del programma é rappresentata del semaforo rosso . Il simbolo   rappresenta una scelta basata sul valore letto da un sensore di luce. I motori sono pilotati con i comandi       . La freccia puntata verso l'alto   rappresenta un "salto"; qui il programma si interrompe e ricomincia dove é posizionata la freccia puntata verso il basso   che rappresenta l'atterraggio.


L'algoritmo utilizzato per il nostro linefollower può essere rappresentato del seguente diagramma di flusso: