sabato 9 ottobre 2010

gear calculations

Gear coupler
The red dot marks the position of your driver gear's axle. Select the position of your follower gear's axle to see the available gear combinations.

giovedì 15 aprile 2010

giocoliere cieco

Robot-giocoliere e la matematica che ci sta dietro:

video
articolo_pdf

il piatto ha una leggera curvatura che tiene la palla al centro

lunedì 14 dicembre 2009

compatibilita' firmware NXT1.0 e 2.0


Il NXT2.0 e' lo stesso mattoncino del NXT1.0.
Il SW pertanto e' compatibile.
John Hansen ha preparato il nuovo enhanced firmware per la nuova (in test-release) versione di Bricxcc.

L'archivio
test_release.zip contiene anche il firmware 1.28.

http://bricxcc.sourceforge.net/test_release.zip
http://bricxcc.sourceforge.net/lms_arm_nbcnxc.zip

lunedì 7 dicembre 2009

interfacciare una figura ad un programma

si tratta di usare l'editor di "ric" files.

l'esempio riguarda un voltmetro.

con questo e' possibile creare il file meter.ric incluso nel blocco Advanced Display Image Block di Steve Hassenplug


comunque tutto il sito di S.Hassenplug & Team e ricco di consigli e trucchi

martedì 6 ottobre 2009

giovedì 25 giugno 2009

nuovo firmware e labview

il toolkit labview 2.0 include il nuovo firmware 1.26

sabato 6 giugno 2009

risolutore cubo di rubik


istruzioni di montaggio (LDD) e software scaricabile (by Valter Padovan, che ha modificato il tiltedtwister di Hans Andersson (*), il quale si e' ispirato per gli algoritmi a Ortega/Jelinek)

NB: Padovan manca delle istruzioni d'uso del risolutore; esse si trovano da Andersson.

files zippati scaricabili qui:
http://digilander.libero.it/Valter_NXT/nxtrubik.html






links

la matematica del cubo di Rubik pdf1 e pdf2

lezioni di algebra

i 17 gruppi di simmetria del piano
lista

le 33 simmetrie del cubo di rubik

(*) istruzioni di montaggio pdf


programma per risolvere il cubo (utile per il programma tester che vuole il cubo risolto per calibrare): http://kociemba.org/cube.htm

mercoledì 6 maggio 2009

Nuova creazione di Benedettelli


Nuova creazione di Benedettelli: il ritrattista





Link che consiglia:
plotter




perlin

giovedì 1 gennaio 2009

macchina a stati e pseudo-interrupt

Un problema con NXT-G e' che non c'e' modo per un task (o sequenza) di fermare o interrompere un altro task (o sequenza) parallela. Un modo per affrontare il problema e' sfruttare il fatto che un blocco Move programmato su STOP interrompera' qualsiasi altro blocco Move che provi a controllare quello stesso motore.
B. Davis propone questo approccio.

Ci sono 2 loop che vanno in parallelo.
Il loop piu' in basso lavora sul sensore ultasonico. Se si avvicina troppo a qualcosa, la variabile testo "state" viene impostata ad un certo valore (ad esempio "fwd-1") e fa partire una data azione nella struttura a switch nel loop di sopra.

Davis mostra un esempio fra i diversi casi dello switch (la scelta di quale caso dipende da "state") quello corrispondente al valore "fwd-1). In questo caso la variabile viene impostata a "left-2" e i motori BC azionati in modo da avanzare per 2 rotazioni.
Dopodiche', al giro successivo del loop, il programma rientra nello switch nel caso "left-2" (che non e' illustrato ma presumibilmente fara' girare a sinistra...): qui la variabile state deve prendere il valore "fwd-3". Nel caso fwd-3 la variabile prendera' il valore left-4 e nel caso left-4 prendera' il valore iniziale "init" e mandera' percio' nel primo stato dove i motori andranno dritti indefinitamente.

Qui ci sono invece esempi di come affrontare i problema in altri linguaggi.

sabato 6 dicembre 2008

creare icone nuove per nxt-g

Tratto da qui.

Usando la funzione dei MyBlock in NXT-G, si possono costruire propri blocchi. Un passo del processo di costruzione (vediqui) consiste nello scegliere l'icona da associare al MyBlock appena costruito.
per farlo, si puo' scegliere fra un insieme di icone predefinite (che si possono anche combinare). Ad un certo punto pero' finiscono le possibilita' di combinazione oppure l'icona non rende l'idea, per cui conviene crearsene da soli.

Supponiamo di voler creare questa:



La prima cosa da fare e' creare la figura che deve essere in formato PNG 32x32 con sfondo trasparente (in modo da renderla combinabile con altre). Usare Paint.NET per crearla.

La figura va messa nella cartella
C:\Program Files\LEGO Software\LEGO MINDSTORMS NXT\engine\Icons\MyBlock



Poi si procede come da procedura standard: una volta creato il MyBlock, al momento di associare le icone, si vedra' anche la nuova figura.



Attenzione che LEGO visualizza le prime 72 icone in ordine alfabetico!!!!!!!!
Per cui occorre fare i furbi nel dare il nome alla figura PNG se la si vuole vedere nella lista.

Comunque per fortuna LEGO memorizza l'icona dentro il programma .rbt che contiene il MyBlock creato. Per cui se la porta dietro ed e' possibile editarla se il programma rbt rimane nel computer.
Se si copia il MyBlock su un altro computer, il PNG originale non e' piu' disponibile sulla nuova macchina e la figura non puo' essere modificata.

domenica 23 novembre 2008

XXX ItLUG LEGOfest a Crema









programma usato (tratto da NXTLOG 2.0)




martedì 28 ottobre 2008

XXX ItLUG LEGOfest a Crema, 22 e 23 novembre 2008

XXX ItLUG LEGOfest a Crema, 22 e 23 novembre 2008

anche quest'anno all'interno di Dadi.com, che si terra' (al solito) presso la sede universitaria, in via Bramante 65, Crema

link

venerdì 24 ottobre 2008

labview per NXT

Qui si trovano vis di Gasperi di esempio per spiegare come controllare nxt con labview.
In attesa dell'uscita del libro.

PS: il libro e' uscito ma non si riesce ad ordinare dall'Italia

recensione

capitolo di esempio

venerdì 14 marzo 2008

programmare giochi sullo schermo del NXT

tutorial preparato da Guy su nxtlog che spiega come programmare piccoli videogames in NXT-G

domenica 2 marzo 2008

TDA8444 i2c multiple dacs

interfaccia di Gasperi per avere 8 uscite analogiche a 6bit di cui una pilota un VCO.

schema elettrico












il blocco NXT-G che lo pilota e' scaricabile dal sito di Gasperi
qui c''e il suo approccio labview

blocco principale:



































(unica) subVi:
all'InvokeNode va passato (oltre alla porta) un array costituito da :
indirizzo
canale e
"potenza"
















espansione delle subvi implicite:

getstatus




















e settypeand mode: