martedì 6 ottobre 2009

PID con NXT-G

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




video

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ì 13 maggio 2009

come inserire la dentata da 24 poli nel ruotone

tratto da MinstormsWorld

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.