Archivi tag: nxt

La rinascita del Lego Mindstorms NXT 2.0 – programmiamolo in C

Di recente ho scoperto che nella scuola presso cui lavoro sono presenti una serie di Lego Minstroms NXT 2 e come credo sappiate questa versione non può essere più programmata utilizzando l’ultima versione dall’IDE grafico di Lego, quello che attualmente viene utilizzato per per la versione EV3.
In questi giorni ho ripreso in mano la vecchia versione del mattoncino per capire come recuperarlo ed utilizzarlo in ambito didattico. In passati articoli su questo blog avevo segnalato tutti i possibili linguaggi di programmazione che possono essere utilizzati con tutte le versioni di Mindstorms, tra questi però prediligo il linguaggio C in quanto i miei allievi devono utilizzarlo in altri ambiti: microcontrollori, PIC ecc… quindi un primo passo potrebbe essere quello di imparare a programmare in C realizzando robot con l’NXT 2.

Premessa importante.

On-line trovate una serie di tutorial per usare il vecchio mattoncino, alcuni consigliano di utilizzare addirittura Windows XP su un vecchio PC o su PC virtualizzato, ovvimente io sconsiglio vivamente questa strategia soprattutto perchè da anni Microsoft non supporta più XP ed inoltre mina seriamente la sicurezza del computer (virus).

Prelevate dal link indicato di seguito l’ultima versione dell’NXT-G rilasciata dalla Lego al cui interno sarà già presente il driver corretto per il vostro sistema operativo Windows 10, driver che per altro sarà indispensabili per chi intende anche programmare in C il mattoncino. Nello stesso link trovate i riferimenti per gli utenti MacOS X.

Nel caso abbiate sul vostro computer una versione precedente dell’NXT-G non più funzionate potete procedere alla sola installazione del driver NXT Fantom Driver che risolve una serie di problemi di comunicazione, inoltre questo driver permetterà di sistemare tutti i problemi che si hanno con altri ambienti di sviluppo come: LejOS, RobotC, ecc…

Pagina di riferimento per il download

Windows 10

MacOSX

Veniamo ora all’ambiente di sviluppo in C.
Vi consiglio di utilizzare Bricx Command Center (BricxCC) ambiente Open Source adatto per tutte le versioni Mindstorms: RCX, NXT ed EV3. L’IDE di programmazione funziona per tutte le versioni di Window a 64 bit.

Nella pagina trovate il link “latest version” che NON dovete prendere in considerazione in quanto vi rimanda ad una serie di versioni NON compatibili con Windows 10.

SEGUITE invece il link test release, il nome è fuorviante, ma è quello giusto.

Dopo una serie di test ho verificato che la versione corretta è quella che fa riferimento al file: bricxcc_setup_33810_20130220.exe

E’ un file autoscompattante, all’interno ritroverete la seguente struttura:

Doppio click sul file BricxCC

Comparirà la finestra “Find Brick”

Queste le impostazioni:

Port: Automatic
Brick Type: NXT
Firmware: “Standard”

Nel caso abbiate la necessità di caricare l’ultima versione del Firmware sul mattoncino potete procedere in due modi:

Modo 1 (consigliato): utilizzate NXT-G ed aggiornate il firmware

Modo 2: da BricxCC, menù Tools > Download Firmware selezionate l’ultima versione che trovate nella cartella BricxCC: lms_arm_nbcnxc_132.rfw

Per quanto riguarda le impostazioni dell’ambiente BricxCC dal menù: Edit > Preferences…

Queste le impostazioni del pannello: Compiler > NBC/NXC

Bene! Il vostro vecchio mattoncino NXT 2 è rinato 🙂 pronto per realizzare tutti i robot che desiderate.

Buon Coding a tutti 🙂

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 🙂

Programmare in C sul Lego Mindstorms NXT EV3

ev3-C

Ricevo e volentieri pubblico la mail che mi è giunta da una studentessa che mi chiede informazioni in merito alla programmazione in C su Lego Mindstorms NXT EV3.

Salve, mi chiamo Anna e frequento la 4IT presso l’Istituto Negrelli-Forcellini di Feltre (BL).

Stiamo iniziando un progetto di robotica con lo scopo di programmare il robot della Lego. Abbiamo già installato l’ambiente di sviluppo del robot compreso nella confezione. La mia domanda è: si può programmare in C anziché con il suo proprio ambiente di sviluppo? Se si, come devo fare?

Grazie per la disponibilità, buona giornata.

Sì è possibile questi alcuni riferimenti:

Ti suggerisco inoltre di sperimentare la versione in via di sviluppo JAsVAp di Steven Persyn, autore del famoso sito: thenxtstep su cui potrai trovare numerosissime risorse che potranno esserti utili per la costruzione dei tuoi robot.
Ho avuto modo di sperimentare questo IDE è lo trovo estremamente interessante.

Questo il post di riferimento: Programming EV3 in ANSI C

Steven Persyn scrive:

“Ever wanted to have a simple way for programming your Lego EV3 in it’s native programming language ANSI C? Well now it is possible! I have made an IDE application for it.

Your code will be running super fast as it is compiled to run directly on your CPU and not for an intermediat virtual machine!!!

And the best thing I want to share it with everybody for FREE. You can download it at my temporary website or on my onedrive.

A first version of documentation is included in the program it self ( README.txt ), but it may not be sufficient enough for everbody. When I find some more time I will create some more example project.

Some important features:
No need for a firmware upgrade!!! So an EV3 out of the box will do.
Your program can be executed from original Lego EV3 menu on your device!
You can setup a Telnet connection ( wifi connection – linux remote terminal ) and start your application in the terminal and even see println outputs!!! ( very handy for debugging )
Compile errors will be put in an output window to help you direct you to the line where the error occured!
Search with replace possibilities, for easy renaming and more
One click compile, download and run your application!

Buon Lavoro.

Le slide del corso: Insegnare a progettare il proprio apprendimento

Oggi dalle ore 15 alle ore 17 sarò presso L’unità territoriale di servizi professionali per i docenti Necessità Educative Speciali di Torino, presso l’ITSSE “Carlo Levi – Vera e Libera Arduino”, presso la sede “Vera e Libera Arduino”.

Sarò relatore del corso:

Insegnare a progettare il proprio apprendimento. Migliorare le competenze matematiche e logiche degli allievi con la programmazione (workshop in laboratorio)

La seguente presentazione nasce dal mio contributo al “69° carnevale della matematica” con tema: “Macchine matematiche antiche e moderne” e si sviluppa con ulteriori contributi.

Il mio intervento si è concentrato su esempi pratici, sperimentati durante le mie lezioni, in cui espongo suggerimenti ed idee su come insegnare ai bambini e agli adolescenti a programmare questa “macchina matematica” (il computer), in modo che possano da grandi imparare a programmare “macchine matematiche” più complesse.

Il metodo adottato per lo svolgimento delle lezioni è assolutamente sperimentale, e queste slide condurranno il lettore a provare alcuni software e giochi di facile utilizzo che potrebbero essere utilizzati in un percorso di informatica nella scuola elementare e media e nel biennio della scuola superiore.

Le slide del corso:

Robotica e Problem Posing&Solving per l’insegnamento della matematica

Presentazione e slide del seminario che si svolgerà domani 4 aprile presso la sede dell’I.I.S. “Galiei Ferrari” di Via Gaidano 126 di Torino, parlerò di didattica della robotica, questo l’argomento:

Attività laboratoriali finalizzate all’insegnamento della matematica e della geometria tramite l’utilizzo della robotica come strumento di nuova didattica destinate ai docenti del primo biennio delle Scuole secondarie di secondo grado del Piemonte.

L’iniziativa è dedicati agli insegnanti di matematica, informatica e materie scientifiche delle scuole secondarie di secondo grado della Provincia di Torino promosso dal MIUR, Direzione Generale per gli Ordinamenti Scolastici e per l’Autonomia Scolastica nel quadro dell’azione “Innovazione didattica in matematica: PP&S su piattaforma e-learning in ambiente di calcolo evoluto”.

[ circolare ]

L’attività sarà assolutamente pratica all’insegna della sperimentazione. Durante le quattro ore di seminario proporrò una breve attività di costruzione robotica con Lego Mindstorms NXT 2 simile a quanto già svolto in passato con gli allievi del biennio della scuola superiore in cui bisognerà svolgere una serie di sperimentazioni ed esercizi.

Presentazione:

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.