1. Didattica della robotica
con Lego Mindstorms NXT 2
lezione introduttiva
Prof. Michele Maffucci
CC-BY-SA Prof. Michele Maffucci
2. CC-BY- Prof. Michele Maffucci
Argomenti
● Introduzione
● Consegna
● Costruiamo il robot
○ Supporti per ruote e pulsanti
○ Ruota posteriore
○ Pulsante anteriore
○ Sensore ad ultrasuoni frontale
○ Motori
○ Collegamento sensore e motore
● Progettare
● Programmare
● Esercizi
Il codice e le slide utilizzate sono suscettibili di variazioni/correzioni che
potranno essere fatte in ogni momento.
Struttura della lezione
CC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2
4. La seguente presentazione intende fornire le competenze di base per la realizzazione di lezioni di
didattica delle robotica nella scuola media e nel biennio della scuola superiore.
Il metodo adottato per lo svolgimento delle lezioni è per scoperte successive, in nessuna occasione
vengono fornite istruzioni preliminari sull’uso dell’interfaccia di programmazione o sul metodo di
collegamento dei vari componenti, il tutto avverrà durante l’esecuzione della costruzione e della
programmazione, lasciando allo studente la possibilità di scoprire alternative e miglioramenti alle
soluzioni proposte sotto la guida del docente.
Il docente che intendesse sviluppare un percorso di didattica della robotica per insegnare informatica o
matematica, potrà utilizzare questa prima lezione come base per sviluppare moduli didattici aggiuntivi. La
presentazione è da intendersi introduttiva ed è il mio personale tentativo di strutturare un percorso
modellabile a seconda del tipo di scuole (media o superiore) su cui chi vorrà potrà effettuare
miglioramenti su quanto da me scritto.
Questa lezione introduttiva è tratta dal percorso di didattica della robotica da me realizzato e svolto nel
primo biennio della scuola superiore.
Per contatti ed ulteriori informazioni rimando alle ultime pagine di questa lezione.
Grazie
Ulteriori approfondimenti e risorse a questo corso possono essere trovate sul mio sito personale al
seguente link:
http://www.maffucci.it/
Prof. Michele Maffucci
Didattica della robotica con Lego Mindstorms NXT 2 Introduzione
CC-BY-SA
5. Costruiamo il robot
Prof. Michele MaffucciCC-BY-SA
GIANO Rover
robot didattico
Didattica della robotica con Lego Mindstorms NXT 2
50. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Cosa bisogna sapere
● aritmetica di base
● numeri decimali e frazioni
● relazione tra diametro e
circonferenza
● conversioni millimetri
centimetri
56. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Power (Potenza): Questo cursore controlla la velocità del motore.
A basse velocità del motore potrebbe non esserci sufficiente forza di
rotazione (coppia) per permettere il movimento del robot. In generale,
livelli di potenza compresi tra 10 e 100 sono appropriati per la maggior
parte degli esperimenti.
57. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Duration (Durata): la proprietà più importante della finestra di
configurazione, permette di controllare per quanto tempo il motore
girerà. Sono possibili 4 opzioni: illimitato, angolo, numero di rotazioni e
secondi. In questo esercizio useremo solo gradi e numero di rotazioni.
58. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Next Action (Azione Successiva): è possibile specificare cosa deve
accadere una volta che il motore ha cessato la sua azione. La differenza
tra le due azioni è molto simile a quanto è possibile fare con una
automobile: ci si può fermare bruscamente (Brake) oppure lentamente
(Coast).
59. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Un po’ di matematica e geometria
La circonferenza di una ruota può essere calcolata come:
c = π × d
dove:
c = circonferenza
π = 3,14 (approssimato)
d = diametro della circonferenza
Per una ruota standard di un NXT il diametro d è di 45 mm dalla formula
sopra abbiamo che la circonferenza c è:
c = 3,14 x 45 mm = 141 mm (circa)
60. Sapendo la distanza tra le due ruote del
robot che abbiamo costruito (168 mm)
possiamo ricavare quale deve essere la
distanza che deve compiere il robot per
fare mezzo giro.
Sappiamo che: c = π × d
sappiamo che il diametro è di:
167 mm
allora per compiere mezzo giro il robot
dovrà compiere mezza circonferenza:
c/2 = (π × d)/2
quindi:
(3,14 x 167)/2 = 262 mm
262 mm è la distanza che le ruote
devono percorrere per compiere mezzo
giro.
Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
61. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Domanda:
quante rotazioni deve fare ogni singola ruota per far
girare di mezzo giro il robot?
Abbiamo visto che:
la distanza compiuta da una rotazione completa di un NXT è di 141 mm
la rotazione di mezzo giro del robot avviene facendogli percorrere 262 mm
allora il numero di rotazioni che le ruote devono compiere per far eseguire mezzo
giro sarà:
Rotazioni = (262 mm) / (141 mm) = 1,86 rotazioni
Una rotazione corrisponde a 360° quindi 1,86 rotazioni corrisponderanno a:
360 x 1,86 = 670°
62. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Utilizzando del nastro di carta adesivo sagomare una freccia da applicare come
rappresentato nell’immagine.
63. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Muovere il robot in avanti facendo girare di 90° le ruote
programma 1
64. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Muovere il robot in avanti facendo girare le ruote di
0.25 rotazioni
programma 2
65. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
0,25 rotazioni = 90°
equivalente ad 1/4 di rotazione
di un’intera circonferenza
programma 2
66. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Utilizzando un foglio di carta millimetrata o un righello
verificare qual’é la distanza percorsa del robot quando le
ruote girano di una rotazione.
Dovreste verificare che questa distanza corrisponde alla
circonferenza delle ruote, circa 141 mm.
programma 3
67. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Utilizzando un foglio di carta millimetrata o un righello
verificare qual’é la distanza percorsa del robot quando le
ruote girano di 3,55 rotazioni.
programma 4
68. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Muovete il robot in avanti 3,55 rotazioni velocemente e 3,55
rotazioni indietro lentamente.
programma 5
69. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Movimento in avanti:
● 130 mm con power a 25
● 130 mm con power a 50
● 240 mm con power a 75
Movimento indietro:
● 130 mm con power a 15
● 130 mm con power a 40
● 240 mm con power a 65
programma 6 1/5
70. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
Ma qual’é la relazione che intercorre tra la distanza percorsa e il numero di
rotazioni delle ruote?
Sappiamo
1 rotazione corrisponde al diametro della ruota: 141 mm
Conosciamo le distanze che compie il robot
Calcolo
impostiamo la proporzione:
1 : 141 = rotazioni : distanza-da-percorrere
da cui:
programma 6 2/5
74. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
programma 7
Fare girare in senso orario di 180° il robot sul proprio asse
(le ruote devono compiere una rotazione di 670° o di 1,86
rotazioni)
75. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Programmare
programma 8
Far avanzare il robot di 500 millimetri, ruotare di 180° tornare
al punto di partenza e riposizionarsi, ruotando nuovamente
in senso orario di 180°.
1/6
82. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Esercizi
Esercizio 1
Far compiere al robot un percorso in senso orario avente la
forma di un quadrato di lato 500 mm.
Il robot deve assume come posizione finale quella che aveva
all’atto della partenza.
83. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Esercizi
Esercizio 2
Far compiere al robot 1 giro in senso orario avente la
forma di un quadrato di lato 500 mm e successivamente 1
in senso antiorario sempre sullo stesso quadrato.
Il robot deve assume come posizione finale quella che aveva
all’atto della partenza.
84. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Esercizi
Esercizio 3
Far compiere al robot un percorso a forma di 8 descritto su un percorso fatto da due quadrati di lato 500
mm.
Il robot deve assume come posizione finale quella che aveva all’atto della partenza.
85. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Esercizi
Esercizio 4
Sviluppare gli esercizi 1/2/3 utilizzando l’istruzione Loop che vi permette di ripetere ciclicamente una o
più istruzioni.
Per eseguire questo esercizio individuate quali sono le istruzioni che si ripetono ciclicamente.
1/4
89. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Esercizi
Esercizio 5
Far compiere al robot un percorso in senso orario avente la forma di un triangolo rettangolo avente i
due cateti lunghi 500 mm. Il robot deve partire come rappresentato in figura (parallelamente ad uno dei
due cateti).
Il robot deve assume come posizione finale quella che aveva all’atto della partenza.
90. Prof. Michele MaffucciCC-BY-SA
Didattica della robotica con Lego Mindstorms NXT 2 Esercizi
Esercizio 6
Far compiere al robot un percorso in senso orario avente la forma di un trapezio rettangolo avente lato
maggiore di 1500 mm e lato minore di 500 mm. Il robot deve assume come posizione finale quella che
aveva all’atto della partenza.