Interfacciare arduino con LEGO NXT

Buongiorno e buona domenica a tutti. Avrei la necessità di interfacciare un Arduino Uno o Duemilanove con un bricx LEGO della serie NXT. Ora vi spiego le mie necessità: Avrei bisogno di utilizzare un arduino per comandare una pinza robotica (e fino qui non ci sono problemi) però facendo in modo che il comando mi arrivi dal robot LEGO e che, terminato il movimento della pinza, Arduino mi mandi al LEGO un segnale in modo che il LEGO possa ritornare a quello che deve fare una volta che la pinza si è mossa. Tutto questo però avendo a disposizione soltanto un output motori del LEGO (x arduino invece non ci sono problemi. probabilmente dovrà gestire solo la pinza). Pensavo che il segnale da mandare da arduino verso il LEGO potrei mandarlo come se fosse un segnale dell'encoder dei motori lego. Inoltre dovrei tenere conto che i lego lavorano con tensioni non ttl, ma fino a 9V. Si aggiunge inoltre a complicare il tutto il fatto che dovrei cercare di non utilizzare delle shield se non quella x i motori o qualcosa di semplice saldato dal gruppo con cui sto facendo quesrto lavoro. Per di più dovrei cercare di tenere i costi al livello più basso possibile in quanto è una lavoro che sto facendo con la scuola e i soldi disponibili non sono molti...

Secondo voi è fattibile una cosa del genere? mi potete dare qualche consiglio su come potrei procedere? se mi sono espresso male scusatemi e se serve qualche spiegazione di più ditemelo e cercherò di spiegarmi meglio.

Grazie mille a tutti, Luca

Qua l'incognita è il modulo LEGO, occorre sapere più informazioni.... Come si può interfacciare con l'arduino? Usa la seriale? I2C? Ciao

beh giusto, scusate :)

allora x il LEGO io ho a disposizione soltanto un output digitale (con PWM) che, come dicevo, può leggere i dati dell'encoder del motore. su come utilizzarlo lo devo decidere io... Avrei a disposizione anche il bluetooth ma dà un sacco di problemi... altre possibilità di comunicazione non le ho...

ok, cio ho capito qualcosa di più! in uscita ho un segnale PWM che và da 0 a 9V [non è un problema interfacciarlo con arduino, abbiamo a disposizione dei regolatori di tensione o usiamo un partitore resistivo per portare la tensione a 5 V. x la parte SW in scrittura da LEGO e lettura da arduino non c'è problema]. Per la lettura dell'encoder probabilmente è invece utilizzato l'I2C come per gli altri sensori. ma non ho la più pallida idea di come funzioni l'encoder della lego e in più non conosco minimamente l'I2C...

Con queste notizie in più vi viene in mente qualche idea? Appena riesco a capire qualcosa di più comunque lo posto qui...

Grazie Luca

ma di questo coso della lego c'e' un manuale ? uno schema elettrico ?

ci avevo giocato un pò ma non ricordo molto.. avevo però trovato un moduletto che convertiva il segnale per far comunicare arduino e NXT, se non sbaglio. e cmq si, la comunicazione è un i2c, ma forse era un protocollo proprietario.. se ritrovo il modulo te lo posto. oppure per complicare un pò la cosa puoi provare ad usare il pc come 'server' tra arduino e l'NXT. uno via USB, l'altro con bluetooth! :)

trive.dyndns.org/tesi_web.pdf

ne parlano qui…

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1221664564/15

se ho capito l'idea sarebbe usare questo lego senza la sua centralina originale ?

si vende quindi solo la meccanica ? quanto costa ? perche' ho visto che il mindstorm costa 250€, ma credo sia completo di tutto

se non ricordo male sul sito puoi comprare i pezzi sfusi, quindi immagino anche i motori.

grazie a tutti. ora purtroppo ho poco tempo che vadio a sciare...quando torno guarderò un po' i link che avete postato.

Allora dab77, purtroppo non posso utilizzare il cumputer e, Testato, io ho necessità di utilizzare anche la centralina originale...

Vi spiego allora meglio il mio problema. Con un gruppo di amici con la scuola partecipiamo alla gara di robotica RomeCup junior nella categoria rescue. Purtroppo possiamo usare solo i LEGO, perchè solo quelli abbiamo a scuola e in più io sono l'unico del gruppo, oltre alla prof, che conosce arduino...

Il problema è che questi lego hanno soltanto 3 uscite motori. due sono dedicate al movimento. però abbiamo necessità di muovere una pinza con due motori...

non avendo possibilità di acquistare granchè quindi, con l'insegnante, abbiamo deciso di progettare questo sistema di lego+arduino (utilizzando l'arduino della prof...) in modo tale che arduino muova due 8o forse anche di più) motori con un solo comando dal lego...poi volendo arduino potrebbe anche essere utilizzato per la lettura qi qualche sensore in più, ma sarebbe una cosa secondaria e non problematica una volta capito come spedire i dati da arduino al lego "simulando" l'encoder del motore...

dovremmo utilizzare quante cose di recupero o che abbiamo già a scuola quindi...

secondo le regole della gara il robot può com unicare, come si vuole, all'interno della macchina, ma non con l'esterno...ecco perchè non posso usare il PC...

EDIT: si, si possono comprare anche i pezzi sfusi (forse non tutto ma sicuramente buona parte...) la meccanica non è fissa. te la assembli come vuoi tu...quindi puoi comprare il kit con tutti i pezzi. ma credo che costi tantissimo...

uno schema elettrico io non l'ho mai visto...un manuale invece si dovrebbe trovare, ma credo che lo abbia già guardato la mioa prof non trovando nulla di utile...

LucaGilardi: grazie a tutti. ora purtroppo ho poco tempo che vadio a sciare...

Oggi per sciare basta uscire di casa. :fearful:

Per gli interessati, ecco il sito di RomeCup: http://95.110.227.150/

ok, sono comunque riuscito a leggere i documenti che mi avete postato :)ùci ho capito qualcosa. Giovedì a scuola farò un po' di prove :) Grazie ancora a tutti!