Archivi tag: mindstorms

ROB-O-COD… tanto tempo fa era un LegoDuino

Mi è stato chiesto qualche giorno fa quale piattaforma fosse stata scelta per la realizzazione dei Robot per le gara per la trasmissione ROB-O-COD.

La scelta è stata attentamente valutata, anche con sperimentazioni pratiche che mi hanno coinvolto in prima persona.

Nel “brodo primordiale delle idee” 🙂 circa 1 anno fa, erano state considerate diverse tecnologie: BBC micro:bit, robot basati su Arduino e dopo tanto sperimentare e progettare, si è giunti a Lego Mindstorms EV3, i motivi di questa scelta, condivisi tra tutte le persone che hanno partecipato alla realizzazione della trasmissione sono stati molti, i principali: rapidità di assemblaggio e modifica dei robot in un ambito di studio televisivo, personalizzazione delle strutture, interfaccia grafica di programmazione intuitiva… e molto altro.

Nelle prime fasi di progetto ho valutato e sperimentato soluzioni miste, interfacciando, motori Lego Mindstorms con Arduino.
In passato avevo realizzato LegoDuino (seguendo il link potrete vedere un video dimostrativo) l’obiettivo era quello di realizzare dei robot Sumo, su di essi avevo inserito sensori ad ultrasuoni ed infrarossi.

Per ROB-O-COD, ho variato la versione Sumo in una versione cingolato su cui ho svolto le primissime sperimentazioni:

Ma come realizzare una soluzione mista?

Poiché mi è stato chiesto espressamente da alcuni colleghi, di seguito propongo un breve tutorial per la realizzazione di una struttura mista (Lego+Arduino) in modo che possiate poi da soli replicare le modalità di gara così come le potrete vedere nella trasmissione ROB-O-COD.

Il motore Lego Mindstorms, sia nella versione NXT che EV3 funziona ad una tensione di 9V e possiede al suo interno un encoders rotativo con una risoluzione di 1 grado, il controllo avviene mediante i cavi gialli e blu, nel tutorial che mostro però non utilizzerò l’encoder, ma solamente i due cavi bianco e nero utilizzati per l’invio del segnale PWM questi pin vengono chiamati MA0 e MA1 (tabella pin indicata di seguito).

Per effettuare il collegamento tra motore ed Arduino potete utilizzare una piccola interfaccia che permette di collegare i cavi BrickLink (noto anche come RJ12) in dotazione ai kit Lego Mindstorms, con la breadboard, i connettori si chiamano:

Breadboard Connector Kit for NXT or EV3 (seguite il link)

Nel caso non riusciste a procuravi questo adattatore, tagliate il cavo BrickLink ed utilizzate solamente i cavi bianco e nero, saranno questi che verranno collegati direttamente ad Arduino.

Di seguito la mappatura del cavo, per la numerazione fate riferimento a quanto indicato nell’immagine in cui è rappresentato il motore:

PIN    Colore    Nome
 1     Bianco    MA0
 2     Nero      MA1
 3     Rosso     GND
 4     Verde     4.3V dal mattoncini Lego
 5     Giallo    Tach01 (Encoder rotativo)
 6     Blu       Tach02 (Encoder rotativo)

Per procedere nella sperimentazione dovete munirvi di:

  • Scheda Arduino UNO R3 o simili
  • Scheda motore L298N
  • Breadboard Connector Kit for NXT or EV3 (in alternativa tagliate i cavi)
  • Uno o due motori Lego NXT o EV3

Il principio di funzionamento, inclusi i collegamenti, la programmazione e il funzionamento della scheda motori L298N sono identici a quelli che trovate nella lezione:

EduRobot – ASL (Alternanza Scuola Lavoro) – Manuale di costruzione – 2/3

Seguendo la lezione sarete in grado di realizzare un robot costituito da elementi Lego, scheda Arduino e sensori, tutto facilmente reperibile on-line a costi contenuti.

Aggiungo a quanto già indicato nella lezione segnalata sopra, gli schemi di collegamenti con la presenza dei motori Lego alimentati mediante una batteria esterna a 9V.

E se poi siete “puristi Lego” 🙂 allora partendo dai tutorial che trovate nell’ambiente di programmazione della versione LEGO MINDSTORMS EV3 Home Edition potrete realizzare qualcosa di molto simile a quanto mostrato nell’immagine che segue…

e ricordare: #ROB_O_COD è tutto un programma!

🙂

Compatibilità motori e sensori NXT su Lego Mindstorms EV3

Posseggo diversi brick NXT ma come saprete programmarli con l’ambiente di sviluppo Lego ufficiale non è più possibile a meno che non si utilizzano altri ambienti di sviluppo su cui poter programmare questi mattoncini in C o in Python, ve ne parlerò in un prossimo post.
La bella notizia, per me, è che sia i motori che i sensori, ma anche i cavi del vecchio set NXT sono assolutamente compatibili con il brick EV3.
Non è però possibile collegare i nuovi sensori EV3 al mattoncino NXT.

Potrete collegare tutti i motori e i sensori LEGO NXT e NXT2 ufficiali di Lego al brick EV3.

Ad esempio, è possibile avere una configurazione con Touch Sensor NXT, un motore NXT e due motorie EV3, tutti collegati al brick EV3, così come mostrato nell’immagine e nel video che segue.

Per quanto riguarda la programmazione all’interno dell’ambiente di sviluppo ufficiale Lego nessun problema con motori e sensori NXT tutto funziona correttamente.

I due motori hanno circa le stesse dimensioni, però ad un esame più attento, i due motori richiedono procedure di montaggio diverse. Il motore NXT ha tutti i fori arrotondati, mentre i collegamenti del motore EV3 hanno fori arrotondati e trasversali. Il motore EV3 ha anche una fila aggiuntiva di tre fori vicino al connettore elettrico e ciò lo rende più versatile. I fori del motore EV3 sono molto più bassi e alcuni sono addirittura spostati su un lato.

Bene detto ciò, riapro le vecchie scatole e parto con il Coding su Lego.

Buon Making a tutti 🙂

Lego Mindstorms EV3

Il primo amore “robotico” non si scorda mai 🙂

Ero il lontano 2009 quando io ed alcuni colleghi organizzamo la prima RoboCup Junior a Torino Lingotto. I risultati didattici che vengono da quel periodo hanno mutato radicalmente, almeno per me, il modo di pensare e progettare la diattica, una bella esperienza per me e per i molti colleghi, sia della primaria che della secondaria, che hanno poi avuto negli anni successivi il coraggio e la forza di proseguire le attività di robotica educativa. Uno dei risultati più belli è stato l’utilizzo della laboratorietà ad ogni livello educativo ed in molte discipline. Come spesso ribadisco ai miei studenti: “fare, costruire e sperimentare per comprendere a pieno ed in modo divertente ciò che si studia” e la robotica in questo ha dato un notevole aiuto.

Il tutto ebbe inizio con i Lego Mindstorms NXT, con questo kit si incomincio a pensare anche ad un modo diverso di insegnare l’informatica,  realizzammo robot ma anche strumenti scientifici.

Nuove possibilità sono ora offerte dalla versione Lego Mindstorms EV3 la cui vendita in Italia parte in questi giorni.

Ev3

La nuova versione offre la possibilità di pilotare le proprie realizzaioni robotiche via smartphone e tablet (iOS e Android). Questo livello di interattivita è reso possibile dall’EV3 Intelligent Brick, un mattone grigio al cui  interno vi è una microcontrollore basato su chip ARM9 a 64MB di RAM con slot di espansione SD. La comunicazione con il mondo esterno avviene con porta USB 2.0 e connessione Bluetooth. Il tutto è governato da un sistema operativo LINUX.

Articoli Lego Mindstorms NXT2

Spostamento degli articoli relativi alle attività Lego Mindstorms NXT2 dalla side bar destra al fondo della pagina:

Interfacciare Arduino e Lego Mindstorms

Nuove possibilità per la realizzazione di progetti didattici sulla robotica.
Nelle curvature che si stanno delineando per l’Istituto Professionale è molto probabile che l’approccio agli apprendimenti di informatica e robotica, nei primi due anni di corso, avvenga con kit Lego Mindstorms NXT2 e nei successivi anni l’integrazione avverrà studiando in modo molto approfondito sistemi a microcontrollori per la progettazione di sistemi robotici e nello specifico Arduino, come già ho incominciato a fare in questo anno scolastico.
Il punto di unione, tecnico, che potrebbe rendere agevole il passaggio graduale da Lego ad Arduino si potrebbe realizzare, con l’interfaccia in via di sviluppo: NXShield per Arduino di mindsensors.com dotata di 4 porte per sensori NXT e diverse porte RC per i servomotori. NXShield può essre collegata ad Arduino Duemilanove o Uno o cloni Arduino.
La programmazione per l’NXShield potrà essere effettuata usando l’ambiente di programmazione di Arduino.
Inoltre interessantissime novità l’8 di luglio per quanto riguarda Android…